S7-1200或1500如何通过TCP接收扫码枪数据
S7-1200/1500如何通过TCP/IP接收扫码枪数据,通信组态,指令编程。
PLC作为客户端,只负责接收数据,不负责发送数据;在这种情况下只需要在PLC编程就可以了。
步骤1
在通信指令—–开放式用户通信【这里主要是做TCP通信的】——–TRCV_C【这个指令就含有建立连接和接收数据】
注:TRCV_C与TRCV的区别,其中TRCV_C是有连接的含义;因为TCP/IP通信是首先连接之后才能收和发数据。

点击小房子图标进行组态,伙伴选择"未指定",连接数据里面新建一个TCPIP通信的数据块,此时系统会自动的为我们新建一个DB块,并且关联在connect的管角上;连接类型选择TCP,连接ID只要和PLC的其它通讯的ID不重复就可以了。

新建一个10字节的byte数组,也就是扫码枪那边发过来的数据,一次不能超过10个字节,这样编程组态就完成了。将程序下载到PLC进行测试。

进行在线测试,可以发现已经成功建立通讯了。

如果出现接收扫码枪数据出现错位或者没有输出,或多次扫码后才会出现,而且出现也是乱码或错误,此时只要修改TRCV_C指令的ADHOC引脚,将由原来的false改为true即可。这个功能叫动态接收,就是扫码过来多少数据就接收多少数据。

