字符串删除 (DELETE)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。
DELETE 指令可以从字符串中删除 ASCII 字符。
可用语言
梯形图
功能块
此指令不可用于功能块中。
结构化文本
DELETE(Source,Qty,Start,Dest);
操作数
指令中混用数据类型时,需遵从相关的数据转换规则。请参阅 数据转换
梯形图和结构化文本
操作数
类型
格式
说明
备注
Source
ANY_STRING
标签
标签,从其中包含的字符串中删除字符
字符串类型包括:
默认 STRING 数据类型,字符串的最大长度为 82 个字符。
用户创建的任何新字符串类型,字符串的长度可以配置。
Quantity
SINT
INT
DINT
立即数
标签
要删除的字符数
Start 与 Quantity 之和必须小于或等于 Source 的长度加 1。
Start
SINT
INT
DINT
立即数
标签
要删除的第一个字符的位置
输入介于 1 与 Source 的 DATA 大小之间的数值。
Destination
字符串类型
标签
用于存储结果的标签
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法
说明
DELETE 指令从 Source 中删除(移除)一个或多个字符,并将其余字符放在 Destination 中。
  • Start 位置和 Quantity 用于确定要移除的字符。
  • 除非 Source A 和 Destination 是同一标签,否则 Source A 保持不变。
影响数学状态标志
严重/轻微故障
在以下情况下会发生轻微故障:
故障类型
故障代码
Source 字符串标签的 LEN 值大于 Source 字符串标签的 DATA 大小。
4
51
输出字符串的长度大于目标字符串标签的 DATA 大小。
4
52
Start 或 Quantity 值无效。
4
56
有关操作数相关的故障,请参阅 常用属性
执行
梯形图
条件/状态
Action
预扫描
不适用
梯级输入条件为假
不适用
梯级输入条件为真
指令执行。
后扫描
不适用
结构化文本
条件/状态
Action
预扫描
请参阅“梯形图”表中的“预扫描”行。
正常执行
请参见“梯形图”表中的“梯级输入条件为真”行。
后扫描
请参见“梯形图”表中的“后扫描”行。
示例
来自终端的 ASCII 信息包含头字符。控制器读取数据后(term_read.EM 置位),DELETE 指令将删除该头字符。这样,控制器将可以使用消息文本或将其传递给另一个设备。
梯形图
结构化文本
IF term_read.EM THEN
DELETE(term_input,1,1,term_text);
term_read.EM := 0;
END_IF;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal