中间字符串 (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;
提供反馈