经常有师傅遇到这样的问题:怎么我的触摸屏和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的参数是多少,工程里设置的参数是否和测试出来的一致。
2、在线模拟:用我们的组态软件,用PLC本身的通讯电缆和电脑相连接,在线模拟看看工程是否通讯的上。可以用个数值输入部件或是开关,对其操作,看看关掉模拟器之后再开在线模拟后之前的操作是否还在,是否直接提示NC。(NC和之前操作没有写下去即为没有通上)
测试线:
用万用表按照接线图的引脚定义测试接线。
一、触摸屏的参数;查看一下触摸屏的参数设置。
这里面有几个参数需要特别注意的:
1、通信口的设置——一定要确认清楚PLC连接触摸屏的COM1口还是COM2口
2、设备类型——这个是重要的,如果协议没选对的话,其他就不用说了
3、连接方式——PLC跟触摸屏的连线,确认好是RS485,还是RS232C
4、接口参数跟PLC站号——一定要跟PLC里面的设置一致。
二、如果参数确认设置好了,接下来就排查线路的问题。
确认RS485,RS232C的走线是否正确,触摸屏与各种PLC接线的做法不一样。这个可以参照维控(PLC与触摸屏通信线接法帮助文档)查看,这个是正常排查通信问题的基本方法。
接下来教大家如何绕开触摸屏的问题——在线模拟。在通讯不上的时候,有的客户会猜测可能是触摸屏的问题,或者接口的问题。在线模拟就是绕开触摸屏,直接用PLC跟电脑进行连接。
具体的做法:
1、PLC跟电脑要通过RS232进行连接。有的PLC有RS232的接口,有的没有,没有的可以通过转接头接到电脑上。
2、新建一个简单的工程。放两个元器件,一个数值显示,一个数值输入。地址设置PLC里面的地址。
3、工程参数设置一定要跟PLC里面的设置一样。
4、点击在线模拟功能
这样子做就可以很明显查看PLC能不能跟PC通信上。如果可以通信上就可以排除PLC方面的问题,跟参数设置的问题。