SIEMENS西门子 S120伺服电机 1FK7022-5AK71-1DH3-Z
字逻辑运算 (S7-1500) DECO:解码 (S7-1500) 说明 使用“解码”指令,在输出值中将输入值所指定的位置位。 “解码”指令读取参数 IN 的值,并设置参数 OUT 值中的某个位,该位位置与读取的值一致。 输出值中的其它位以零填充。当参数 IN 的值大于 31 时,将执行以 32 为模的模运算。SEL: 选择 (S7-1500) 说明 “选择”指令根据开关(输入 G)的情况,选择输入 IN0 或 IN1 中的一个,并将其内容复制 到输出 OUT。如果输入 G 的信号状态为“0”,则移动输入 IN0 的值。如果输入 G 的信号状态为 “1”,则输入 IN1 的值复制到输出 OUT。 只有当所有参数的变量均为同一种数据类型时,才能执行该指令。
传统 (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 时,该指令将停留在该步,直至该参数复位。DCAT:离散控制定时器报警 (S7-1500) 说明 可以使用“离散控制定时器报警”指令,从参数 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”。 “离散控制定时器报警”指令不提供错误信息。 参数 下表列出了“离散控制定时器报警”指令的参数: 参数 声明 数据类型 存储区 说明 CMD Input BOOL I、Q、M、D、L 或常数 信号状态“0”表示“关闭 (close)”命令。 信号状态“1”表示“打开 (open)”命令。 O_FB Input BOOL I、Q、M、D、L 或常数 打开时的反馈输入 C_FB Input BOOL I、Q、M、D、L 或常数 关闭时的反馈输入 Q Output BOOL I、Q、M、D、L 显示参数 CMD 的状态 OA Output BOOL I、Q、M、D、L 打开时的报警输出 CA Output BOOL I、Q、M、D、L 关闭时的报警输出 ET Static DINT D、L 或常数 当前已用时间,其中 1 次 计数 = 1 ms PT Static DINT D、L 或常数 预设的定时器值,其中 1 个时钟脉冲 = 1 msMCAT:电机控制定时器报警 (S7-1500) 说明 “电机控制定时器报警”指令用于从开启命令输入(打开或关闭)时开始计时。计时过程一 直持续到超出了预设时间,或相关反馈输入提示设备已在规定时间内执行了要求的操作为止。 如果在收到反馈前就超出了预设时间,则触发相应的报警。IMC:比较输入位与掩码位 (S7-1500) 说明 可以使用“比较输入位与掩码位”指令,将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) 说明 “比较扫描矩阵”指令可将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”。当参数 GAIN 的值小于或等于零时,将不进行计算,并在参数 ERR_CODE 中输出错误信息。 “提前和滞后算法”指令可与回路一起用作动态前馈控制中的补偿器。该指令由两项操作组成。 “提前”操作将输出 OUT 的相位进行移位,使得输出提前于输入。相反,“滞后”操作对输 出进行移位,使得输出滞后于输入。由于“滞后”操作相当于积分,因此可用作噪声抑制器 或低通滤波器。“提前”操作相当于微分,因此可用作高通滤波器。同时使用两个指令(“提 前”和“滞后”),将导致在较低频率时输出的相位滞后于输入,而在较高频率时输出的相 位提前于输入。这意味着“提前和滞后算法”指令可用作带通滤波器。SEG:创建 7 段显示的位模式 (S7-1500) 说明 "创建 7 段显示的位模式”指令将指定源字 (IN) 中的四个十六进制数字都转换为 7 段显示的 四个等价代码,并将其写入输出 (OUT) 的双字中。 “创建 7 段显示的位模式”指令无法识别任何错误条件。BITSUM:统计置位位数量 (S7-1500) 说明 可以使用“统计置位位数量”指令统计信号状态被置位为“1”的操作数的位数。在参数 IN 中 指定要统计其位数的操作数。指令的结果在参数 RET_VAL 中输出。 参数 下表列出了“统计置位位数量”指令的参数:STL 助记符 (S7-1500) 位逻辑运算 (S7-1500) A: “与”运算 (S7-1500) 说明 使用““与”运算 ”指令来检查二进制操作数的信号状态是否为“1”,并且将查询结果与该逻 辑运算结果 (RLO) 的信号状态进行“与”运算。因此,查询结果与所检查的操作数信号状态 相同。 如果两个相应的信号状态均为“1”,则在执行该指令后,RLO 为“1”。如果其中一个相应的信 号状态为“0”,则在指令执行后,RLO 为“0”。 如果连续多次执行该指令,那么只有所有的查询结果都为“1”,逻辑运算的Zui终结果才能为 “1”。 ““与”运算 ”指令也可以用于检查状态字的信号状态。为此,需指定相应的状态位(==0、 <>0、>0、<0、>=0、<=0、OV、OS、UO、BR)作为指令的参数。