如何在Studio 5000 Logix Designer梯形图逻辑中将字符数组转换为字符串

问题描述 投票:0回答:1

我有一个条形码扫描仪,它通过RS232与1756-L75 ControlLogix PLC通信。

来自扫描仪的数据逐字节读取,并以字符形式存储在SINT数组中。它包括标题和条形码数据。条形码数据的长度是可变的。

我需要将此字符数组转换为适当的STRING数据类型。

我知道我可以将数组复制到字符串的数据部分,但是我正在寻找填充长度的最佳方法。

是否有内置指令可以自动执行此操作,或者我需要计算它?

plc ladder-logic
1个回答
0
投票

我当前(未试用)的解决方案如下。

我假设在读取数据之前清除了字符数组和字符串。

  1. 执行FSC(文件搜索和比较)。
    • 这里,我用字符数组的大小填充了.LEN。这样可以确保指令将搜索到数组的末尾。
    • 搜索仍然为空的第一个元素
    • FSC将报告其找到的元素的索引。这等于实际数据的length
 char  -> 'd' 'a' 't' 'a' $00 $00
 index ->  0   1   2   3   4   5
                           ^
.POS = 4
  1. FSC结果(.POS)移到字符串的.LEN中>
  2. 将字符复制到字符串数据中
  3. 根据数据执行所需的操作,然后清除字符数组,清除字符串,然后重置FSC以准备下一个条形码。
  4. screenshot of ladder logic

请注意,删除这些指令之前的逻辑是为了减少混乱,因此假定仅在读取条形码后才执行一次扫描。如果条形码数据可能会完全填充字符数组,那么您可能还需要其他逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.