跳到主要内容

7.9.10 CHAR或BYTE的数组转换为字符串

功能

将CHAR或BYTE的数组转换为字符串

LD图形

alt text

参数说明

接口变量声明数据类型说明
SOURCE_CHARSInputArray of CHAR
Array of BYTE
复制操作的源数组变量
用户实例输入只能是 Array of CHAR / Array of BYTE 的变量
POSInputDINT源数组SOURCE_CHARS相对下标位置,从该位置处开始复制字符
POS参数将从0开始计算,对应数组的起始下标位置
CNTInputDINT要复制的字符数。使用值“0”将复制SOURCE数组的从POS开始的所有字符
长度如果超过STRING变量的长度,将被截断取值
DEST_STRINGOutputSTRING复制操作的目标字符串。遵守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截断复制成功,复制的源长度超过字符串变量定义的长度
8151SOURCE_CHARS 参数中的引用无效,无法复制
8251DEST_STRING 参数中的引用无效,无法复制
8381CNT 参数的值超出SOURCE_CHARS 数组的限值,无法复制
8382POS 参数的值超出SOURCE_CHARS 数组的限值,无法复制

示例

  • LD示例动图如下:

alt text

  • ST示例如下代码所示:
OUT:=CHARS_TO_STRING(
SOURCE_CHARS:=IN1,
POS:=IN2,
CNT:=IN3,
DEST_STRING=>ARR
);