CALL SBR1 // 调用子程序1 LD M0.0 LPS
AN M0.3 TON T50, 100 LPP A T50
= M0.3 LD M0.3
CALL SBR2 LD M0.0 AN I0.3 LPS
AN T52 TON T51, VW34 LRD AN T51
= Q0.5 LPP A T51 TON T52, VW36
LD M0.0 LPS
AR<= VD30, 84.0 S I0.4, 1 //每10S使中间继电器M0.3为ON //每10S调用一次子程序2 //T51炉子一个周期内的加热时间 //T51炉子一个周期内的非加热时间 //使继电器(Q0.5)接通,炉子加热
子程序0
//如果温度小于84℃ //使I0.4常ON
26
R I0.5, 1 //使I0.5常OFF LPP
AR>= VD30, 84.0 //如果温度大于84℃ S I0.5, 1 //使I0.5常ON R I0.4, 1 //使I0.4常OFF LD M0.0 //常ON继电器 AN M0.6
A I0.4 //如果I0.4为ON,则执行以下程序 MOVR 300.0, VD0 //输入P值300到VD0 MOVR 999999.0, VD4 //输入I值999999.0到VD4 MOVR 0.0, VD8 //输入D值0.0到VD8
MOVR 100.0, VD12 //输入设定温度值100.0到VD12 LD M0.0 AN M0.6
A I0.5 //如果I0.5为ON,则执行以下程序 MOVR 120.0, VD0 //输入P值120.0到VD0 MOVR 3.0, VD4 //输入I值3.0. 到VD4 MOVR 1.0, VD8 //输入D值1.0到VD8
MOVR 100.0, VD12 //输入设定温度值,100.0到VD12
子程序 1
LD SM0.0
MOVR VD12, VD104 //输入设定温度值 /R 3200.0, VD104 //把设定值归一化处理 MOVR VD0, VD112 //输入P值到PID回路中 MOVR 10.0, VD116 //输入采样时间到PID回路中 MOVR VD4, VD120 //输入I值到PID回路中 MOVR VD8, VD124 //输入D值到PID回路中
27
子程序2
LD M0.0
MOVW AIW0, AC1 //采样温度,放于AIW0中 DTR AC1, AC1 MOVR AC1, VD100
/R 32000.0, VD100 MOVR AC1, VD30 /R 10.0, VD30 LD M0.0 PID VB100, 0 +R 10.0, VD16
MOVR VD16, VD20 /R 60.0, VD20 LD M0.0
MOVR VD108, AC1 *R 100.0, AC1 ROUND AC1, AC1 DTI AC1, VW34
MOVW +100, VW36 -I VW34, VW36
//把采样值归一化处理 //把实际温度值放于VD30中
//调用PID指令 //计时 //控制器输出
//把输出值转化为下一周期的加热时间 //下一周期的非加热时间 28
5.4梯形图
主程序
// 根据温度大小初始化指示灯
// I0.3是保护按扭 // 启动
// 关闭
// 使得中间寄存器接通
29

