我有一个条形码扫描仪,它通过RS232与1756-L75 ControlLogix PLC通信。
来自扫描仪的数据逐字节读取,并以字符形式存储在SINT
数组中。它包括标题和条形码数据。条形码数据的长度是可变的。
我需要将此字符数组转换为适当的STRING
数据类型。
我知道我可以将数组复制到字符串的数据部分,但是我正在寻找填充长度的最佳方法。
是否有内置指令可以自动执行此操作,或者我需要计算它?
我当前(未试用)的解决方案如下。
我假设在读取数据之前清除了字符数组和字符串。
FSC
(文件搜索和比较)。.LEN
。这样可以确保指令将搜索到数组的末尾。 FSC
将报告其找到的元素的索引。这等于实际数据的length。 char -> 'd' 'a' 't' 'a' $00 $00
index -> 0 1 2 3 4 5
^
.POS = 4
FSC
结果(.POS
)移到字符串的.LEN
中>FSC
以准备下一个条形码。请注意,删除这些指令之前的逻辑是为了减少混乱,因此假定仅在读取条形码后才执行一次扫描。如果条形码数据可能会完全填充字符数组,那么您可能还需要其他逻辑。