扫描枪作为光学、机械、电子、软件应用等技术紧密结合的高科技产品,是继键盘和鼠标之后的第三代主要的电脑输入设备。随着产品种类的丰富以及生产信息管理、物流管理的信息化的要求,众多产品生产厂家需要对每个产品加贴条形码标识。而如何正确识别这些不同产品,就成了能否胜利实现生产信息管理、物流信息管理的关健所在。(可跳过不看)
工业控制现场,PLC和扫描枪屡见不鲜,不要认为PLC和扫描枪通讯有多么难。本文会告诉你,其实一切都很简单。
本例所用设备:一台海为C10S0T主机(任意型号都行)+带串口扫描枪(232 485皆可某宝可选购)
PLC通讯指令:COMM或者RCV
程序和介绍:
一条RCV指令即可
此时我去扫描一个条形码
程序监控下,元件状态表,并且用字符的方式查看,可以看到数值:
好的,此时我们要的条形码数据就读回来了。其他的比如要做字符比较、计数、存储。用PLC响应的指令即可。
附件是程序和操作视频以及文档。需要的朋友可以下载看看。
楼主最近还看过
回复内容:
对: YSH20006 谢谢你的解答! 既然RCV数据接收功能如此强大,那请教... 内容的回复!
PLC做主站的,跟变频器仪表以及其他PLC从站通讯的,果断用MODR或者MODW。如果仪表是自由协议的,那就用COMM指令。
海为通讯有个优点就是:一个通讯口可以同时走不同波特率不同协议不同资料格式,所以PLC做主站那就用MODR MODW COMM吧!
RCV一般用来接收上位机发来的数据,变长度接收,或者接收一些连续只发送数据的仪表,这时候考虑用RCV指令即可。
而且RCV接收到的数据需要给上位机回复的可以用XMT指令。
以上,回答的不好,请大家一起补充。
回复内容:
对: xiefeng01 刚好需要,有个问题想请教一下楼主,PLC扫码是如何进行... 内容的回复!
扫描枪那变发出来的是字符,比如你扫一个编号89757,那么那就会按照38 39 37 35 37这样发送出来,PLC用COMM或者用RCV都可以接收这个数据。接收到的就存在RXD为起始的寄存器中,比如
... V2 V1 V0
...0x0037 0x3537 0x3938
接收到的第一个字符放在V0的低字节,接收到的第二个放在V0的高字节然后依次类推就可以了
如果你触摸屏上要显示这些字符,你只要用字符显示控件或者图元就可以了,设值一个起始寄存器V0,再设置一个显示长度即可
如果你是要把字符转成10进制数,那海为PLC里面也有专门的字符转整数的指令CTOI
以上回复,希望对你能有所帮助。