返回主站|会员中心|保存桌面

西安西驰服务商    

变频器、软启动器

新闻分类
  • 暂无分类
站内搜索
 
友情链接
  • 暂无链接
首页 > 新闻中心 > 一个CP1H PID温度或压力方面的示例程序?
新闻中心
一个CP1H PID温度或压力方面的示例程序?
发布时间:2025-11-16        浏览次数:1        返回列表

以下是基于欧姆龙 CP1H PLC 的塔器远传液位计高低限报警温度 PID 控制示例程序思路及关键代码片段,供参考。

一、系统功能说明

  1. 液位报警:通过远传液位计(如 4~20mA 信号)采集塔器液位,设置高限(HH)、低限(LL)报警,触发时输出报警信号(如指示灯、蜂鸣器)。

  2. 温度 PID 控制:采集塔器某段温度(如 Pt100 热电阻或 4~20mA 变送器),通过 PID 调节加热 / 冷却装置(如电动阀、加热器),维持温度稳定。

二、I/O 分配表

类型地址描述
输入0.00系统启动按钮
输入0.01系统停止按钮
模拟量输入AI0 (IR200)液位信号(4~20mA,对应 0~100%)
模拟量输入AI1 (IR201)温度信号(4~20mA,对应 0~200℃)
输出100.00液位高限报警(HH)
输出100.01液位低限报警(LL)
模拟量输出AO0 (IR210)PID 调节输出(4~20mA,控制执行器)

三、程序结构(关键环节)

1. 液位信号采集与报警处理

  • 信号转换:将 4~20mA 液位信号转换为 0~100% 的工程量(假设液位量程 0~10m,对应 4~20mA)。

  • 报警逻辑:当液位>高限设定值(如 8m)触发 HH 报警;<低限设定值(如 2m)触发 LL 报警,报警可带延时防抖。

ladder

// 液位信号转换(4~20mA → 0~100%)
// AI0输入值(IR200)范围:0~4095(对应4~20mA)
MOV     &204       D100       // 4mA对应AD值=204(初始值)
MOV     &3891      D101       // 20mA对应AD值=3891(满量程)
MOV     IR200      D102       // 当前液位AD值
// 计算液位百分比:(当前值-初始值)/(满量程-初始值)*100
SUB     D102       D100       D103   // D103 = 当前值-初始值
SUB     D101       D100       D104   // D104 = 满量程-初始值
DIV     D103       D104       D105   // D105 = 比例值(0~1)
MUL     D105       &100       D106   // D106 = 液位百分比(0~100%)

// 液位高限报警(HH=80%,即8m)
CMP     D106       &80        // 比较当前液位与高限
BCMP    100.00     // 若D106>80,100.00输出(高限报警)

// 液位低限报警(LL=20%,即2m)
CMP     D106       &20        // 比较当前液位与低限
BCMP    100.01     // 若D106<20,100.01输出(低限报警)

2. 温度 PID 控制

  • 信号转换:将温度信号(4~20mA)转换为实际温度值(如 0~200℃)。

  • PID 参数设置:通过 CP1H 的PID指令实现闭环控制,需设定比例带(P)、积分时间(I)、微分时间(D),以及目标温度(SV)。

  • 输出限制:将 PID 输出限制在 4~20mA 范围(对应执行器的 0~100% 开度)。

ladder

// 温度信号转换(4~20mA → 0~200℃)
MOV     &204       D200       // 4mA对应AD值=204(0℃)
MOV     &3891      D201       // 20mA对应AD值=3891(200℃)
MOV     IR201      D202       // 当前温度AD值
SUB     D202       D200       D203   // D203 = 当前值-初始值
SUB     D201       D200       D204   // D204 = 满量程-初始值
DIV     D203       D204       D205   // D205 = 比例值(0~1)
MUL     D205       &200       D206   // D206 = 实际温度(℃)

// PID控制参数设置
MOV     &150       D300       // 目标温度SV=150℃
MOV     &50        D301       // 比例带P=50(%)
MOV     &100       D302       // 积分时间I=100s
MOV     &20        D303       // 微分时间D=20s
MOV     &0         D304       // 控制方向:0=正作用(升温)

// 启动PID控制(仅在系统运行时有效)
LD      0.00        // 系统启动信号
AND     NOT 0.01    // 系统未停止
PID     D206        D300       D301   D302   D303   D304   D400  // 执行PID运算,结果存D400

// PID输出转换为4~20mA(对应AO0输出)
// D400为PID输出(0~100%),转换为AD输出值(204~3891)
MOV     &204       D401       // 4mA对应输出值
MOV     &3687      D402       // 量程差值(3891-204=3687)
MUL     D400       D402       D403   // D403 = 输出比例值
DIV     D403       &100       D404   // 除以100得实际偏移量
ADD     D404       D401       D405   // 加上初始值,得AO输出值
MOV     D405       IR210      // 输出到AO0(控制执行器)

四、关键说明

  1. 模拟量处理:CP1H 的模拟量输入(AI)和输出(AO)需在编程软件(CX-Programmer)中配置信号类型(电流 / 电压),默认 4~20mA 对应 AD 值为 204~3891。

  2. PID 参数调试:比例带(P)减小会增强响应但可能震荡,积分时间(I)减小会加快稳态误差消除,需根据实际系统动态调整(建议先固定 P,再调 I,最后加 D)。

  3. 报警防抖:可在液位报警逻辑中加入TON定时器,如液位超限持续 2 秒后再触发报警,避免信号波动误报。

  4. 安全连锁:实际应用中需关联液位与温度的连锁逻辑(如液位过低时停止加热,防止干烧)。

如需完整程序或特定功能细化(如压力 PID 控制),可补充说明具体需求,进一步调整逻辑。

收缩
  • QQ咨询

  • 电话咨询

  • 18576370666
  • 添加微信客服