对于我的工作,我目前正在研究与 Beckhoff PLC 通信的现有系统 (C++)。该 PLC 读取过程的当前速度并控制灯。
该程序需要更新才能使用新的厚度测量。这种新测量的代码有效,我们在另一台计算机上对其进行了测试。
问题是 Beckhoff 和计算机之间的通信不再起作用。当我们重建(一部分)程序时,这个问题就开始了。为了检查出了什么问题,我们使用了wireshark来检查通信。
在下图中,您可以看到与 Beckhoff PLC(使用 Ethercat)的正确通信。
在这张图中,您可以看到我们构建新程序后的通信。
当然,我们测试了很多选项来消除这个问题,但目前我们想不出任何其他方法来恢复通信。
我们尝试过的事情:
- 编译旧代码,看看通信是否仍然有效。这行不通。只有原始的 .exe 文件有效。
- 返回几个版本以测试通信。这也行不通。
- 我们检查 Beckhoff PLC 的硬件配置和 MAC 地址。这都是正确的。
如果有人知道这个问题的解决方案,那就太好了。请不要犹豫,提出问题以获取有关该问题的更多信息。