用的S7-200的PLC连接扫描枪读码,遇到了一个问题。
正常的话被扫的码应该是17位的,第一次用自由口通讯,参考网上各位提供的程序,将SMB94定义为17,数据存储于VB200开始的区域。
问题来了,在应该被扫的码旁边还有其他位的的码8位、10位、16位,不注意的情况下可能扫到其他的码。正常扫17位码的话,可以将17位放到VB201到VB217里,每次都是17位的话可以正常使用。但是如果不小心扫到10位的码,会放在VB201到VB210,再扫17位码的话是无法将数据放在VB201开始的区域,只能再扫一次才可以。
大体上明白应该是17位里不满挨着放,超了溢出重新排。
于是想通过程序控制,不想太麻烦,试了一下用程序判断不是17位码就将VB200到VB220置零,貌似不行,扫过10位码之后即便置零还是需要再扫两次17位才能正常放在VB201到VB217。
请教一下,单纯的置零是不是不行?是否有什么命令可以在我判断出扫的码位数不对时可以将自由口复位?或者还有其他方法能够实现要求?