PID溫度控制的PLC程序設(shè)計
文章出處:
責任編輯:
發(fā)表時間:2014-11-20
PID溫度控制的PLC程序設(shè)計
PID溫度控制的PLC程序設(shè)計
溫度控制是許多機器的重要的構(gòu)成部分。它的功能是將溫度控制在所需要的溫度范圍內(nèi),然后進行工件的加工與處理。PID控制系統(tǒng)是得到廣泛應(yīng)用的控制方法之一。在本文中,將詳細講敘本套系統(tǒng)。
l 系統(tǒng)組成
本套系統(tǒng)采用Omron的PLC與其溫控單元以及Pro-face的觸摸屏所組成。系統(tǒng)包括CQM1H-51、擴展單元TC-101、GP577R以及探溫器、加熱/制冷單元。
l 觸摸屏畫面部分(見圖1-a)
1-a
如圖所見,數(shù)據(jù)監(jiān)控欄內(nèi)所顯示的002代表現(xiàn)在的溫度,而102表示輸出的溫度。如按下開始設(shè)置就可設(shè)置參數(shù)。需要設(shè)置的參數(shù)有六個, 分別是比例帶、積分時間、微分時間、滯后值、控制周期、偏移量。它們在PLC的地址與一些開關(guān)的地址如下所列。
比例帶 : DM51
積分時間 : DM52
微分時間 : DM53
滯后值 : DM54
控制周期 : DM55
偏移量 : DM56
數(shù)據(jù)刷新 : 22905
l PLC程序部分
002:PID的輸入字
102:PID的輸出字
[NETWORK]
Name="Action Check" //常規(guī)檢查
[STATEMENTLIST]
LD 253.13 //常ON
OUT TR0
CMP 002 #FFFF //確定溫控單元是否完成初始化
AND NOT 255.06 //等于
OUT 041.15 //初始化完成
LD TR0
AND 041.15
OUT TR1
AND NOT 040.10 //不在參數(shù)設(shè)置狀態(tài)
MOV DM0050 102 //將設(shè)置溫度DM50傳送給PID輸出字
LD TR1
MOV 002 DM0057 //將002傳送到DM57
[NETWORK]
Name="Setting Start"//設(shè)置開始
[STATEMENTLIST]
LD 253.13
OUT TR0
AND 229.05 //觸摸屏上的開始設(shè)置開關(guān)
DIFU 080.05 //設(shè)置微分
LD TR0
AND 041.15
AND 080.05
SET 040.01 //開始設(shè)置標志位1
SET 040.10 //開始設(shè)置標志位2
[NETWORK]
Name="Poportion"//比例帶設(shè)置
[STATEMENTLIST]
LD 040.01
OUT TR0
AND NOT 042.01
MOV #C110 102 //讀輸出邊與輸入邊的比例帶
CMP 002 #C110 //比較輸入字是否變成C110
AND 255.06 //等于
SET 042.01 //設(shè)置比例帶標志
LD TR0
AND 042.01
MOV DM0051 102 //將比例帶的設(shè)定值寫入輸出字
CMP 002 DM0051 //是否寫入
AND 255.06
RSET 040.01 //復(fù)位標志1
RSET 042.01 //復(fù)位比例帶標志
SET 040.02 //向下繼續(xù)設(shè)置標志
[NETWORK]
Name="Integral"//積分時間設(shè)置
[STATEMENTLIST]
LD 040.02
OUT TR0
AND NOT 042.02
MOV #C220 102 //讀輸出邊與輸入邊的積分
CMP 002 #C220 //比較輸入字是否變成C220
AND 255.06
SET 042.02 //設(shè)置積分標志
LD TR0
AND 042.02
MOV DM0052 102 //將積分的設(shè)定值寫入輸出字
CMP 002 DM0052 //是否寫入
AND 255.06
RSET 040.02
RSET 042.02
SET 040.03 //向下繼續(xù)設(shè)置標志
[NETWORK]
Name="differential"//微分時間設(shè)置
[STATEMENTLIST]
LD 040.03
OUT TR0
AND NOT 042.03
MOV #C330 102 //讀輸出邊與輸入邊的微分
CMP 002 #C330 //比較輸入字是否變成C330
AND 255.06
SET 042.03 //設(shè)置微分標志
LD TR0
AND 042.03
MOV DM0053 102 /將微分的設(shè)定值寫入輸出字
CMP 002 DM0053 //是否寫入
AND 255.06
RSET 040.03
RSET 042.03
SET 040.04 //向下繼續(xù)設(shè)置標志
[NETWORK]
Name="Hysteresis"//滯后值設(shè)置
[STATEMENTLIST]
LD 040.04
OUT TR0
AND NOT 042.04
MOV #C440 102 //讀輸出邊與輸入邊的滯后值
CMP 002 #C440 //比較輸入字是否變成C440
AND 255.06
SET 042.04 設(shè)置滯后值標志
LD TR0
AND 042.04
MOV DM0054 102 /將滯后值的設(shè)定值寫入輸出字
CMP 002 DM0054 //是否寫入
AND 255.06
RSET 040.04
RSET 042.04
SET 040.05 //向下繼續(xù)設(shè)置標志
[NETWORK]
Name="Period"//控制周期設(shè)置
[STATEMENTLIST]
LD 040.05
OUT TR0
AND NOT 042.05
MOV #C550 102 //讀輸出邊與輸入邊的控制周期
CMP 002 #C550 //比較輸入字是否變成C550
AND 255.06
SET 042.05 //設(shè)置控制周期標志
LD TR0
AND 042.05
MOV DM0055 102 將控制周期的設(shè)定值寫入輸出字
CMP 002 DM0055 是否寫入
AND 255.06
RSET 040.05
RSET 042.05
SET 040.06 //向下繼續(xù)設(shè)置標志
[NETWORK]
Name="Shift"//偏移量設(shè)置
[STATEMENTLIST]
LD 040.06
OUT TR0
AND NOT 042.06
MOV #C660 102 //讀輸出邊與輸入邊的偏移量
CMP 002 #C660 //比較輸入字是否變成C660
AND 255.06
SET 042.06 //設(shè)置偏移量標志
LD TR0
AND 042.06
MOV DM0056 102 //將偏移量的設(shè)定值寫入輸出字
CMP 002 DM0056 //是否寫入
AND 255.06
RSET 040.06
RSET 042.06
SET 040.00
[NETWORK]
Name="Return"//返回
[STATEMENTLIST]
LD 040.00
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 將設(shè)定溫度值寫入輸出字
RSET 040.00
RSET 042.00
RSET 040.10
以上是本套系統(tǒng)的全部內(nèi)容,經(jīng)過 反復(fù)試驗,此系統(tǒng)可以維持溫度在1°C之間變化。保證了好的生產(chǎn)狀況,減少不合格品發(fā)生的幾率。