凸轮轴监视 (CSM)
本指令适用于 Compact GuardLogix 5370、GuardLogix 5570、Compact GuardLogix 5380、GuardLogix 5580 和 ControlLogix 5590 控制器。
此指令用于监视凸轮轴的启动、停止和运行。
指令通道 A 和通道 B 输入的信号可能来源接近开关、旋转变压器、格雷码编码器或者能够在凸轮轴运动时产生一系列脉冲的任何设备。
对启动和停止操作的诊断基于可配置的“机械延时”参数。在启动或停止期间,一旦超出“机械延时”,将生成故障。
可用语言
梯形图

功能块
此指令不可用于功能块中。
结构化文本
此指令不可用于结构化文本中。
操作数
重要提示:
在同一程序中,切勿将同一标签名称用于多个指令。在任何情况下,均不要对任何指令输出标签执行写操作。
警告:
如果在运行模式下更改指令参数,必须接受待定的编辑内容,并将控制器模式从编程模式循环切换到运行模式,以使更改生效。
下表给出了用于配置指令的操作数。运行期间无法更改该操作数。
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
CSM | CAMSHAFT_MONITOR | 标签 | 该参数是一个支持标签,用于保留每次使用此指令的重要执行信息。 注意: 为避免意外操作,请勿重复使用此支持标签及其成员。请勿在程序中的任何位置对任何标签成员执行写操作。 |
下表介绍指令输入。输入可能是来自输入设备的现场设备信号,也可能源自用户逻辑。
操作数 | 数据类型 | 格式 | 说明 |
|---|---|---|---|
机械延时 (Mechanical Delay Time) | DINT | 标签 立即数 | 在启动操作中,该参数决定指令在运动请求输入由 OFF (0) 跳变为 ON (1) 后等待通道 A 和通道 B 输入发出运动指示的时间,一旦超过该时间量,就将发生“超出启动时间”故障。 在停止操作中,该参数决定指令在运动请求输入由 ON (1) 跳变为 OFF (0) 后等待通道 A 和通道 B 输入发出运动停止指示的时间,一旦超过该时间量,就将发生“超出停止时间”故障。 有效范围为 300 到 2000 ms。 |
最长脉冲周期 (Max Pulse Period) | DINT | 标签 立即数 | 此参数定义输入脉冲序列中上升沿与下降沿之间允许间隔的最长时间。超出该时间量时,运动将视为停止。 有效范围为 50 到 2000 ms。 |
运动请求 (Motion Request) | BOOL | 标签 | 此输入指示是否正在请求运动。此输入来自“离合器-制动器寸动模式”(CBIM)、“离合器-制动器单冲程模式”(CBSSM) 或“离合器-制动器连续模式”(CBCM) 指令的输出 1。 ON (1):正在向凸轮轴发出运动指示,即将开始运动。 关闭 (OFF) (0):未请求凸轮轴运动。 |
通道 A (Channel A) 1 | BOOL | 标签 | 该输入中的脉冲序列指示凸轮轴正在运动。 |
通道 B (Channel B) 1 | BOOL | 标签 | 该输入中的脉冲序列指示凸轮轴正在运动。 |
输入状态 (Input Status) | BOOL | 标签 立即数 | 如果指令输入来自安全 I/O 模块,则这是来自 I/O 模块的状态(连接状态或组合状态)。如果指令输入源自内部逻辑,则应由应用程序员确定条件。 ON (1):此指令的输入有效。 关闭 (OFF) (0):此指令的输入无效。 |
重置 2 | BOOL | 标签 | 如果不存在故障条件,此输入将清除指令故障。 OFF (0) -> ON (1):“存在故障”和“故障代码”输出复位。 |
1 如果此输入来自
Guard I/O
输入模块,请确保输入配置为单个输入,而非“相同”或“互补”。2 ISO 13849-1 规定,指令复位功能必须在出现下降沿信号时触发。为遵从 ISO 13849-1 要求,在该指令前增加此逻辑。将如下示例中的“Reset_Signal”标签重命名为复位信号的标签名称。然后使用 OSF 指令的“输出位”标签作为指令的复位信号源。

下表介绍指令输出。输出可能是现场设备信号,也可能源自用户逻辑。
操作数 | 数据类型 | 说明 |
输出 1 (Output 1, O1) | BOOL | 此输出始终指示凸轮轴的运动状态,即使在“存在故障”(FP) 输出为 ON 时亦是如此。唯一的例外情况是当“输入状态”输入指示此指令的输入无效时。在这种情况下,该输出 (O1) 为 OFF。 此输出可接到“离合器-制动器寸动模式”(CBIM)、“离合器-制动器单冲程模式”(CBSSM) 和/或“离合器-制动器连续模式”(CBCM) 指令的“压力机运动中”输入。 ON (1):凸轮轴正在运动。 关闭 (OFF) (0):凸轮轴已停止。 |
存在故障 (Fault Present, FP) | BOOL | 此输出指示指令的故障状态。 此输出可接到“离合器-制动器寸动模式”(CBIM)、“离合器-制动器单冲程模式”(CBSSM)、和/或“离合器-制动器连续模式”(CBCM) 指令的“运动监视故障”输入。 ON (1):指令中存在故障。 关闭 (OFF) (0):指令正常运行。 |
故障代码 | DINT | 此输出指示所发生故障的类型。有关可能故障代码的列表,请参见下文的“CSM – 故障代码”部分。 此参数与安全无关。 |
Diagnostic Code | DINT | 此输出指示指令的诊断状态。有关可能诊断代码的列表,请参见下文的“CSM – 诊断代码”部分。 此参数与安全无关。 |
测得的启动时间 (Measured Start Time) | DINT | 凸轮轴开始运动所花费的时间(毫秒)。即从“运动请求”输入跳变为 ON (1) 到通道 A 和通道 B 输入指示进行运动所间隔的时间差。 此参数与安全无关。 |
测得的停止时间 (Measured Stop Time) | DINT | 凸轮轴停止运动所花费的时间(以毫秒计)。即从“运动请求”输入跳变为 OFF (0) 到通道 A 和通道 B 输入停止指示运动状态所间隔的时间差。 此参数与安全无关。 |
重要提示:
在任何情况下,均不要对任何指令输出标签执行写操作。
输入脉冲转换
通道 A 和通道 B 输入信号是来自编码器、旋转变压器或接近开关的脉冲序列。如果在配置的“最长脉冲周期”内检测到脉冲,将指示运动状态。
脉冲序列经处理后可以提供电平输入信号,使得指令逻辑产生一个衍生信号,该信号在运动时处于 ON (1)、而在停止运动时处于 OFF (0)。每个通道的转换均彼此独立。
如下图所示,在 (A) 点,电平信号在通道 A 输入的第一个脉冲边沿跳变为 ON (1)。只要脉冲之间间隔的时间不超过配置的“最长脉冲周期”,该衍生信号就会保持 ON (1)。在 (B) 点,由于在“最长脉冲周期”内未检测到边沿,该衍生电平信号将跳变 OFF (0)。

正常运行
在 (A) 点,“运动请求”输入由 OFF (0) 跳变为 ON (1),指示正在向凸轮轴发出运动指令。在 (B) 点,在配置的“机械延时”内在通道 A 和通道 B 上均检测到脉冲,因此输出 1 跳变为 ON (1)。在 (C) 点,“运动请求”输入跳变为 OFF (0),指示正在向凸轮轴发出停止指令。在 (D) 点,两个通道均不再存在脉冲,因此输出 1 跳变为 OFF (0)。通道 A 或通道 B 的脉冲必须在配置的“机械延时”时间内停止,以防止发生“超出停止时间”故障。

非指令运动故障
当“运动请求”输入为 OFF (0),但通道 A 和通道 B 输入的脉冲指示存在运动时,将发生非指令运动故障。“运动请求”输入为 OFF (0),指示未发出运动指令。在 (A) 点,仅在一个通道上检测到脉冲,因此没有发生故障。在 (B) 点,在通道 A 和通道 B 上均检测到脉冲,因此发生非指令运动故障。输出 1 跟踪通道 A 和通道 B 的脉冲,在 (B) 点跳变为 ON (1),在 (C) 点跳变为 OFF (0)。在 (D) 点,当在两个通道上均检测不到脉冲并且“运动请求”输入为 OFF (0)(指示不再请求进行运动)后,一旦下一次复位输入由 OFF (0) 跳变为 ON (1),故障即被清除。

超出启动时间故障
在 (A) 点,“运动请求”输入跳变为 ON (1),指示正在请求运动。在 (B) 点,在通道 A 和通道 B 尚未检测到脉冲,而配置的“机械延时”时间过期,因此“存在故障”输出跳变为 ON (1)。在 (C) 点,尽管故障状况依然存在,但在两路输入上均检测到脉冲,因此输出 1 跳变为 ON (1)。在 (D) 点,通道 A 或通道 B 不再指示运动状态,输出 1 跳变为 OFF (0)。在 (E) 点,两路通道均不指示运动状态(无脉冲)且“运动请求”输入也处于 OFF (0) 状态,因此当复位输入在 (F) 点由 OFF (0) 跳变为 ON (1) 时,故障状况清除。

超出停止时间故障
在 (A) 点,“运动请求”输入跳变为 OFF (0),指示正在发出停止运动指令。在 (B) 点,通道 A 或通道 B 的脉冲尚未停止,而配置的“机械延时”到期,因此“存在故障”输出跳变为 ON (1)。在 (C) 点,通道 A 或通道 B 的脉冲停止,因此输出 1 由 ON (1) 跳变为 OFF (0)。在 (D) 点,通道 A 和通道 B 停止指示运动状态且“运动请求”输入也处于 OFF (0) 状态,因此当复位输入在 (E) 点由 OFF (0) 跳变为 ON (1) 时,故障状况清除。

运动停止故障(第 1 种情况)
“运动请求”输入跳变为 ON (1)。在 (A) 点,通道 A 和通道 B 输入均在配置的“机械延时”时间内指示运动状态。在 (B) 点,“机械延时”时间过期,随后在 (C) 点通道 A 或通道 B 的脉冲停止,因此导致“存在故障”输出跳变为 ON (1),指示发生“运动停止”故障。在 (C) 点,输出 1 随之跳变为 OFF (0)。在 (D) 点,通道 A 和通道 B 不再指示运动状态且“运动请求”输入也处于 OFF (0) 状态,因此当复位输入在 (E) 点由 OFF (0) 跳变为 ON (1) 时,故障状况清除。

运动停止故障(第 2 种情况)
“运动请求”输入跳变为 ON (1)。在 (A) 点,通道 A 和通道 B 输入均在配置的“机械延时”时间内指示运动状态。在 (B) 点,通道 A 或通道 B 的脉冲在“机械延时”时间内停止,因此输出 1 跳变为 OFF (0)。在 (C) 点,“机械延时”时间过期,“存在故障”输出跳变为 ON (1),指示发生运动停止故障。在 (D) 点,通道 A 和通道 B 不再指示运动状态且“运动请求”输入也处于 OFF (0) 状态,因此当复位输入在 (E) 点由 OFF (0) 跳变为 ON (1) 时,故障状况清除。

输入状态故障
在 (A) 点,“运动请求”输入跳变为 ON (1),指示正在发出运动指令。通道 A 和通道 B 输入均在配置的“机械延时”时间内检测到脉冲,指示运动状态。在 (B) 点,输出 1 跳变为 ON (1)。在 (C) 点,“输入状态”输入跳变为 OFF (0),则发生输入状态故障,“存在故障”输出跳变为 ON (1)。在 (C) 点,输出 1 随之跳变为 OFF (0)。“输入状态”输入为 OFF (0) 时,输出 1 始终为 OFF (0)。在 (D) 点,通道 A 和通道 B 不再指示运动状态且“运动请求”输入也处于 OFF (0) 状态,因此当复位输入在 (E) 点由 OFF (0) 跳变为 ON (1) 时,“输入状态”输入跳变回 ON (1)。

假梯级状态行为
在假梯级执行该指令时,所有指令输出均切断。
故障代码与处理措施
故障代码采用十六进制格式,后面跟有十进制格式。
故障代码 | 说明 | 纠正措施 |
|---|---|---|
00 | 无故障。 | 无。 |
16#20 32 | 发生输入状态错误。“输入状态”输入由 ON (1) 跳变为 OFF (0)。 |
|
16#6000 24576 | 发生非指令运动。“运动请求”输入为 OFF (0),但两路输入通道均指示凸轮轴正在运动。 |
|
16#6001 24577 | 超出启动时间。测得的凸轮轴启动时间超过配置的“机械延时”时间。 |
|
16#6002 24578 | 超出停止时间。测得的凸轮轴停止时间超过配置的“机械延时”时间。 |
|
16#6003 24579 | 通道 A 发生运动停止故障。“运动请求”输入为 ON (1),但通道 A 输入停止指示运动状态。 |
|
16#6004 24580 | 通道 B 发生运动停止故障。“运动请求”输入为 ON (1),但通道 B 输入停止指示运动状态。 |
|
16#6005 24581 | 在所有输入进入安全状态 OFF (0) 之前,“运动请求”输入跳变为 ON (1)。 |
|
诊断代码与纠正措施
诊断代码采用十六进制格式,后面跟有十进制格式
Diagnostic Code | 说明 | 纠正措施 |
00 | 无 | 无。 |
16#20 32 | 首次执行该指令时,“输入状态”输入为 OFF (0)。 | 检查 I/O 模块的连接。 |
16#6000 24576 | 首次执行该指令时,通道 A 和通道 B 输入均指示运动状态(存在脉冲)。 |
|
16#6001 24577 | 首次执行该指令时,通道 A 输入指示运动状态(存在脉冲)。 |
|
16#6002 24578 | 首次执行该指令时,通道 B 输入指示运动状态(存在脉冲)。 |
|
影响数学状态标志
否
严重/轻微故障
没有特定于此指令的故障。请参见“数组索引编制”,了解关于数组索引故障的信息。
执行
条件/状态 | 执行的操作 |
|---|---|
预扫描 | 与梯级输入条件为假时相同。 |
梯级输入条件为假 | .O1 和 .FP 设置为假。 诊断代码与故障代码输出均设为 0。 |
梯级输入条件为真 | 此指令按正常运行部分所述执行。 |
后扫描 | 与梯级输入条件为假时相同。 |
提供反馈