SIEMENS西门子 S120 伺服电机 1FK7022-5AK71-1DG3-Z
MCAT:电机控制定时器报警 (S7-1500) 说明 “电机控制定时器报警”(Motor control-timer alarm) 指令用于从开启一个命令输入(打开或 关闭)时开始计时。计时过程一直持续到超出了预设时间,或相关反馈输入提示设备已在规 定时间内执行了要求的操作为止。如果在收到反馈前就超出了预设时间,则触发相应的报警。 “电机控制定时器报警”指令不返回错误信息。
传统 (S7-1500) DRUM:执行顺控程序 (S7-1500) 说明 可以使用“执行顺控程序”指令,将相应步的 OUT_VAL 参数的已设定值分配给已设定的输 出位(OUT1 到 OUT16)和输出字 (OUT_WORD)。因此,当指令仍处于某特定步时,该步 必须满足参数 S_MASK 中设定的使能掩码条件。如果该步的事件为真且为当前步设定的时间 已用完,或者参数 JOG 的值从“0”变为“1”,则该指令进入下一步。如果参数 RESET 的信号状 态变为“1”,将复位该指令。当前步因此等同于预设步 (DSP)。每步所耗用的时间由预设时基 (DTBP) 与每步预设计数值 (S_PRESET) 的乘积确定。启动新步 时,会将此计算值加载到参数 DCC 中,该参数包含当前步的剩余时间。例如,参数 DTBP 的 值为 2,且第一个步的预设值为“100”(100 ms),则参数 DCC 的值为“200”(200 ms)。 可使用定时器值和/或事件对步进行编程。具有一个事件位且定时器值为“0”的步,在该事件 位的信号状态为“1”时立即进入下一步。仅用定时器值编程的步将立即开始计时。具有事件 位且定时器值大于“0”的步,在该事件位的信号状态为“1”时开始计时。信号状态为“1”时,初 始化事件位。 当顺控程序位于Zui后一个编程步 (LST_STEP) 且该步的时间用完时,会将参数 Q 的信号状态 置位为“1”;否则复位为“0”。置位参数 Q 时,该指令将停留在该步,直至该参数复位。 在可组态掩码 (S_MASK) 中,可以选择输出字 (OUT_WORD) 中的各个位并通过输出值 (OUT1) 置位或复位输出位(OUT16 到 OUT_VAL)。当可组态掩码的某个位的信号状态为“1”时, OUT_VAL 的值将置位/复位相应位。如果可组态掩码的某个位的信号状态为“0”,相应位则保 持不变。在信号状态为“1”时,将初始化所有 16 个步中可组态掩码的所有位。 参数 OUT1 的输出位对应输出字 (OUT_WORD) 的Zui低有效位。参数 OUT16 的输出位对应输 出字 (OUT_WORD) 的Zui高有效位。
DCAT:离散控制定时器报警 (S7-1500) 说明 可以使用“离散控制定时器报警”(Discrete control-timer alarm),在参数 CMD 发出打开或关 闭命令时开始计时。计时过程一直持续到超出了预设时间 (PT) 或收到此信息为止:即在规 定时间内已打开或关闭(O_FB 或 C_FB)设备。如果在收到有关设备打开或关闭的信息之前 就超出了预设时间,将激活相应的报警。如果命令输入的信号状态在到达预设时间前发生变 化,则重新计时。 “离散控制定时器报警”指令对各种输入条件的反应如下: • 参数 CMD 的信号状态从“0”变为“1”时,对参数 Q、CMD_HIS、ET(仅当 ET < PT 时)、OA 和 CA 的信号状态有如下影响: – 参数 Q 和 CMD_HIS 置“1”。 – 参数 ET、OA 和 CA 复位为“0”。 • 参数 CMD 的信号状态从“1”变为“0”时,参数 Q、ET(仅当 ET < PT 时)、OA、CA 和 CMD_HIS 将复位为“0”。 • 如果参数 CMD 和 CMD_HIS 的信号状态均为“1”,且参数 O_FB 置位为“0”,则将上次执行 该指令以来的时间差 (ms) 加到参数 ET 的值中。如果参数 ET 的值大于参数 PT 的值,则 将参数 OA 的信号状态置“1”。如果参数 ET 的值不大于参数 PT 的值,则将参数 OA 的信 号状态复位为“0”。将参数 CMD_HIS 的值重置为参数 CMD 的值。 • 如果参数 CMD、CMD_HIS 和 O_FB 的信号状态置位为“1”且参数 C_FB 的值为“0”,则将参 数 OA 的信号状态设置为“0”。ET 参数的值被设置为 PT 参数的值。如果参数 O_FB 的信号 状态变为“0”,则在下次执行指令时设置报警。CMD_HIS 参数的值被设置为 CMD 参数的值。• 如果参数 CMD、CMD_HIS 和 C_FB 的信号状态为“0”,则将上次执行该指令以来的时间差 (ms) 加到参数 ET 的值中。如果参数 ET 的值大于参数 PT 的值,则将参数 CA 的信号状态 复位为“1”。如果不大于参数 PT 的值,则参数 CA 的信号状态为“0”。CMD_HIS 参数的值 被设置为 CMD 参数的值。 • 如果参数 CMD、CMD_HIS 和 O_FB 的信号状态为“0”且参数 C_FB 设置为“1”,则将参数 CA 设置为“0”。ET 参数的值被设置为 PT 参数的值。如果参数 C_FB 的信号状态变为“0”,则 在下次执行指令时设置报警。CMD_HIS 参数的值被设置为 CMD 参数的值。 • 如果参数 O_FB 和 C_FB 的信号状态均为“1”,则将两个报警输出的信号状态都置位为“1”。 “离散控制定时器报警”(Discrete control-timer alarm) 指令不提供错误信息。在以下示例中,参数 CMD 从“0”变为“1”。执行该指令后,参数 Q 将置位为“1”,而两个报警 输出 OA 和 CA 的信号状态为“0”。背景数据块的参数 CMD_HIS 的信号状态将置“1”,同时将 参数 ET 复位为“0”。 说明 可以初始化数据块中的静态参数。IMC:比较输入位与掩码位 (S7-1500) 说明 可以使用“比较输入位与掩码位”(Compare input bits with the bits of a mask) 指令,将Zui多 16 个设定的输入位(IN_BIT0 到 IN_BIT15)的信号状态与相应的掩码位进行比较。可编程 多达 16 个带掩码的步。将参数 IN_BIT0 的值与掩码 CMP_VAL[x,0] 的值相比较,其中“x”代 表步号。在参数 CMP_STEP 中指定用于比较的掩码步号。所有编程值均以相同方式进行比较。 未编程输入位或未编程掩码位的默认信号状态为 FALSE。 如果在比较期间找到匹配值,参数 OUT 的信号状态置为“1”。否则将参数 OUT 置为“0”。 如果参数 CMP_STEP 的值大于 15,则不执行该指令。并在参数 ERR_CODE 中输出错误信息。SMC:比较扫描矩阵 (S7-1500) 说明 “比较扫描矩阵”(Compare scan matrix) 指令可将Zui多 16 个设定的输入位(IN_BIT0 到 IN_BIT15)的信号状态与各步比较掩码的相应位进行比较。处理从步 1 开始并继续,直到Zui 后一个编程步 (LAST) 或直到找到匹配值。将参数 IN_BIT0 的输入位将与掩码 CMP_VAL[x,0] 的值相比较,其中“x”代表步号。所有编程值均以相同方式进行比较。如果找到匹配值,则将 参数 OUT 的信号状态置为“1”,并将匹配掩码的步号写入参数 OUT_STEP。未编程输入位或 未编程掩码位的默认信号状态为 FALSE。如果多个步具有匹配掩码,则参数 OUT_STEP 仅指 示找到的第一个步。如果没有找到匹配值,则将参数 OUT 的信号状态置为“0”。在这种情况 下,参数 OUT_STEP 的值比参数 LAST 的值大“1”。LEAD_LAG:提前和滞后算法 (S7-1500) 说明 可以使用“提前和滞后算法”(Lead and lag algorithm) 指令,通过模拟量变量处理信号。GAIN 参数的增益值必须大于零。使用以下等式计算“提前和滞后算法”指令的结果:仅当在固定的程序周期中运行指令“提前和滞后算法”时,才生成正确的结果。参数 LD_TIME、LG_TIME 和 SAMPLE_T 中必须指定相同的运算单元。计算 LG_TIME > 4 + SAMPLE_T 时,该指令与以下函数类似: OUT = GAIN * ((1 + LD_TIME * s) / (1 + LG_TIME * s)) * IN 当参数 GAIN 的值小于或等于零时,将不进行计算,并在参数 ERR_CODE 中输出错误信息。 “提前和滞后算法”指令可与回路一起用作动态前馈控制中的补偿器。该指令由两项操作组成。 “提前”操作将输出 OUT 的相位进行移位,使得输出提前于输入。相反,“滞后”操作对输 出进行移位,使得输出滞后于输入。由于“滞后”操作相当于积分,因此可用作噪声抑制器 或低通滤波器。“提前”操作相当于微分,因此可用作高通滤波器。同时使用两个指令(“提前”和“滞后”),将导致在较低频率时输出的相位滞后于输入,而在较高频率时输出的相 位提前于输入。这意味着“提前和滞后算法”指令可用作带通滤波器。STL (S7-1500) 位逻辑运算 (S7-1500) R_TRIG:检查信号上升沿 (S7-1500) 说明 使用“检测信号上升沿”指令,可以检测输入 CLK 的从“0”到“1”的状态变化。该指令将输入 CLK 的当前值与保存在指定实例中的上次查询(边沿存储位)的状态进行比较。如果该指令 检测到输入 CLK 的状态从“0”变成了“1”,就会在输出 Q 中生成一个信号上升沿,输出的值将 在一个循环周期内为 TRUE 或“1”。 在其它任何情况下,该指令输出的信号状态均为“0”。