示例:如何创建 IPIDController 程序以控制供水水位
供水水位控制程序示例用于使正在向外供水的供水水箱保持有足够的水量。电磁阀控制进水量并按预设的速率加注水箱;外流的水也会按预设速率加以控制。
示例:如何创建 IPIDController 程序以控制供水水位

程序示例信息
供水水位程序示例包括以下信息:
- 在控制过程中发生的事件序列。
- 设定点、过程值以及操作值在控制程序中的使用方式。
- 用于展示 IPIDController 和其他指令块的功能块图示例。
设定点、过程值和操作值
下表定义了 SP、PV 和 MV 值在供水水位程序中的使用方式。
项目 | 描述 |
|---|---|
设定点 (SP) | 用于定义目标供水水位的高度测量值。 |
过程值 (PV) | 必须将 4-20mA 换算成与 SP 相同的单位,即高度测量值。 |
操作值 (MV) | 必须转换为模拟值。因此可以将其输出到驱动器以控制泵。 |
供水水位系统
下图展示了供水水位系统中由供水水位程序控制的组件。图后的表格描述了在控制程序运行时发生的事件。
供水水位系统

供水水位系统中的事件序列
下表标识了供水系统中的组件,并按顺序描述了供水水位程序运行时在系统中发生的事件。
编号 | 项目 | 描述 |
|---|---|---|
![]() | 控制器输出 | 将 MV 发送至 PowerFlex 驱动器 (0-10V)。 |
![]() | PowerFlex 驱动器 | 控制水泵 (0-50Hz)。 |
![]() | 水泵 | 控制供水池中的水位。 |
![]() | 输出传输设备 | 测量供水水位高度 (4-20mA),并将 PV 发送至控制器。 |
![]() | 控制器输入 | 接收 PV(供水水位 4-20mA)。 |
![]() | PLC 程序 | 将 PV 转换为与 SP(高度测量值)相同的单位,确定 PV 和 SP 之间的差异,并根据 P、I 和 D 参数中定义的参数值调整 MV。 |
示例:供水水位控制功能块图
以下功能块图展示了用于控制供水水位的程序中预定义和用户定义的功能块。
供水水位控制功能块图

在水位 FBD 中使用的功能块和 UDFB
此应用程序使用下表中所述的指令,采用 FBD 语言开发。
功能块 | 描述 |
|---|---|
IPIDController 功能块 | 提供 PID 过程控制。 |
PID_OutputRegulator UDFB | 在安全范围内调节 IPIDCONTROLLER 输出,以确保不会损坏该过程中使用的硬件。 示例代码:
|
PID_Feedback UDFB | 用作多路复用器。 示例代码:
|
PID_PWM UDFB | 提供 PWM 函数,用于将实型值转换为与时间相关的 ON/OFF 输出。 |
SIM_WATERLVL UDFB | 模拟应用程序示例中的过程。 |
提供反馈





