电工学习网

 找回密码
 立即注册
查看: 3764|回复: 0
打印 上一主题 下一主题

西门子PLC通信之串口数据接收延迟的解决过程

[复制链接]
跳转到指定楼层
楼主
发表于 2020-5-29 21:52:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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中分析,逐一分析排查。
       测试工具:逻辑分析仪;
          西门子PLC通信之串口数据接收延迟的解决过程
          西门子PLC通信之串口数据接收延迟的解决过程
          西门子PLC通信之串口数据接收延迟的解决过程
          西门子PLC通信之串口数据接收延迟的解决过程
3.实践联系理论
          西门子PLC通信之串口数据接收延迟的解决过程
      程序周期短时,系统处理串口消息比较快,延时较小。当程序周期较长时,系统优先处理计算部分,通信部分优先级靠后,导致缓冲区内缓存较多,系统空闲时处理的串口消息并非当前接收的帧,导致实际看到的延迟效果。将缓冲区内接收的帧减少,系统空闲时尽量处理当前实时消息,减少延迟。
4.经验总结
4.1遗留的问题(故障排查后,是否对故障或者解决问题的方式仍然有些疑问或者不理解的地方)
     串口缓冲区内接收帧的处理逻辑有疑问,由通信引起的负载参数如何影响程序执行。
4.2 改进方法(解决问题后,根据原因结果,针对故障现象可以采取的预防措施,技术要点等。可以提出更好的解决方式或建议)
      遇到类似使用情况时,注意缓冲内接收的帧设置。
来源:西门子工业技术论坛

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-26 21:28

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表