MCAT:电机控制定时器报警 (S7-300, S7-400) 说明可以使用“电机控制定时器报警”指令,从激活某个命令输入(打开或关闭)时开始计时。计时过程一直持续到超出了预设时间,或相关反馈输入提示设备已在规定时间内执行了要求 的操作为止。如果在收到反馈前就超出了预设时间,则触发相应的报警。 在程序中插入该指令时,将打开“调用选项”(Call options)对话框,可以指定块参数将存储 在单个数据块中(单背景)或者作为局部变量存储在块接口中(多重背景)。 如果创建了一个单独的数据块,则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > Systemblocks) 路径中的“程序资源”(Program resources) 文件夹内。 有关本主题的更多信息,请参 见“另请参见”。“电机控制定时器报警”指令不提供错误信息。 执行“电机控制定时器报警”指令下表列出了“电机控制定时器报警”指令对各种输入条件的反应:参数 声明 数据类型 存储区 说明 ET Static DINTI、Q、M、D、L 当前已用时间,其中 1 次 计数 = 1 ms。 PT Static DINT I、Q、M、D、L预设的定时器值,其中 1 次计数 = 1 ms。 PREV_TIME Static 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) 说明 “比较输入位与掩码位”指令可以将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 中输出错误信息。 在程序中插入该指令时,将打开“调用选项”(Call options) 对话框,可以指定块参数将存储在单个数据块中(单个背景)或者作为局部变量存储在块接口中(多重背景)。如果创建了 一个单独的数据块,则该数据块将保存到项目树“程序块> 系统块”(Program blocks > System blocks) 路径中的“程序资源”(Programresources) 文件夹内。有关本主题的更多信息,请参见 “另请参见”。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) 文件夹内。有关本主题的更多信息,请参见 “另请参见”。LEAD_LAG:提前和滞后算法 (S7-300,S7-400) 说明 可以使用“提前和滞后算法”指令通过模拟量变量处理信号。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的相位进行移位,使得输出提前于输入。“滞后”操作对输出进行移位,使得输出滞后于输入。由于“滞后”操作相当于积分,可用作噪声抑制器或低通滤波器。“提前”操作相当于微分,可用作高通滤波器。使用两个指令(“提前”和“滞后”),将导致在较低频率时输出的相位滞后于输入,而在较高频率时输出的相位提前于输入。这意味着“提前和滞后算法”指令可用作带通滤波器。 在程序中插入该指令时,将打开“调用选项”(Call options)对话框,可以指定块参数将存储 在单个数据块中(单个背景)或者作为局部变量存储在块接口中(多重背景)。如果创建了一个单独的数据块,则该数据块将保存到项目树“程序块 > 系统块”(Program blocks > Systemblocks) 路径中的“程序资源”(Program resources) 文件夹内。有关本主题的更多信息,请参见 “另请参见”。参数 下表列出了“提前和滞后算法”指令的参数: 参数 声明 数据类型 存储区 说明 EN Input BOOL I、Q、M、D、L、T、C 使能输入 ENO Output BOOL I、Q、M、D、L 使能输出 IN Input REAL I、Q、M、D、L、P 或常数 待处理的当前采样时间 (周期)输入值。 SAMPLE_T Input INT I、Q、M、D、 L、P 或常数采样时间 OUT Output REAL I、Q、M、D、 L、P 指令的结果 ERR_CODE Output WORDI、Q、M、D、 L、P 错误信息 LD_TIME Static REAL I、Q、M、D、 L、P 或常数 提前时间的单位与采样时间的相同。 LG_TIME Static REAL I、Q、M、D、 L、P 或常数 滞后时间的时间单位与与 采样时间的相同 GAINStatic REAL I、Q、M、D、 L、P 或常数 %/% 的增益(稳态下输出 变化与输入变化的比率)。 PREV_INStatic REAL I、Q、M、D、 L、P 或常数 上一次输入 PREV_OUT Static REAL I、Q、M、D、L、P 或常数 上一次输出TONR_X:时间累加器 (S7-300, S7-400) 说明 可以使用“时间累加器”指令在使用输入 PV设置的时间段内累加时间值。启动输入 TMR_EN 的信号状态从“0”变为“1”时,将执行该指令。定时器的运行时间由输入 PV设置。执行 该指令时,它将输入 DELTA_T 的时间值添加到 InOut ET 的时间值。 必须满足以下要求: • 启动输入TMR_EN 的信号状态为“1”。 • InOut ET 的时间值小于参数 PV 的时间值。 • 输入 RESET的信号状态为“0”。 启动输入 TMR_EN 的信号状态从“1”变为“0”时,将中断该指令。在信号状态变回“1”后,该指令立即恢复执行。 当 InOut ET 的时间值达到输入 PV 的时间值时,该指令结束。输出 Q 的信号状态将为“1”。 只要输出 Q的信号状态为“1”,InOut ET 的时间值就保持不变。时间值和输出 Q 将不会复位为 “0”,直至输入 RESET的信号状态设置为“1”。 由于“时间累加器”指令使用组织块 (OB) 上一次循环的循环时间 (DELTA_T),只能在循环组织块中调用该指令。 说明 必须将该组织块的循环时间从启动信息移动到参数 DELTA_T 的全局变量。 参数下表列出了“时间累加器”指令的参数: 参数 声明 数据类型 存储区 说明 EN Input BOOL I、Q、M、D、 L、T、C使能输入 ENO Output BOOL I、Q、M、D、 L、T、C 使能输出 TMR_EN (Timer Enable)Input BOOL I、Q、M、D、 L、T、C 启动输入 启动指令,并且预设持续 时间时间在输入 PV 上到期。