接到公司一个项目,用扫描枪提取条形码,用提取到的数值(11个字节,也就是11个16进制的数)与750个机型作比较(每个机型也是11个字符构成的),有相同则指示灯点亮。(公司CPU等硬件买来了,所以没有办法改变硬件。而且750个机型代码没有规律,杂乱无章)
本人第一次做这样的项目,思路是:把扫描枪提取到的字节用HTA指令(16进制转为ASCII)转为字符串。在数据块中定义每一个机型所对应的11个字符的初始值,也就是需要750*11=8250个VB,在程序中通过HTA转成750个字符串。在通过 字符串比较指令来确定指示灯的输出。
但这样做太累太繁琐了,也不知道CPU会不会因扫描周期太长而停机(CPU226 CN)。请教高手们有没有比较简洁的办法或者更好的思路啊?
谢谢
最佳答案
用间接寻址来实现。
参见:在 S7-200中如何对于一个项目实例进行间接域寻址(含视频)
http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=2661&loginID=&srno=&sendtime=
把例子先看明白,这是简单的方法,然后再根据你的实际需要去增加修改。
提问者对于答案的评价:
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc220719.html