我最近遇到了一个令人沮丧的问题:一旦bExecute打开,Modbus连接就会抛出bError 4。无法读取任何变量,错误一直持续到重新启动。之前正在进行的项目在周末停止了工作。
我可能在PLC内部摆弄,主要卸载了几个库,但从逻辑上讲,我认为应该没有什么问题,我根本没做什么。我仍然有可能在周五犯了错误,直到周末过后才注意到。
关于故障排除:
- 重新启动两台机器
- 状态机很好。甚至制作了一个精简的项目,只有一个输入和输出,以前工作的是极简主义状态机
- 在PC和PLC中重新安装Modbus库
- 几周后,Git将代码恢复到我100%知道它有效的时候
- PLC可在1ms内ping PC
- 商店里有一个旧项目,包括";原始的";库
- 再次重新启动
- 我仍然可以删除PLC操作系统并重新开始,但让我们暂时保存它
";这就是一个凡人所能做的;我想了想,然后给贝克霍夫发了一封信。
让我们向Beckhoff支持部门发送一封邮件。故障排除随之而来:
- 进一步精简程序,因此只有FB_MBRadInputs保留,bExecute可以手动打开或关闭。
- 同时只运行MBReadInputs和MBWriteCoils
- b无论剥离或运行了多少,错误4问题仍然存在
- 在PC上本地运行相同的项目也很好。输入可以被读取,输出位可以被写入
最终,闪烁的新图像最终成为了解决方案。这个问题还在处理中,所以实际问题还没有解决。
更新:东西正常工作。某些宇宙射线一定正好击中了SD卡,所以在周末,事情出现了问题。
Beckhoff图像回购在我的情况下:https://download.beckhoff.com/download/software/embPC-Control/CX90xx/CX9020/CE/TC3
就是这样,当面临更大的问题时,最终清除SD卡是一件非常基本的事情,但我只想为任何像我一样在Modbus和Twincat中挣扎的人完成所有的故障排除步骤和最终结果。
我刚刚在CX8180上遇到了同样的问题。就我而言,在我之前上传了一些程序。我已经激活我的配置并运行PLC-获取bError 4。TwinCAT错误代码列表显示,这是ADS邮箱和太多ADS调用造成的。我的程序在其他地方的相同硬件上运行良好。重新启动原点并激活配置不起作用。
我需要登录CeRHost并重新启动PLC。在那之后,沟通就像一种魅力。问题是以前的modbus通信。