我有一个可以工作的C项目,它使用API与本地或远程TwinCAT 3系统进行通信(在线示例也工作得很好)。
但是,我们现在正在尝试将程序部署到另一台只安装了TwinCAT ADS的机器上(正如这里在“只安装TwinCAT 3 ADS”一节中解释的那样)。我们在这两台机器上都增加了路线。为了简化测试,我们甚至在ADS机器和运行时机器上完全禁用了防火墙。但我仍然无法将数据返回到应用程序。
我从广告中得到的错误是10051,这基本上是一个Winsock误差。
网络是无法到达的。尝试对不可访问的网络进行套接字操作。这通常意味着本地软件不知道到达远程主机的路线。
不过,我很肯定这些路线是有效的。它们是通过广播搜索添加的,我在Wireshark中可以看到,这两个系统都在不断地交换广告读/写请求(如果我删除任何一台PC上的路由,交换就停止了)。
一个细节是,只有广告的系统没有启动模式,也就是说,我不能将它放到“启动”状态,虽然这可能是正常的,因为没有运行时?
我的问题是:
发布于 2019-04-03 14:24:45
我可以正确地回答其中的一部分--不,广告系统不需要(也不可能)运行。
您确定连接是从两端进行的吗?有时,一台服务器将注册连接,而另一台服务器则不会。
另一件要检查的事情是,您是否在具有相同IP或ADS地址的ADS路由列表中有其他条目(我想您的开发PLC可能有多个条目)。我以前见过这种情况,必须先删除冲突条目,然后才能工作。
https://stackoverflow.com/questions/55374944
复制相似问题