文件排序 (SRT)

此信息适用于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370、
GuardLogix
5570、
Compact GuardLogix
5380、
CompactLogix
5380、
ControlLogix
5580、
GuardLogix
5580 和 ControlLogix 5590 控制器。在适用的情况下会注明控制器的差异。
SRT 指令可将数组的某个维数(变化维数)中的一系列值按升序排列。
可用语言
梯形图
RSL5K_SRT Ladder Diagram_v31
功能块
此指令不可用于功能块中。
结构化文本
SRT(Array,Dimtovary,Control);
操作数
梯形图
操作数
类型
格式
说明
Array
SINT
INT
DINT
REAL
数组标签
要排序的数组
指定要排序的元素组的第一个元素
Dimension to vary
DINT
立即数
(0、1、2)
要使用的维度
维度的顺序是:array[0,1,2]
Control
CONTROL
标签
运算的控制结构
Length
DINT
立即数
要排序的数组的元素数目
Position
DINT
立即数
数组中的当前元素
初始值通常为 0
长度和位置(对应于控制标签中的 .LEN 和 .POS)是伪操作数。有关详细信息,请参阅 伪操作数初始化
结构化文本
操作数
类型
格式
说明
Array
SINT
INT
DINT
REAL
数组标签
要排序的数组
指定要排序的元素组的第一个元素
Dimension to vary
DINT
立即数
(0、1、2)
要使用的维度
维度的顺序是:array[0,1,2]
Control
CONTROL
标签
运算的控制结构
Length
DINT
立即数
要排序的数组的元素数目。
指定的 Length 和 Position 值从 CONTROL 结构的 .LEN 和 .POS 成员获取。
Position
DINT
立即数
数组中的当前元素
初始值通常为 0
指定的 Length 和 Position 值从 CONTROL 结构的 .LEN 和 .POS 成员获取。
有关结构化文本中表达式语法的详细信息,请参见“结构化文本语法”部分。
CONTROL 结构
助记符
数据类型
说明
.EN
BOOL
使能位,指示 SRT 指令是否使能。
.DN
BOOL
完成位,指令对数组中最后一个元素进行运算后置位。
.ER
BOOL
错误位,当 .LEN < 0 或 .POS < 0 时置位。这两种情况也会引发严重故障。
当 .ER 位置位时,指令不执行。
.LEN
DINT
长度字,用于指定参与指令运算的数组元素数目。
.POS
DINT
位置字,用于指定指令正在访问的当前元素。
说明
SRT 指令可将数组的某个维数(变化维数)中的一系列值按升序排列。
重要提示: 必须进行测试并确认指令不会更改用户不希望更改的数据。
SRT 指令将对连续数据存储器执行运算。仅对于
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370 和
GuardLogix
5570 控制器
,指令的作用域受基本标签约束。SRT 指令不会将数据写入基本标签 (base tag) 之外,但可以跨成员边界。如果指定的数组为结构的成员,并且长度超过该数组的大小,则必须测试并确认 SRT 指令不会更改不希望更改的数据。
CompactLogix
5380、
ControlLogix
5580、
Compact GuardLogix
5380、
GuardLogix
5580 和 ControlLogix 5590 控制器
,数据受到指定成员的约束。
在此跳变指令中,继电器梯形图将梯级输入条件由假切换为真时,指令执行。
影响数学状态标志
控制器
影响数学状态标志
CompactLogix
5380、
ControlLogix
5580、
Compact GuardLogix
5380、
GuardLogix
5580 和 ControlLogix 5590 控制器
CompactLogix
5370、
ControlLogix
5570、
Compact GuardLogix
5370 和
GuardLogix
5570 控制器
严重/轻微故障
在以下情况下会发生严重故障:
故障类型
故障代码
.POS < 0 或 .LEN < 0
4
21
Dimension to vary > 维度数
4
20
Length > 数组末尾
4
20
请参见“通用属性”
,了解与操作数相关的故障。
执行
梯形图
条件/状态
执行的操作
预扫描
不适用。
梯级输入条件为假
.EN 位设置为假
.EN 位设置为假
.DN 位设置为假
梯级输入条件为真
指令执行
后扫描
不适用。
结构化文本
条件/状态
执行的操作
预扫描
请参见“梯形图”表中的“预扫描”行
正常执行
由于该指令需要跳变信号方可执行,因此在梯级由假变真时执行该指令。有关详细信息,请参见“梯形图”表。
后扫描
请参见“梯形图”表中的“后扫描”行。
示例
示例 1
将 DINT_array (DINT[4,5]) 排序。
SRT Example 1
梯形图
RSL5K_SRT Ladder Diagram__example1_v31
结构化文本
IF sort1 then
control_1.LEN := 4;
control_1.POS := 0;
SRT(DINT_array[0,2],0, control_1);
END_IF;
示例 2
将 DINT_array (DINT[4,5]) 排序。
File Sort (SRT) (10)
梯形图
RSL5K_SRT Ladder Diagram__example2_v31
结构化文本
ctrl.LEN := 4;
ctrl.POS := 0;
SRT(DINT_array[0,2],0, ctrl);
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈
Normal