中间字符串 (MID)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。
MID 指令复制字符串中指定数目的 ASCII 字符,并存储到另一个字符串中。
可用语言
梯形图
功能块
此指令不可用于功能块中。
结构化文本
MID(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
ANY_STRING
标签
要将字符复制到的字符串
有关结构化文本中表达式语法的详细信息,请参阅结构化文本语法
说明
MID 指令从 Source 中复制一组字符并将结果放在 Destination 中。
  • Start 位置和 Quantity 可确定要复制的字符。
  • 除非 Source 和 Destination 是同一标签,否则 Source 保持不变。
影响数学状态标志
严重/轻微故障
在以下情况下会发生轻微故障:
故障类型
故障代码
Source 字符串标签的 LEN 值大于 Source 字符串标签的 DATA 大小。
4
51
输出字符串的长度大于目标字符串标签的 DATA 大小。
4
52
Start 或 Quantity 值无效。
4
56
执行
梯形图
条件
梯形图操作
预扫描
不适用
梯级输入条件为假
不适用
梯级输入条件为真
指令执行。
后扫描
不适用
结构化文本
条件
Action
预扫描
请参见“梯形图”表中的“预扫描”行
正常执行
请参见“梯形图”表中的“梯级输入条件为真”行。
后扫描
请参见“梯形图”表中的“后扫描”行
示例
在机场的行李传送带上,每个行李都有一个条形码。条形码的第 9 - 17 个字符代表航班号和行李的到港机场。读取条形码后(bag_read.EM 置位),MID 指令将航班号和到港机场字符复制到 bag_flt_and_dest 字符串中。后面的梯级将使用 bag_flt_and_dest 来确定行李的发送路线。
梯形图
结构化文本
IF bag_read.EM THEN
MID(bag_barcode,9,9,bag_flt_and_dest);
bag_read.EM := 0;
END_IF;
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal