电工学习网

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

西门子PLC通信之TCP服务器+多客户机

[复制链接]
跳转到指定楼层
楼主
发表于 2020-5-29 21:54:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1.应用的基本信息
1.1基本应用信息描述(您所经历过的现场或案例,描述设备运行的异常情况,语言简要、故障要点突出,现象表达清楚,涉及具体设备的版本信息,网络规模,主要产品列表等)
     主要使用S7-1214CDC/DC/DC。通信对象PC端的TCP助手。
     通信要求:
     1、plc端建立TCP服务器IP为192.168.0.10    端口号2000    ID:1
           采用定长接收(ADHOC=0)   接收区域P#I10.0 BYTE 4
     2、PC端创建3个TCP_client   PC的IP为192.168.0.101   网线直连,没有其他任何设备并入网络
     3、3个TCP客户端分别在任意时刻发送不同的数据,但数据长度都为4个字节。
        例如客户机1发送:16#22 0A 01 01
               客户机2发送:16#22 0A 02 03
               客户机3发送:16#22 0A 03 03
    4、每个客户端发送数据的间隔时间可能是100ms。(100ms以内可能3个都在发送数据)
    5、PLC中单独创建一个块采用POKE指令,对客户机发送过来的数据分别进行处理
    6、目的:通过客户机发送的数据,向不同的数据区域进行写值。
    POKE指令如图所示:
    西门子PLC通信之TCP服务器+多客户机

          西门子PLC通信之TCP服务器+多客户机
2.故障的检测和解决
2.1 故障或问题分析(根据故障或问题,进行分析,从而提出潜在的一些解决方案用于解决该问题)
      例如,根据发生的故障或者问题的现象,分析可能由于某些原因导致,例如编程,操作,网络负荷等等
     难点:
    1、由于TCPIP的粘包现象,导致客户机发送过来的数据,PLC端不能及时给出响应。
2.2故障或问题处理(根据分析各种导致故障的可能性,逐步排查,描述您解决此问题的操作步骤,最终确认原因,排查过程有条理,思路清晰)
     例如,可能由于编程所导致的通信中断,那么解决步骤是在线查看功能块出现的故障代码,查看手册,修改程序等等。
     1、为了解决粘包现象导致的数据响应过慢,将TCP通信改为UDP通信。
     发现的新问题:
     1、一个UDP接收其余三个UDP的数据。当三个UDP并发数据时,堵包现象,导致PLC接收到的信息不及时。
     2、解决方式,对于每个发送端的UDP分别创建一个接收端,即3组UDP通信(1对1)
3.实践联系理论
    根据原因分析结果,是否可以用到所学习的相关的通信的概念和理论,例如时间片或CCP,有哪些,如何关联在一起,展示原理依据和分析过程
    1、由于上位机不采用触摸屏,WINCC等专业的软件,而是采用第三方(自己公司开发的),也没有对应的opc
    2、所以通信起来要比较麻烦一些。(工作中传输信息的速度可能要求很快,响应时间必须控制在100ms以内)
    3、为了做一个标准的通信(方便以后直接使用).目前效果还算可以。
4.经验总结
4.1遗留的问题(故障排查后,是否对故障或者解决问题的方式仍然有些疑问或者不理解的地方)
     遗留问题:
     1、由于创建了多个通信通道,导致PLC的扫描周期加长了3ms左右
4.2改进方法(解决问题后,根据原因结果,针对故障现象可以采取的预防措施,技术要点等。可以提出更好的解决方式或建议)
      无
来源:西门子工业技术论坛

回复

使用道具 举报

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

本版积分规则

电工学习网 ( )

GMT+8, 2024-4-19 16:36

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

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

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

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