1.应用的基本信息
1.1 基本应用信息描述(您所经历过的现场或案例,描述设备运行的异常情况,语言简要、故障要点突出,现象表达清楚,涉及具体设备的版本信息,网络规模,主要产品列表等)
我在项目中应用的Siemens 1217 PLC V4.2 , 通过CM1241模块接收电路板发过来的串口消息,电路板负责将所接的光电信号转成串口消息,电路板5ms向外发一次数据,PLC程序周期5-8ms,遇到的问题:使用过程中,PLC接收到串口发过来的光电信号明显延迟。
2.故障的检测和解决
2.1 故障或问题分析(根据故障或问题,进行分析,从而提出潜在的一些解决方案用于解决该问题)
导致信号延迟的原因可能有
(1):电路板输出和光电信号直接的延迟;
(2):PLC程序周期的影响,周期越长,延迟越大;
(3):PLC设定通信循环负荷的影响;
(4):串口模块缓冲区内接收的帧。
2.2 故障或问题处理(根据分析各种导致故障的可能性,逐步排查,描述您解决此问题的操作步骤,最终确认原因,排查过程有条理,思路清晰)
根据2.1中分析,逐一分析排查。
测试工具:逻辑分析仪;
3.实践联系理论
程序周期短时,系统处理串口消息比较快,延时较小。当程序周期较长时,系统优先处理计算部分,通信部分优先级靠后,导致缓冲区内缓存较多,系统空闲时处理的串口消息并非当前接收的帧,导致实际看到的延迟效果。将缓冲区内接收的帧减少,系统空闲时尽量处理当前实时消息,减少延迟。
4.经验总结
4.1遗留的问题(故障排查后,是否对故障或者解决问题的方式仍然有些疑问或者不理解的地方)
串口缓冲区内接收帧的处理逻辑有疑问,由通信引起的负载参数如何影响程序执行。
4.2 改进方法(解决问题后,根据原因结果,针对故障现象可以采取的预防措施,技术要点等。可以提出更好的解决方式或建议)
遇到类似使用情况时,注意缓冲内接收的帧设置。