运行期间的操作运行期间,如果仅对相应参数进行更改并且整个数据块未下载到 CPU,则可在“DB_LOOP”数 据块中进行如下更改: • 禁用单个控制器将值 TRUE 写入 MAN_DIS[x] 变量可禁止运行期间处理控制器 x。将值 FALSE 写入 MAN_DIS[x]之前,LP_SCHED 不会将该控制器的 ENABLE 位设置为 TRUE。 • 初始化控制回路 可通过将值 TRUE 写入MAN_CRST[x] 变量重新启动单个控制器:这种情况下,LP_SCHED 会在下次处理控制器 x 时将值 TRUE 写入COM_RST[x] 变量。 在后续处理此控制回路时, LP_SCHED 会将值 FALSE 写入变量 MAN_CRST[x] 和COM_RST[x]。 • 更改控制回路的采样时间 运行期间,可以更改 MAN_CYC[x] 参数: 说明 如果要将整个DB_LOOP 数据块下载到 CPU 而无需启动 CPU,则必须将内部控制回 路计数器 ILP_COU[x], x = 1,...GLP_NBR 和当前控制回路数 ALP_NBR 预分配为零。 监视 LP_SCHED 指令 LP_SCHED 在 DB_LOOP数据块的 ALP_NBR 变量中输入要在下次处理的控制器数。 各控制回 路的编号是根据调用数据在数据块中的顺序确定的。ILP_COU[x] 变量是内部计数器。 它接收下次调用相应控制器前的时间间隔。 ILP_COU 的时 间单位通过时基 TM_BASE与控制回路数 GLP_NBR 的乘积得到。 如果 ILP_COU = 0, LP_SCHED 会设置相应控制器的ENABLE 位。 没按预期调用控制回路时 如果调用了 LP_SCHED,没有处理单个控制回路,则可能的原因如下: • 将值TRUE 写入 MAN_DIS[x] 变量禁止运行期间处理控制回路。 • 在 GLP_NBR 参数中指定的让 LP_SCHED处理的控制器数过小。 • 所指定的单个控制回路的采样时间 MAN_CYC[x] 不可小于时基 TM_BASE 与控制器数GLP_NBR 的乘积。 将不会处理不满足此条件的控制器。
还可以使用外部源文件生成全局数据块。请按以下步骤进行操作: 1. 将下面的文本复制到剪贴板中。 2. 打开外部文本编辑器。3. 将复制的文本从剪贴板粘贴到文本编辑器中。 4. 使用文件扩展名“DB”保存文件。 5. 打开 TIA Portal项目树中的“外部源”(External sources) 文件夹。 6. 双击命令“添加新外部文件”(Add new externalfile)。 随即会显示“打开”(Open) 对话框。 7. 导航至已创建的外部源文件并将其选中。 8. 单击“打开”(Open)确认选择。 9. 选择外部源文件。 10.选择快捷菜单中的命令“从源中生成块”(Generate blocks fromsource)。 11.将显示一条安全提示,提示您将覆盖任何现有块。 12.在出现安全提示时单击“确定”(OK)。13.对创建的数据块进行调整,使其符合您的应用要求。模块化 PID 控制 (S7-300, S7-400) 常规 (S7-300,S7-400) 适用于方框图中的参数和块名称的约定 为参数标识选择不多于 8 个字符。 以下约定适用于参数的标识: 首字符: QBOOL 类型(布尔变量)的常规输出 SP 参考变量 PV 测量值或受控变量 LMN 调节变量或要输出的模拟输出信号 DISV干扰变量 后续字符: MAN 手动值 INT 内部 EXT 外部 _ON 用于激活功能的布尔变量。调用数据 多数模块化 PID控制指令都需要控制回路特定的调用数据(如重启动位和采样时间)。这些 值将被传送到输入 COM_RST 和 CYCLE。块参数栏上的备注(输入、输出和输入/输出参数) • 预分配的值: 在此处显示实例创建的预分配的值。 •值范围:输入参数中的值不应超过值的允许范围。此范围在块执行期间将不检查。 如果 指定了工程值的范围,则意味着物理变量值应位于约 ±106 之间。 A_DEAD_B (S7-300, S7-400) A_DEAD_B 说明 (S7-300, S7-400)如果过程值受噪声影响并且控制器的设置Zui优,则噪声还会影响控制器输出。 这样会导致 执行器因(步进控制器)高频操作而增加磨损。控制器输出的振荡通过噪声抑制组件来消 除。 工作原理 该指令从控制偏差中过滤出高频干扰信号并在零点周围产生死区。 如果输入变量位于该范围内,则将在输出中输出零。 范围幅度将根据干扰信号的幅度自动调整。 指令根据以下条件运行:调整死区 可以激活和取消激活死区的调整。 •调整关闭 如果禁用调整 (ADAPT_ON = FALSE),则Zui后的 DB_WIDTH 值将作为有效死区宽度 DB_WIDTH被冻结。 • 调整开启 在 ADAPT_ON = TRUE 的情况下,可以激活计算有效死区宽度的调整算法。 其作用是根据叠加在输入变量上的噪声信号幅度调整死区宽度,这样还可在噪声幅度波动时抑制噪 声成分。 在非周期性块调用的情况下,必须禁用调整(ADAP_ON = FALSE)。 如果在调试期间激活调整,并且在一定时间后出现稳定的死区宽度,则可以禁用调整。 只要未执行完全重启动,通过调整设置的死区宽度就会保持有效。 调整开启 要确保稳定性,有效的死区宽度 DB_WIDTH 不得低于DB_WL_LM 值表示的下限,该值可在 输入栏中指定。如果由测量噪声叠加的输入信号 INV 于周期 1/CRIT_FRQ 内在负方向(1)、正 方向 (2) 和负方向 (3) 上超过当前指定的死区宽度,则有效的死区宽度将增加 0.1 的数量。此程序将在正向或负向超出限制的情况下启动。 在半个周期持续时间范围内,无论何时再 次超出相对的死区宽度 (3 ->4),都会增加 0.1。 本程序会重复进行直至死区宽度与测 量噪声的幅度一致。为了不随机地抑制任何尺寸的输入信号,有效的死区宽度不得超过 DB_WH_LM 表示的上限。 另一方面,如果在 RET_FAC *1/CRIT_FRQ 的时间内未超出死区宽 度,则会减小 0.1 的数量。 CRIT_FRQ 可指定据此将信号成分视为干扰的限制频率。该频率在以下上限和下限之间: 0.01 ≤ CRIT_FRQ ≤ 1/(3*CYCLE) 其中 CYCLE: 以秒为单位的采样时间RET_FAC 参数将基于 1/CRIT_FRQ 减小的死区宽度,指定它的倍数。调整逻辑仅在无干扰分量的输入变量位于零位置附近的情况下起作用。完全重启动 完全重启动时,会设置 OUTV=0.0并且有效死区宽度被设置为 DB_WIDTH = DB_WL_LM。 块内部的限制 输入参数的值在指令中不受限制。没有参数检查。A_DEAD_B 输入参数 (S7-300, S7-400) 参数 数据类型 预分配的值 说明 INV REAL 0.0输入变量 工程值范围 DB_WH_LM REAL 5.0 死区宽度上限 工程值范围 DB_WH_LM > DB_WL_LMDB_WL_LM REAL 1.0 死区宽度下限 工程值范围 DB_WL_LM < DB_WH_LM CRIT_FRQ REAL0.1 限制频率 CRIT_FRQ ≥ 0.01 和 CRIT_FRQ ≤ 1/(3 * CYCLE) RET_FAC INT 1返回系数 RET_FAC ≥ 1 ADAPT_ON BOOL FALSE 激活调整算法 COM_RST BOOL FALSE 重启CYCLE TIME T#1s 采样时间 CYCLE ≥ 1ms 输出参数 A_DEAD_B (S7-300, S7-400) 参数数据类型 预分配的值 说明 OUTV REAL 0.0 输出变量 DB_WIDTH REAL 0.0 有效死区宽度CRP_IN(S7-300, S7-400) CRP_IN 说明 (S7-300, S7-400) 此指令会将模拟 I/O值的范围调整为模块化控制的内部表示。 例如,可在过程值分支中调用 此指令。 工作原理 CRP_IN 可将 I/O格式的输入值转换为模块化控制的标定浮点值。DEAD_T (S7-300, S7-400) DEAD_T 说明 (S7-300,S7-400) 此指令用于比率控制系统,其中在不同长度传输路径上的各个组件将进行合并。 工作原理此指令通过可分配的时间(空载时间)延迟输入值的输出。在空载时间内,如果存在在线变 更,则对输出值会出现的情况如下:输入值暂时存储在全局数据块中。 全局数据块 DB_DEADT (页 8221)未包含在库中。您必须自行创建此全局数据块。全局数据块必须包含一个 Array [0..nmax] of real。 nmax 由 DEAD_T. 指令的空载时间 DEAD_TM和采样时间 CYCLE 确定。具体情况如下: • DEAD_TM 必须为 CYCLE 的整数倍。 •nmax=DEAD_TM/CYCLE 在周期 n 中,从全局数据块读取已保存的输入值 INV[n] 并将其输出到OUTV。INV[n] 将被 当前的输入值覆盖。计数器 n 以 1 为增量递增。n = nmax 时,会将计数器复位为 0。在输入参数 DB_NBR 中指定全局块的编号。 示例 在采样时间 CYCLE=1s 且空载时间 DEAD_TM=5s 时,必须缓冲 5个输入值。数据区域必须 具有 20 个字节的长度。