[NETWORK]
Name="Setting Start" //设置开始
[STATEMENTLIST]
LD 253.13
OUT TR0
AND 229.05
//触摸屏上的开始设置开关
DIFU 080.05 //设置微分
LD TR0
AND 041.15
AND 080.05
SET 040.01 //开始设置标志位1
SET 040.10 //开始设置标志位2
[NETWORK]
Name="oportion" //比例带设置
[STATEMENTLIST]
LD 040.01
OUT TR0
AND NOT 042.01
MOV #C110 102
//读输出边与输入边的比例带
CMP 002 #C110
//比较输入字是否变成C110
AND 255.06 //等于
SET 042.01 //设置比例带标志
LD TR0
AND 042.01
MOV DM0051 102
//将比例带的设定值写入输出字
CMP 002 DM0051 //是否写入
AND 255.06
SET 040.01 //复位标志1
RSET 042.01 //复位比例带标志
SET 040.02 //向下继续设置标志
[NETWORK]
Name="Integral"//积分时间设置
[STATEMENTLIST]
LD 040.02
OUT TR0
AND NOT 042.02
MOV #C220 102
//读输出边与输入边的积分
CMP 002 #C220
//比较输入字是否变成C220
AND 255.06
SET 042.02 //设置积分标志
LD TR0
AND 042.02
MOV DM0052 102
//将积分的设定值写入输出字
CMP 002 DM0052 //是否写入
AND 255.06
RSET 040.02
RSET 042.02
SET 040.03 //向下继续设置标志
[NETWORK]
Name="differential"//微分时间设置
[STATEMENTLIST]
LD 040.03
OUT TR0
AND NOT 042.03
MOV #C330 102
//读输出边与输入边的微分
CMP 002 #C330
//比较输入字是否变成C330
AND 255.06
SET 042.03 //设置微分标志
LD TR0
AND 042.03
MOV DM0053 102
//将微分的设定值写入输出字
CMP 002 DM0053 //是否写入
AND 255.06
RSET 040.03
RSET 042.03
SET 040.04 //向下继续设置标志
[NETWORK]
Name="Hysteresis"//滞后值设置
[STATEMENTLIST]
LD 040.04
OUT TR0
AND NOT 042.04
MOV #C440 102
//读输出边与输入边的滞后值
CMP 002 #C440
//比较输入字是否变成C440
AND 255.06
SET 042.04 //设置滞后值标志
LD TR0
AND 042.04
MOV DM0054 102
//将滞后值的设定值写入输出字
CMP 002 DM0054 //是否写入
AND 255.06
RSET 040.04
RSET 042.04
SET 040.05 //向下继续设置标志
[NETWORK]
Name="eriod" //控制周期设置
[STATEMENTLIST]
LD 040.05
OUT TR0
AND NOT 042.05
MOV #C550 102
//读输出边与输入边的控制周期
CMP 002 #C550
//比较输入字是否变成C550
AND 255.06
SET 042.05 //设置控制周期标志
LD TR0
AND 042.05
MOV DM0055 102
//将控制周期的设定值写入输出字
CMP 002 DM0055 //是否写入
AND 255.06
RSET 040.05
RSET 042.05
SET 040.06 //向下继续设置标志
[NETWORK]
Name="Shift" //偏移量设置
[STATEMENTLIST]
LD 040.06
OUT TR0
AND NOT 042.06
MOV #C660 102
//读输出边与输入边的偏移量
CMP 002 #C660
//比较输入字是否变成C660
AND 255.06
SET 042.06 //设置偏移量标志
LD TR0
AND 042.06
MOV DM0056 102
//将偏移量的设定值写入输出字
CMP 002 DM0056 //是否写入
AND 255.06
RSET 040.06
RSET 042.06
SET 040.00
[NETWORK]
Name="Return" //返回
[STATEMENTLIST]
OUT TR0
AND NOT 042.00
MOV #C070 102 //读输入边的处理值
CMP 002 #C070 //比较输入字变成C070
AND 255.06
SET 042.00 //返回标志
LD TR0
AND 042.00
MOV DM0050 102
//将设定温度值写入输出字
RSET 040.00
RSET 042.00
RSET 040.10
4 结束语
以上是PID温度控制的PLC程序设计实例,经过反复试验,该系统可以维持温度在1℃之间变化,保证了好的生产状况,减少了不合格品发生的几率。