附加功能 (S7-300) 智能从站 (S7-300) SET_ADDR:将网络地址设置为自己的智能从站 (S7-300)说明 可使用该指令更改 iSlave DP 接口的 DP 地址。寻址是通过 DP 接口的诊断地址进行的。对于 DP主站,将从总线丢弃具有Zui旧地址的 DP 从站,并将具有新地址的 DP 从站包括在总线中。 • 如果已由 DP网络中的某个站分配了地址,则两个 DP 从站都将从网络中丢弃。 • 如果该地址也用作编程设备接口的 MPI地址,则可能会禁用对设备的访问。“可访问的 设备” (Accessible Devices)对话框中显示了有关是否可以访问设备的信息。 网络地址不会写入 SDB(系统数据块),也不会装载到工作存储器中。当 CPU 转为STOP 模 式并执行暖启动时,将会保留网络地址。复位或冷启动之后,将使用Zui初组态的地址。 此指令不能用于 PROFINETIO,因为以太网地址可定义为断开。如果该指令用于 PROFINET IO,则将输出错误代码 16#809B。 功能描述“SET_ADDR”为异步执行指令。即,指令的执行可跨多次调用。通过调用“READ_DBL”,且 REQ = 1,可启动该作业。输出参数 RET_VAL 和 BUSY 用于指示作业状态。
下表列出了“SET_ADDR”指令的参数: 参数 声明 数据类型 存储区 说明 REQ Input BOOLI、Q、M、D、L REQ=1:函数调用 LADDR Input WORD I、Q、M、D、L 或常 量 逻辑基本地址 ADDRInput BYTE I、Q、M、D、L 或常 量 新设备地址 RET_VAL 返回 INT I、Q、M、D、L 错误信息 BUSYOutput BOOL I、Q、M、D、L BUSY=1:作业尚未完成。有关有效数据类型的更多信息,请参见“有效数据类型概述。
PID 控制 (S7-300,S7-400) PID 基本功能 (S7-300, S7-400) CONT_C (S7-300, S7-400) CONT_C 说明(S7-300, S7-400) 在 SIMATIC S7 自动化系统中可使用 CONT_C指令控制具有连续输入和输出变量的工艺过程。 可分配参数来启用或禁用 PID 控制器的子功能并使其适应该过程。除了设定值和过程值分支中的功能外,该指令还实现了一个完整的 PID 控制器,该控制器具有连续的输出值输出,并 且允许手动影响输出值。 应用可以使用该控制器作为 PID 固定设定值控制器,或在多回路控制系统中作为级联、混合或比率控制器。控制器的功能基于带有模拟信号的采样控制器的 PID 控制算法,必要时还可按以下方法进行扩展:增加一个脉冲整形器环节,以便为带有比例执行器的两位或三位控制器生 成脉宽调制的输出信号。 调用 CONT_C指令具有一个初始化例程,在设置输入参数 COM_RST = TRUE 时将运行该例程。初 始化过程中,积分作用被设置为初始化值I_ITVAL。所有信号输出都被设置为零。完成初始 化例程后,必须设置 COM_RST = FALSE。只有以固定时间间隔调用块时,在控制块中计算的值才是正确的。应在循环中断 OB (OB 30 到 OB 38)中调用控制块。在CYCLE 参数中输入采样时间。 错误信息 错误消息字 RET_VAL 不由块进行评估。CONT_C 的工作原理 (S7-300,S7-400) 设定值分支 在输入 SP_INT 中输入浮点格式的设定值。 过程值分支 可以 I/O 或浮点格式输入过程值。 函数CRP_IN 按照以下规则将 I/O 值 PV_PER 转换为浮点格 式的值 -100 到 +100 %: CRP_IN =PV_PER * 100 / 27648 的输出 函数 PV_NORM 根据以下规则标定 CRP_IN 的输出: PV_NORM的输出 = (CRP_IN 的输出) *PV_FAC + PV_OFF PV_FAC 的默认值为 1,PV_OFF 的默认值为 0。形成误差信号 设定值与过程值之间的差值是误差信号。 要抑制由于调节变量量化而产生的小幅持续振荡 (例如,使用 PULSEGEN进行脉宽调制时),可将误差信号应用于死区 (DEADBAND)。 DEADB_W = 0 时,死区关闭。 PID 算法 PID算法作为位置算法运行。 比例、积分 (INT) 和微分 (DIF) 作用并行连接在一起,可以单 独激活或禁用。 这样便可组态P、PI、PD 和 PID 控制器。 也可以组态纯 I 控制器。 手动值处理 可以在手动模式和自动模式之间切换。在手动模式下,调节变量被修正为手动选择的值。 积分作用 (INT) 内部设置为 LMN - LMN_P - DISV,微分作用(DIF) 内部设置为 0 并同步。可以平滑地切换到自动模式。 调节值处理 可以使用 LMNLIMIT函数将调节值限制为所选值。 输入变量超过限值时,报警位会给予指 示。 函数 LMN_NORM 按照以下规则对 LMNLIMIT的输出进行标准化:输入参数 CONT_C (S7-300, S7-400) 以下参数的名称既适用于数据块,也适用于通过Openness API 访问。 表格 4-263 参数 数据 类型 默认 值 说明 COM_RST BOOL FALSE该指令具有一个初始化例程, 在对“重启”输入进行置位时将处理该例程。 MAN_ON BOOL TRUE如果输入“启用手动模式”被置位,则控制回路会中断。手动值 设置为调节值。 PVPER_ON BOOL FALSE 如果要从 I/O读取过程值,输入 PV_PER 必须与 I/O 互连,且输入“启用过程值 I/O”必须置位。 P_SEL BOOL TRUE 可在PID 算法中单独开启或关闭 PID 作用。置位输入“启用 P 作用”后,P 作 用打开。 I_SEL BOOL TRUE 可在PID 算法中单独开启或关闭 PID 作用。置位“I 作用开启”输入后, I 作用打开。 INT_HOLD BOOL FALSE可冻结积分作用的输出。为此,必须置位输入“I 作用保持”。 I_ITL_ON BOOL FALSE 可在输入 I_ITLVAL设置积分作用的输出。为此,必须置位输入“设置 I 作用”。 D_SEL BOOL FALSE 可在 PID 算法中单独开启或关闭PID 作用。置位“启用 D 作用”输入后, D 作用打开。 CYCLE TIME T#1s块调用之间的时间间隔必须恒定。“采样时间”输入用于指定 块调用之间的时间。 CYCLE >= 1ms SP_INT REAL0.0 “内部设定值”输入用于指定设定值。 允许值从 -100 到 100 %,或者是物理变量 1)。 PV_IN REAL 0.0在“过程值输入”处,可以将参数分配给调试值,或者互连浮点格式的外部过 程值。 允许值从 -100 到 100 %,或者是物理变量1)。 PV_PER WORD W#16 #000 0 I/O 格式的过程值在“过程值 I/O”输入处与控制器互连。参数 数据 类型默认 值 说明 MAN REAL 0.0 “手动值”(Manual value) 输入用于通过操作界面设置一个 设置一个 手动值。允许值从 -100 到 100 %,或者是物理变量 2)。 GAIN REAL 2.0 “比例增益”输入用于指定控制器放大率。 TITIME T#20s “积分时间”输入用于确定积分作用的 时间响应。 TI >= CYCLE TD TIME T#10s“微分作用时间”(Derivative action time) 输入用于确定 微分作用的时间响应 TD >= CYCLETM_LAG TIME T#2s D 作用的时间滞后 D 作用算法包含延迟,用于在“D 作用的时间滞后”输入中延迟分配参数。TM_LAG >= CYCLE/2 DEADB_W REAL 0.0 将死区应用到系统偏差。“死区宽度”输入用于确定死区的大小。DEADB_W >= 0.0 (%) 或物理变量 1) LMN_HLM REAL 100.0调节值始终限制在上限和下限之间。“调节值的上限”输入用于指定上限。 允许实数值从 LMN_LLM(%) 开始,或是物理变量 2)。LMN_LLM REAL 0.0 调节值始终限制在上限和下限之间。“调节值的下限”输入用于指定下限。 允许实数值Zui大为LMN_HLM(%),或是物理变量 2)。 PV_FAC REAL 1.0“过程值因子”输入与过程值相乘。该输入用于标定过程值的范围。 PV_OFF REAL 0.0“过程值偏移量”输入与过程值相加。该输入用于标定过程值的范围。 LMN_FAC REAL 1.0“调节值因子”输入与调节值相乘。该输入用于标定调节值的范围。 LMN_OFF REAL 0.0“调节值偏移量”输入与过程值相加。该输入用于标定调节值的范围。 I_ITLVAL REAL 0.0 可在输入 I_ITL_ON设置积分作用的输出。初始化值在输入“积分操作的初始化 值”处指定。 允许值从 -100.0 到 100.0 (%),或者是物理变量2)。 DISV REAL 0.0 对于前馈控制,扰动变量与输入“扰动变量”互连。 允许值从 -100.0 到 100.0(%),或者是物理变量 2)。 1) 设定值和过程值分支中的参数具有相同的单位。