表3.2 PID回路指令
名称 指令格式 指令表格式 梯形图 PID运算 PID PID TBL,LOOP 使用方法:当EN端口执行条件存在时候,就可进行PID运算。指令的两个操作数TBL和LOOP,TBL是回路表的起始地址,本文采用的是VB100,因为一个PID回路占用了32个字节,所以VD100到VD132都被占用了。LOOP是回路号,可以是0~7,不可以重复使用。PID回路在PLC中的地址分配情况如表3.3所示。
表3.3 PID指令回路表
偏移地址 名称 数据类型 说明 0 4 8 12 16 20 24 28 32 过程变量(PVn) 给定值(SPn) 输出值(Mn) 增益(Kc 采样时间(Ts) 采样时间(Ti) 微分时间(Td) 积分项前值(MX) 过程变量前值(PVn-1) 实数 实数 实数 实数 实数 实数 实数 实数 实数 必须在0.0~1.0之间 必须在0.0~1.0之间 必须在0.0~1.0之间 比例常数,可正可负 单位为s,必须是正数 单位为min,必须是正数 单位为min,必须是正数 必须在0.0~1.0之间 必须在0.0~1.0之间 3.1.3 回路输入输出变量的数值转换方法
本文中,设定的温度是给定值SP,需要控制的变量是炉子的温度。但它不完全是过程变量PV,过程变量PV和PID回路输出有关。在本文中,经过测量的温度信号被转化为标准信号温度值才是过程变量,所以,这两个数不在同一个
13
数量值,需要他们作比较,那就必须先作一下数据转换。传感器输入的电压信号经过EM235转换后,是一个整数值,但PID指令执行的数据必须是实数型,所以需要把整数转化成实数。使用指令DTR就可以了。如本设计中,是从AIW0读入温度被传感器转换后的数字量。其转换程序如下:
MOVW AIW0 AC0 DTR AC0 AC0 MOVR AC0 VD100 3.1.4 实数归一化处理
因为PID中除了采样时间和PID的三个参数外,其他几个参数都要求输入或输出值0.0~1.0之间,所以,在执行PID指令之前,必须把PV和SP的值作归一化处理。使它们的值都在0.0~1.0之间。单极性的归一化的公式:
Rnoum?(Rraw/32000) (3-5)
3.1.5 PID参数整定
PID参数整定方法就是确定调节器的比例系数P、积分时间Ti和和微分时间Td,改善系统的静态和动态特性,使系统的过渡过程达到最为满意的质量指标要求。一般可以通过理论计算来确定,但误差太大。目前,应用最多的还是工程整定法:如经验法、衰减曲线法、临界比例带法和反应曲线法。
经验法又叫现场凑试法,它不需要进行事先的计算和实验,而是根据运行经验,利用一组经验参数,根据反应曲线的效果不断地改变参数,对于温度控制系统,工程上已经有大量的经验,其规律如表3.4所示
表3.4 温度控制器参数经验数据
被控变量 温度 规律的选择 滞后较大 比例度 20~60 积分时间(分钟) 微分时间(分钟) 3~10 0.5~3 根据反复的试凑,调处比较好的结果是P=15,I=2.0,D=0.5。
14
3.2 S7-200程序设计流程图
主程序
运行PLC 子程序0
设定温度 初始化运行指示设定PID值 初始化PID 每100ms调用一次中断程序 调用子程序0 返回 中断程序
读入温度并转换 把实际温度值放入VD100 调用PID指令 输出PID值
图3.2 设计流程图
3.3 内存地址分配与PID指令回路表
3.3.1 内存地址分配
表3.5 内存地址分配
地址 VD0 VD4 说明 实际温度存放 设定温度存放 15
VD30 3.3.2 PID指令回路表
实际温度的存放 表3.6 内存地址分配
地址 VD100 VD104 VD108 VD112 VD116 VD120 VD124 VD128 VD132 名称 过程变量(PVn) 给定值(SPn) 输出值(Mn) 增益(Kc 采样时间(Ts) 采样时间(Ti) 微分时间(Td) 积分项前值(MX) 过程变量前值(PVn-1) 说明 必须在0.0~1.0之间 必须在0.0~1.0之间 必须在0.0~1.0之间 比例常数,可正可负 单位为s,必须是正数 单位为min,必须是正数 单位为min,必须是正数 必须在0.0~1.0之间 必须在0.0~1.0之间 3.4 S7-200程序设计梯形图
3.4.1 初次上电
1)读入模拟信号,并把数值转化显示锅炉的当前电压
2)判断炉温是否在正常范围,打亮正常运行指示灯/温度越上限报警指示灯
16