前段时间公司让我完成一个使用PLC获取二维码的项目,调试了一段时间,最终完成了,在此和大家分享一些经验,不喜轻拍。
主要涉及的对象是PLC和一个二维码扫描枪,PLC老板让我用上电科PLC,性价比蛮高的,通信可选项比较多,自由口,PC-LINK和Modbus主从站,方便和二维码扫描枪通信,二维码扫描枪是客户提供的,牌子没看,就丢了一份通信协议说明书,软件工具用了串口助手和上电科的VX-PRO编程软件,中文的方便易用,不像施耐德的那么折腾人。
工具啥的都准备好了接下来就是开始调试了,翻阅了客户给的二维码扫描枪通讯协议,也没有细看,基本就是握手协议,连接后PLC发送连接信息,扫描枪回复,PLC确认后再接着发送读取二维码扫描数据的命令,通讯协议非标准,是厂商自定的,这让我有点担心,还好上电科PLC具有自由口通信功能,且支持空闲时间,难点是如何使用PLC指令实现二维码扫描枪主站通信协议。
第一次使用上电科PLC,翻了一下他们的说明书,感觉还是挺方便的,基本使用MOV指令集和自由口发送指令和一些判断指令,开始编程,一边编程一边调试,大概花了半天时间吧,代码量数十行左右,应用程序执行效率还是挺高的,由于上电科PLC的速度挺快,虽然自由口的处理不是握手协议,但是可以快速反应,防止了扫描枪对主站误判超时。
编程完毕后试了一下,可以连续读取,并且通过掉电保持功能还可以将数据保持。总结了一下自由口用起来还是挺方便的,对于实时性要求不是太高的非标准通讯协议,完全可以使用自由口实现,同时空闲时间可以用来判断接收的结束和开始。