MCAT:电机控制定时器报警 (S7-300, S7-400) 说明“电机控制定时器报警”指令用于从开启命令输入(打开或关闭)时开始计时。计时过程一直持续到超出了预设时间,或相关反馈输入提示设备已在规定时间内执行了要求的操作为止。如果在收到反馈前就超出了预设时间,则触发相应的报警。 在程序中插入该指令时,将打开“调用选项”(Call options)对话框,可以指定块参数将存储 在单个数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。如果创建了一个单独的数据块,则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > Systemblocks) 路径中的“程序资源”(Program resources) 文件夹内。有关本主题的更多信息,请参见 “另请参见”。执行“电机控制定时器报警”指令 下表列出了“电机控制定时器报警”指令对各种输入条件的反应:离散控制定时器报警”指令不提供错误信息。参数 下表列出了该指令的参数: 参数 声明 数据类型 存储区 说明 CMD Input BOOL I、Q、M、D、L信号状态“0”表示“关闭 (close)”命令。 信号状态“1”表示“打开 (open)”命令。 O_FB Input BOOLI、Q、M、D、L 打开时的反馈输入 C_FB Input BOOL I、Q、M、D、L 关闭时的反馈输入 Q Output BOOLI、Q、M、D、L 显示参数 CMD 的状态 OA Output BOOL I、Q、M、D、L 打开时的报警输出 CA OutputBOOL I、Q、M、D、L 关闭时的报警输出 ET Static DINT I、Q、M、D、L 当前已用时间,其中 1 次 计数 =1 ms。 PT Static DINT I、Q、M、D、L 预设的定时器值,其中 1 个时钟脉冲 = 1 ms。 PREV_TIMEStatic DWORD I、Q、M、D、L 上一次的系统时间 CMD_HIS Static BOOL I、Q、M、D、L CMD历史位 有关有效数据类型的更多信息,请参见“另请参见”。 在程序中调用指令时,不显示静态参数。这些静态参数保存在指令实例中。 示例在以下示例中,参数 CMD 从“0”变为“1”。执行该指令后,参数 Q 将置位为“1”,而两个报警 输出 OA 和 CA的信号状态为“0”。背景数据块的参数 CMD_HIS 的信号状态将置位为“1”,同 时将参数 ET 复位为“0”。 说明可以初始化数据块中的静态参数。
IMC:比较输入位与掩码位(S7-300, S7-400) 说明 可以使用“比较输入位与掩码位”(Compare input bits with thebits 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 中输出错误信息。 在程序中插入该指令时,将打开“调用选项”(Calloptions) 对话框,可以指定块参数将存储 在单个数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。如果创建了一个单独的数据块,则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > System参数 声明数据类型 存储区 说明 OUT Output BOOL I、Q、M、D、L 信号状态“1”表示找到一个 匹配值。信号状态“0”表示未找到匹 配值。 ERR_CODE Output WORD I、Q、M、D、 L、P 错误信息 CMP_VALStatic ARRAY OF BOOL I、Q、M、D、L 比较掩码 [0 到 15,0 到 15]:下标的第一个编号为步号,第二个编号为掩码 的位号。 有关有效数据类型的更多信息,请参见“另请参见”。在程序中调用指令时,不显示静态参数。这些静态参数保存在指令实例中。SMC:比较扫描矩阵 (S7-300, S7-400) 说明“比较扫描矩阵”指令可将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”。在程序中插入该指令时,将打开“调用选项”(Call options) 对话框,可以指定块参数将存储在单个数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。如果创建了一 个单独的数据块,则该数据块将保存到项目树“程序块> 系统块”(Program blocks > System blocks) 路径中的“程序资源”(Programresources) 文件夹内。有关本主题的更多信息,请参见 “另请参见”。下表列出了该指令的参数: 参数 声明 数据类型 存储区说明 IN_BIT0 Input BOOL I、Q、M、D、L 比较输入位 0 与掩码位 0。 IN_BIT1 Input BOOLI、Q、M、D、L 比较输入位 1 与掩码位 1。 IN_BIT2 Input BOOL I、Q、M、D、L 比较输入位 2 与掩码位2。 IN_BIT3 Input BOOL I、Q、M、D、L 比较输入位 3 与掩码位 3。 IN_BIT4 Input BOOLI、Q、M、D、L 比较输入位 4 与掩码位 4。 IN_BIT5 Input BOOL I、Q、M、D、L 比较输入位 5 与掩码位5。 IN_BIT6 Input BOOL I、Q、M、D、L 比较输入位 6 与掩码位 6。 IN_BIT7 Input BOOLI、Q、M、D、L 比较输入位 7 与掩码位 7。 IN_BIT8 Input BOOL I、Q、M、D、L 比较输入位 8 与掩码位8。 IN_BIT9 Input BOOL I、Q、M、D、L 比较输入位 9 与掩码位 9。 IN_BIT10 Input BOOLI、Q、M、D、L 比较输入位 10 与掩码位 10。参数 声明 数据类型 存储区 说明 IN_BIT11 Input BOOLI、Q、M、D、L 比较输入位 11 与掩码位 11。 IN_BIT12 Input BOOL I、Q、M、D、L 比较输入位 12与掩码位 12。 IN_BIT13 Input BOOL I、Q、M、D、L 比较输入位 13 与掩码位 13。 IN_BIT14Input BOOL I、Q、M、D、L 比较输入位 14 与掩码位 14。 IN_BIT15 Input BOOLI、Q、M、D、L 比较输入位 15 与掩码位 15。 OUT Output BOOL I、Q、M、D、L 信号状态“1”表示找到一个匹配值。 信号状态“0”表示未找到匹 配值。 OUT_STEP Output BYTE I、Q、M、D、 L、P 包含具有匹配掩码的步号,如果未找到相匹配的 掩码,则是比参数 LAST 的值大“1”的步号。 ERR_CODE Output WORD I、Q、M、D、L、P 错误信息 LAST Static BYTE I、Q、M、D、 L、P 指定为获得匹配掩码而将 扫描的Zui后一步的步号。CMP_VAL Static ARRAY OF WORD I、Q、M、D、L 比较掩码 [0 到 15,0 到15]:下标的第一个编号为 步号,第二个编号为掩码 的位号。 有关有效数据类型的更多信息,请参见“另请参见”。在程序中调用指令时,不显示静态参数。这些静态参数保存在指令实例中。当参数 GAIN 的值小于或等于零时,将不进行计算,并在参数ERR_CODE 中输出错误信息。 “提前和滞后算法”(Lead and lag algorithm)指令可与回路一起用作动态前馈控制中的补偿器。 该指令由两项操作组成。“Lead”操作将输出 OUT的相位进行移位,使得输出提前于输入。相 反,“Lag”操作对输出进行移位,使得输出滞后于输入。由于“Lag”操作相当于积分,可用作噪声抑制器或低通滤波器。“Lead”操作相当于微分,可用作高通滤波器。使用两个指令(“Lead”和“Lag”),将导致在较低频率时输出的相位滞后于输入,而在较高频率时输出的相位提前于输入。这意味着“提前和滞后算法”指令可用作带通滤波器。