经常有师傅遇到这样的问题:怎么我的触摸屏和PLC通讯不上? 比方说下面遇到的两个问题: 1、威纶通触摸屏和西门子PLC通讯不上,老是提示PLC没反应,该怎么设置呢? 解决思路:你设置同样的波特率,同样的位数,同样的停止位,站号不能相同,就是说plc和触摸屏地址不能相同,然后确定通讯线是否正常…… 2、如何通过程序判断触摸屏与PLC通讯出现故障? 解决思路:通常方法是用心跳检测,定义一个bool,HMI固定频率将该点置位,PLC收到该点为ON信号后将其复位。若在一段时间内,比如5s内没有收到该点为ON的信号,则认为通讯中断。PLC把memory clock字节传到屏上,屏用脚本把这个字节的值赋值给另外的一个PLC内的地址,然后plc内判断返回的字节两个扫描周期是否一样,如果一样说明通讯中断。 举个例子,请看图,步骤如下: 1、在PLC里建立DB1数据块,里面设两个开关量“PLC秒开关”和“人机响应开关”; 2、人机变量中连接这两个变量; 3、在人机“PLC秒开关”变量的属性----事件----数值变更中添加“取反位”,让“人机响应开关”变量随着“PLC秒开关”变化而变化; 4、在PLC程序块中编程,让“PLC秒开关”每0.5秒反转,再用TON延时指令让“人机响应开关”1秒内没有动作就输出 人机通信失败,因为人机通信异常后“人机响应开关”将不再会发生变化。 好办法,拿走不谢哟~ 其实,市场上任何触摸屏与PLC通讯不上不外乎要确认四个问题: (1)plc参数和工程里的是否一致; (2)通讯线是否按照接线图的引脚接线; (3)工程里设置的com口在屏上接的时候是否正确; (4)参数和线确认OK,的情况下,看看是不是plc程序或是plc的地址问题。 1先判断参数 用PLC的编程软件接上PLC测试看看PLC的参数是多少,工程里设置的参数是否和测试出来的一致。这里面有几个参数需要特别注意的: (1)通信口的设置:要确认清楚PLC连接触摸屏的COM1口还是COM2口; (2)设备类型:这个是最重要的,如果协议没选对的话,其他就不用说了; (3)连接方式:PLC跟触摸屏的连线,确认好是RS485,还是RS232C; (4)接口参数跟PLC站号:一定要跟PLC里面的设置一致。 2在线模拟 用我们的组态软件,用PLC本身的通讯电缆和电脑相连接,在线模拟看看工程是否通讯的上。可以用个数值输入部件或是开关,对其操作,看看关掉模拟器之后再开在线模拟后之前的操作是否还在,是否直接提示NC。(NC和之前操作没有写下去即为没有通上)具体的做法: (1)PLC跟电脑要通过RS232进行连接。有的PLC有RS232的接口,有的没有,没有的可以通过转接头接到电脑上。 (2)新建一个简单的工程。放两个元器件,一个数值显示,一个数值输入。地址设置PLC里面的地址。 (3)工程参数设置一定要跟PLC里面的设置一样。 (4)点击在线模拟功能 这样子做就可以很明显查看PLC能不能跟PC通信上。如果可以通信上就可以排除PLC方面的问题,跟参数设置的问题。 3测试线 用万用表按照接线图的引脚定义测试接线。确认RS485,RS232C的做线是否正确,触摸屏与各种PLC接线的做法不一样。这个可以参照手册查看,这个是正常排查通信问题的基本方法。 来源/网络,侵删