7.9.10 CHAR或BYTE的数组转换为字符串
功能
将CHAR或BYTE的数组转换为字符串
LD图形
参数说明
接口变量 | 声明 | 数据类型 | 说明 |
---|---|---|---|
SOURCE_CHARS | Input | Array of CHAR Array of BYTE | 复制操作的源数组变量 用户实例输入只能是 Array of CHAR / Array of BYTE 的变量 |
POS | Input | DINT | 源数组SOURCE_CHARS相对下标位置,从该位置处开始复制字符 POS参数将从0开始计算,对应数组的起始下标位置 |
CNT | Input | DINT | 要复制的字符数。使用值“0”将复制SOURCE数组的从POS开始的所有字符 长度如果超过STRING变量的长度,将被截断取值 |
DEST_STRING | Output | STRING | 复制操作的目标字符串。遵守STRING数据类型的最大长度:254个字符 |
函数名称 | 返回值 | INT | 错误信息 |
说明
-
该指令可将从SOURCE_CHARS数组中的字符串复制到数据类型为 STRING 的DEST_STRING字符串中
-
原则上DEST_STRING字符串中的字符数量至少与源域SOURCE_CHARS中复制的字符数量相同
-
如果DEST_STRING实参的字符串长度小于源域中的字符个数,则将在字符串中写入最大长度的字符数
-
如果POS,CNT参数的值超出SOURCE_CHARS 数组的限值,无法复制
-
示范:如果从第三个位置开始读取所有,则在参数 POS 中使用值“2”,CNT可以使用值0
- 返回值错误代码
错误代码*(W#16#) | 说明 |
---|---|
0000 | 无错误,完整复制成功 |
0001 | 截断复制成功,复制的源长度超过字符串变量定义的长度 |
8151 | SOURCE_CHARS 参数中的引用无效,无法复制 |
8251 | DEST_STRING 参数中的引用无效,无法复制 |
8381 | CNT 参数的值超出SOURCE_CHARS 数组的限值,无法复制 |
8382 | POS 参数的值超出SOURCE_CHARS 数组的限值,无法复制 |
示例
- LD示例动图如下:
- ST示例如下代码所示:
OUT:=CHARS_TO_STRING(
SOURCE_CHARS:=IN1,
POS:=IN2,
CNT:=IN3,
DEST_STRING=>ARR
);