标定 (SCL)
此信息适用于
CompactLogix
5370、ControlLogix
5570、Compact GuardLogix
5370、GuardLogix
5570、Compact GuardLogix
5380、CompactLogix
5380、ControlLogix
5580、GuardLogix
5580 和 ControlLogix 5590 控制器。标定 (SCL) 指令用于将未标定的输入值转换为采用工程单位的浮点值。
可用语言
梯形图
此指令不可用于梯形图逻辑中。
功能块

结构化文本
SCL(SCL_tag)
操作数
功能块
操作数 | 类型 | 格式 | 说明 |
SCL 标签 | SCALE | 结构 | SCL 结构 |
结构化文本
操作数 | 类型 | 格式 | 说明 |
SCL 标签 | SCALE | 结构 | SCL 结构 |
有关结构化文本中表达式语法的详细信息,请参见
结构化文本语法
部分。SCALE 结构
输入参数 | 数据类型 | 说明 |
EnableIn | BOOL | 启用输入。如果为假,指令不会执行,也不会更新输出。 默认值为真。 |
In | REAL | 模拟信号输入。 有效值 = 任意浮点值 默认值 = 0.0 |
InRawMax | REAL | 指令的输入可达到的最大值。如果 InRawMax InRawMin,该指令会将 Status 中的相应位置位并停止更新输出。有效值 = InRawMax > InRawMin 默认值 = 0.0 |
InRawMin | REAL | 指令的输入可达到的最小值。如果 InRawMin InRawMax,则指令会将 Status 中的相应位置位并停止更新输出。有效值 = InRawMin < InRawMax 默认值 = 0.0 |
InEUMax | REAL | 与 InRawMax 对应的缩放输入值。 有效值 = 任意实数值 默认值 = 0.0 |
InEUMin | REAL | 与 InRawMin 对应的缩放输入值。 有效值 = 任意实数值 默认值 = 0.0 |
限制 | BOOL | 限制选择器。如果为真,会将 Out 限制在 InEUMin 与 InEUMax 之间。 默认值为假。 |
输出参数 | 数据类型 | 说明 |
EnableOut | BOOL | 指示指令是否处于启用状态。如果 Out 溢出,则设置为假。 |
Out | REAL | 表示模拟输入标定值的输出。 有效值 = 任意实数值 默认值 = InEUMin |
MaxAlarm | BOOL | 超出最大输入报警指示器。当 In> InRawMax 时,该值设置为真。 |
MinAlarm | BOOL | 低于最小输入报警指示器。当 In < InRawMin 时,该值设置为真。 |
状态 | DINT | 功能块的状态。 |
InstructFault (Status.0) | BOOL | 该指令检测到以下执行错误之一。这不是轻微或严重的控制器错误。检查其他状态位以确定发生的情况。 |
InRawRangeInv (Status.1) | BOOL | InRawMin InRawMax。 |
说明
SCL 指令用于不支持标定为全分辨率浮点值的模拟输入模块。
例如,1771-IFE 模块是一个仅支持以整数值进行标定的 12 位模拟输入模块。如果使用 1771-IFE 模块读取 0-100 加仑/分钟 (gpm) 的流量,通常不会将模块标定为 0-100,否则会限制该模块的分辨率。相反,应使用 SCL 指令并将模块配置为返回未标定的 (0-4095) 值,其中 SCL 指令会将值转换为 0-100 gpm(浮点值)而不会损失分辨率。然后,此标定后的值可用作其他指令的输入。
SCL 指令采用以下算法将未标定的输入转换为标定值:

报警
指令计算出 Out 后,将按照以下方式确定 MaxAlarm 和 MinAlarm 的值:

限制
将 Limiting 置位后,会对 Out 进行限制。当 In > InRawMax 时,该指令会设置 Out = InEUMax。当 In < InRawMin 时,该指令会设置 Out = InEUMin。

影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。有关操作数相关的故障,请参阅 通用属性。
执行
功能块
条件/状态 | 执行的操作 |
预扫描 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为假 | EnableIn 和 EnableOut 位设置为假。 |
Tag.EnableIn 为真 | EnableIn 和 EnableOut 位设置为真 指令执行。 |
指令首次运行 | 不适用 |
指令首次扫描 | 不适用 |
后扫描 | EnableIn 和 EnableOut 位设置为假。 |
结构化文本
条件/状态 | 执行的操作 |
预扫描 | 请参见“功能块”表中的“预扫描”行。 |
正常执行 | 请参见“功能块”表中的“Tag.EnableIn 为真”行。 |
后扫描 | 请参见“功能块”表中的“后扫描”行。 |
示例
SCL 指令通常用于不支持板载标定为浮点工程单位的模拟输入模块。在此示例中,SCL 指令对来自 1771-IFE 模块的模拟输入进行标定。该指令将结果存储在 Out 中,供 ALM 指令使用。
功能块

结构化文本
SCL_01.In := Input0From1771IFE;
SCL(SCL_01);
ALM_01.In := SCL_01.Out;
ALM(ALM_01);
提供反馈
InRawMin,该指令会将 Status 中的相应位置位并停止更新输出。
InRawMax,则指令会将 Status 中的相应位置位并停止更新输出。