摘 要:介紹了用羅克韋爾PLC設備構成溫控系統的設計與研究,討論了PLC輸入輸出控制的外部接口及顯示擴展的軟硬件設計,并對PLC和PC的通信和數據技術進行了分析,給出了部分程序。
關鍵詞:PLC 溫度控制 熱電阻模塊 通信
Abstract:The design and research of temperature control system composed of SLC500 PLC are introduced. The external interfacing method of PLC and PC input and output as well as the design of hardware and software for display expansion are discussed. The communication between PLC and PC and the data processing technology are analyzed. Partial program is given.
Keywords:PLC Temperature control Resistance thermometry module Communication
0 引言
隨著電子技術的發展,可編程序控制器(PLC)已經由原來簡單的邏輯量控制,逐步具有了計算機控制系統的功能。在現代工業控制中,PLC 占有了很重要的地位,它可以和計算機一起組成控制功能完善的控制系統。在許多行業的工業控制系統中,溫度控制都是要解決的問題之一。如塑料擠出機大都采用簡單的溫控儀表和溫控電路進行控制,存在控制精度低、超調量大等缺點,很難生產出高質量的塑料制品[1]。在一些熱處理行業都存在類似的問題。為此,設計了較為通用的溫度控制系統,具體系統參數或部分器件可根據各行業的要求不同來進行調整。系統采用羅克韋爾SLC500系列PLC,通過PLC串口通信與計算機相連接,界面友好、運行穩定。
1 系統構成
基于PLC的溫度控制系統一般有兩種設計方案,一種是PLC擴展專用熱電阻或熱電偶溫度模塊構成,另一種是PLC擴展通用A/D轉換模塊來構成[2]。
1.1擴展熱電阻/熱電偶模塊
在SLC500控制器擴展模塊中,有集溫度采集和數據處理于一身的專用智能溫度模塊—熱電阻/電阻信號輸入模塊(1746-NR4)。在此模塊中溫度模擬量產生對應的16位A/D數字值,其對熱電阻變送的溫度信號的分辨率約為1/8度,控制器在數值處理中可以直接使用模塊的轉換值,無需在硬件級電路上作其他處理。熱電阻溫度模塊的使用十分方便,只需要將熱電阻接到模塊的接線端子上,不需要任何外部變送器或外圍電路,溫度信號由熱電阻采集,變換為電信號后,直接送人溫度模塊中。熱電偶/毫伏輸入模塊(1746-NT4)的功能與熱電阻/電阻信號輸入模塊(1746-NR4)類似。系統如圖1所示。
[align=center]

圖1 擴展溫度模塊的溫控系統[/align]
1.2擴展通用A/D模塊
在PLC溫度控制系統中,可以用通用模擬量輸入輸出混合模塊構成溫度采集和處理系統。通用A/D轉換模塊不具有溫度數據處理功能,因此溫度傳感器采集到的溫度信號要經過外圍電路的轉換、放大、濾波、冷端補償和線性化處理后,才能被A/D轉換器識別并轉換為相應的數字信號。SLC500系列PLC常用的模擬量輸入輸出混合模塊有—2路差分輸入/2路電壓輸出模塊(1746-NIO4V),其A/D轉換為16位。由A/D轉換模塊構建的溫控系統不但需要外加外圍電路,而且其軟件和硬件的設計也比較復雜。系統如圖2所示。
[align=center]

圖2 通用A/D轉換模塊溫控系統[/align]
2 輸入輸出控制
比較而言用溫度模塊1746-NR4構建的PLC溫控系統具有較好的控制效果。SLC500控制器的輸入通道中一個熱電阻模塊最多可以接4個溫度熱電阻溫度傳感器。輸出通道為模擬量輸出模塊(1746NIO4V),其輸出信號是電壓信號,可以通過電壓調整器控制電源的開度(即一周期內的導通比率),從而控制電源的輸出功率。
在被控對象要求較高的控溫精度時,SLC500控制器可以采用PLC自身具有的PID指令進行PID控制算法的研究[3]。SLC500系列PLC的PID指令使用下列算法:
輸出=Kc[(E)+1/Ti∫(E)dt+Td·D(PV)/Dt]+bias
程序設計時,輸入PID指令后,要輸入控制塊,過程變量和控制變量的地址。對于SLC500 PID指令,過程變量(PV)和控制變量(CV)兩者的量度范圍為0到16383。在使用工程單位輸入時,必須首先把用戶的模擬量范圍整定在0-16383數字量度范圍之內,為了實現這個目的,需要在PID指令之前使用數值整定指令(SCP指令)進行整定。整定原理如圖3。
[align=center]

圖3 數值整定原理[/align]
整定了PID指令的模擬量I/O范圍,用戶就能輸入適用的最小和最大的工程單位。過程變量,偏差,設定點和死區將在PID數據監視屏上以工程單位顯示。圖4為PID指令的設置界面,表1為PID指令各參數的說明。
[align=center]

圖4 PID模塊在線參數設定與標志位[/align]
表1 PID模塊參數說明
一般溫控系統的控制算法可以采用分段式PID控制,即在系統工作的大多數時間內,為PID控制,其參數由10%電源開度下的溫度飛升曲線測得。在溫度響應曲線的由初態向設定點的上升段過程中,大致采用三段控制。首先置電源為滿開度,以最大的功輸出克服熱慣性;接下來轉入PID控制;接近設定點時置電源開度為0,提供一個保溫階段,以適應溫度的滯后溫升。基于以上要求,PID指令各參數可設置如表2所示。
表2 PID模塊參數設定
溫控系統中熱電阻模擬量輸入模塊的電壓信號范圍一般是0—4124,SCP指令把它整定為0—16383的工程單位,將其值放入PV(過程變量)的內存地址N7:38中,把控制輸出值放入N7:39當中。最后用MOV指令把N7:39中的過程變量傳遞到1746NIO4V模擬量輸出模塊中。控制效果如下:(1)SP-PV≥50時,輸出值為最大值32767,使電壓調節器開度最大,即給加熱器最大電壓供電,使被測對象溫度快速上升。(2)SP-PV>-30和SP-PV<50時,輸出為PID控制輸出,此范圍為PID參數調節的范圍。(3)SP-PV<-30時,輸出值為最小值0,電壓調節器開度為零,即停止加熱。
3 顯示擴展
PLC控制系統顯示界面比較單調,一般是通過觀察控制柜上的指示燈或PLC的LED燈來了解控制器狀態,但對于溫控系統這樣的顯示是不夠的,需要采用數碼管顯示或PC顯示。
采用數碼管顯示時,可以選用ZLG7289A芯片[4],它與控制器采用3線串行接口,只需要占用SLC500的3個輸出點,可以驅動8個LED數碼顯示管,同過級聯可以擴展數碼顯示管的數量,實現多段實時溫度顯示。SLC500與ZLG7289A的連接如圖5所示。
[align=center]

圖5 ZLG7289A與SLC500及顯示器的接口[/align]
圖5中CS為片選輸入端,此腳為低電平時,可向芯片發送指令;CLK是時鐘輸入端,;DATA是串行數據輸入端,串行數據在時鐘CLK的上升沿有效。8個段驅動信號SEG接每個顯示器的段,8個位驅動信號DIG0—DIG7分別接顯示器的共陰極公共地。
SLC500有RS232通信口,可以通過專用電纜與PC機相連。通過Rsview32軟件的組態,PC機可以動態顯示PLC傳送的溫度采集數據,還可以通過聯網對多臺PLC進行網絡監控。
4 PLC與PC通信設計
4.1 PLC數據包的信息格式
SLC500與上位機進行數據交換是以二進制字節數據進行,它包含四種主要命:讀命令,代碼:01H;響應讀命令,代碼:41H;寫命令,代碼:08H;響應寫命令,代碼:48H[5]。故PLC數據包的信息格式如圖6所示:
[align=center]

圖6 PLC數據包的信息格式[/align]
DST:一個字節,信息接收方的節點號或文件號;
SRC:一個字節,信息發出方的節點號;
CMD:一個字節,命令類型如01H,41H,08H或48H;
STS:一個字節,通信狀態,表示通信有無錯誤或錯誤類型,0為無錯誤;
TNS:二個字節,信息包的業務批號,可作為本信息的識別編號;
Addata:地址/字節數/數據,具體內容由不同的命令類型決定。
PLC與PC機的數據通信采用自由端口通信模式,參數設置成為波特率9600bps,每個字符8位數據,無奇偶校驗。采用主從式通信協議,PC機為主機,只有PC機有權主動發送報文,PLC則采用報文接受數據。用RSLogix500軟件對SLC500的串口進行如下設置:
1) set the module for full duplex BSC (DF1 full duplex)
2) set the module for embedded response
3) set detect for automatic
4) disable duplicate packet detect
5) set the baud rate for 9600.
4.2 PC機程序
PC機采用VB編程,主要有監控界面、當前溫度顯示、動態溫度曲線顯示、溫度數據庫管理、參數設置以及與PLC通信等方面的設計。通信參數設置程序如下:
With MSComm1 //通信參數設置
CommPort=1 //通信口COM1
Settings=“9600,年n,8,1” //波特率9600bps,無奇偶校驗,8位數據,1位停止
InputLen=2 //一次讀取2個字節
InputMode= comLnputModeBinary // 二進制數據格式
PortOpen=Ture //打開通信端口
End With
PC機采用中斷方式接受SLC500傳來的實時溫度。即串口收到數據,VB通信控件會觸發OnComm事件,在OnComm事件程序中接受數據并處理。一個溫度數據為16位兩個字節,SLC500傳送溫度數據時,按報文傳送格式高低字節正好相反,因此,VB程序要對接收的數據進行處理,并按照SLC500溫度采集的精度(1/8度)轉換成溫度值用于顯示[6]。
5 結束語
本系統設計使用了PLC的熱電阻溫度采集模塊,在上位機的控制下,對工業現場的溫度進行實時的采集和監控。本文作者的創新點是,采用了羅克韋爾的SLC500控制器來實現整個系統的設計,并編程實現了SLC500控制器與計算機串口的實時通信。由于PLC可以適應環境惡劣的工業現場,故其使用范圍十分的廣泛。
參考文獻
1 尹新正,王偉明. PLC在塑料擠出機溫度控制系統中的應用[J]。塑料工業,2002(5):65-69
2 陳山林. 基于PLC特殊功能模塊的溫度控制系統[J]. 儀器儀表學報,2004(8):43-47
3 錢曉龍. 智能電器與MicroLogix控制器[M]. 機械工業出版社,2003:67-73
4蔡軍. 智能交通燈控制系統的設計與實現[J]. 重慶郵電學院學報,2004(3):129-132
5郭宗仁. 可編程序控制器應用系統設計及通信網絡技術[M]. 人民郵電出版社,2004:126-134
6 張洋. S7-200可編程序控制器與微機通信的設計及實現[J]. 微機算計信息,2004(8):13—15