插入字符串 (INSERT)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。INSERT 指令用于将 ASCII 字符添加到字符串中的指定位置。
可用语言
梯形图

功能块
结构化文本
INSERT (SourceA,SourceB,Start,Dest);
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换。INSERT 指令使用以下操作数。
梯形图和结构化文本
操作数 | 类型 | 格式 | 说明 | 备注 |
|---|---|---|---|---|
Source A | 字符串类型 | 标签 | 要添加字符的字符串 | 字符串类型是默认的 STRING 数据类型或用户创建的任何新的字符串类型 |
Source B | 字符串类型 | 标签 | 包含要添加的字符的字符串 | |
Start | SINT DINT INT | 立即数标签 | Source A 中要添加字符的位置 | 输入介于 1 与 Source 的 DATA 大小之间的数值。 |
Destination | 字符串类型 | 标签 | 用于存储结果的字符串 |
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法。
说明
INSERT 指令会将 Source B 中的字符添加到 Source A 中的指定位置,并将结果放入 Destination。
- Start 定义 Source A 中添加 Source B 的位置。
- 除非 Source A 和 Destination 是同一标签,否则 Source A 保持不变。
影响数学状态标志
否
故障条件
类型 | Code | 原因 | 恢复方法 |
|---|---|---|---|
4 | 51 | 字符串标签的 LEN 值大于字符串标签的 DATA 大小。 |
|
4 | 52 | 输出字符串大于目标字符串。 | 创建一个足以容纳输出字符串的新字符串类型。使用新字符串类型作为目标字符串的数据类型。 |
4 | 56 | Start 或 Quantity 值无效。 | 检查 Start 值是否介于 1 与 Source 的 DATA 大小之间。 |
执行
梯形图
条件 | 梯形图操作 |
|---|---|
预扫描 | 梯级输出条件设置为假。 |
梯级输入条件为假 | 梯级输出条件设置为假。 |
梯级输入条件为真 | 指令执行。 梯级输出条件设置为真。 |
后扫描 | 梯级输出条件设置为假。 |
执行
结构化文本
条件 | Action |
|---|---|
预扫描 | 请参见“梯形图”表中的“预扫描”行 |
正常执行 | 请参见“梯形图”表中的“梯级输入条件为真”行。 |
后扫描 | 请参见“梯形图”表中的“后扫描”行 |
示例
当
temp_high
置位时,INSERT 指令将 string_2
中的字符添加至 string_1
中的位置 2,并将结果放入 string_3
。梯形图

结构化文本
IF temp_high THEN
INSERT(string_1,string_2,2,string_3);
temp_high := 0;
END_IF;
提供反馈