摘 要:本設計包括智能工業控制器下位機和應用組態王6.51軟件編制的上位機監控程序,兩者通過目前流行的Modbus協議通訊。前者應用智能專家PID控制算法,完成對溫度,壓力,液位等物理量的控制,后者用于對下位機參數讀寫,顯示,報警,報表打印等,從而實現了一套完整可靠的工業監控系統。經廠家使用效果比較理想,有廣闊的應用前景。
關鍵詞:智能工業控制器;組態王6.51;Modbus協議;智能專家PID;工業監控系統
引言
隨著現代工業的發展,對工業設備的控制逐步從單一獨立系統向集散控制監控系統發展,因此,筆者設計了基于Modbus協議的智能工業控制器監控系統,利用智能專家PID控制算法,可對工業現場的溫度,壓力,液位,濕度等參數進行精確控制,并且可以利用上位組態軟件實現現場參數的讀寫,顯示,越限報警,打印報表等,實現了一個完整的工業監控系統。
1 智能工業控制器的系統組成及工作原理
1.1 硬件系統
該智能工業控制器系統框圖如圖1所示,它采用了AT89C55WD單片機為CPU[1],以四位半的雙積分A/D轉換器ICL7135串行方式進行數據采集,ICL7135的Busy信號上升沿觸發定時器T0開始計脈沖數,轉換完畢時Busy信號下降沿觸發INT0中斷讀取定時器T0的計數值,經過簡單的換算就可以得出A/D轉換值。模擬開關4051控制8路通道的通斷狀態,由CPU來配置信號處理電路和多路選擇開關的選通情況。12級串行分頻器CD4040的基準時鐘信號采用AT89C55WD單片機的ALE信號,由于程序中沒有使用MOVX指令,所以ALE輸出頻率固定為fosc/6,經過2級分頻(fosc/24=250KHz)和11級分頻(fosc/12288=500Hz)分別輸入到ICL7135的CLK端和單片機的INT1端,作為ICL7135的時鐘基準和單片機外部2ms的定時中斷。P0,P2口及P1.3用于掃描4個按鍵和8個共陽LED顯示。24C02是基于兩線制IIC總線的256字節,非易失性的EEPROM存儲器,用來存放重要系統參數。TOP221P是一寬電壓輸入(85~260V),低功耗( 5W)的開關電源管理芯片,所以控制器可以直接使用220V市電。
輸入模塊可選用:(1)熱電偶和熱電阻,如K、Pt100、Cu50等;(2)線性電壓/電流:0~5V、4~20 mA等;(3)其它:可由用戶根據實際需要指定的傳感器。
輸出模塊可選用:(1)繼電器觸點開關輸出;(2)可控硅無觸點開關輸出;(3)SSR電壓輸出;(4)可控硅觸發輸出;(5)線形電流輸出;(6)電流變送輸出。
報警模塊為:2路繼電器開關輸出(AL1和AL2)。
[align=center]

圖 1 系統框圖[/align]
1.2 軟件系統
系統程序框圖如圖2所示。該工業控制器啟動時,先進入初始化程序,對系統進行自檢。然后從EEPROM中讀取相關系統設置參數到內部RAM中,讀取輸入規格參數SN,判斷輸入是否為熱電偶或熱電阻,若是,則依據對應的線形補償表進行線形補償;否則輸入為線形電流或電壓,不需要補償。程序再讀取2ms外部定時中斷服務程序經過去抖處理的鍵盤的鍵值,用狀態分析法判斷處理對應的參數及LED顯示界面。讀取A/D采樣值,根據實際現場調節數字濾波設置參數DL,進行相關濾波處理,這樣得出的測量數據PV比較平滑穩定。再讀取設定值SV,與測量值PV值分別送LED顯示。讀取控制方式參數CTRL值,若為0則是基本的位式控制:通過判斷測量值PV與設定值SV的關系來決定輸出,回差DF用于避免測量輸入值波動而導致位式調節頻繁通斷或報警頻繁產生/解除,當SV-PV>DF時,輸出為系統允許最大輸出OPH輸出,否則以系統允許最小輸出OPL輸出;若CTRL為1則為智能專家PID控制。
[align=center]

圖 2 系統程序框圖[/align]
1.3 智能專家PID控制
智能專家PID控制[2]是基于被控對象的控制規律的知識,以智能的方式利用這些知識來設計PID控制器。智能專家PID控制原理如圖3所示。其中誤差額e(k)=SV-PV(k), 誤差變化

; U(k)為第k次控制器的輸出。
[align=center]

圖 3 智能專家PID控制框圖[/align]
依據e(k)及□e(k)制定的專家規則如下:(其中A,B為設定誤差界限,A>B; k[sub]1[/sub]為增益放大系數, k[sub]1[/sub]>1; k[sub]2[/sub]為抑制系數,0
當|e(k)|>A時,說明誤差很大,要以系統允許的最大(或最小)輸出;當e(k)□e(k)>0時,說明誤差絕對值在朝增大的方向變化,此時依據|e(k)|值調整PID控制參數;當e(k)□e(k)<0時,在□e(k)□e(k-1)>0或e(k)=0時,說明誤差絕對值在朝減小的方向變化,此時可保持輸出不變,而在e(k)□e(k)<0時,依據|e(k)|值調整PID微分參數;當|e(k)|<ε時,說明誤差絕對值很小,此時調整PID積分參數,減小穩態誤差。
該規則集中的各個常數均為正實數,可由仿真及實驗整定后在控制器設定機構上設定好這些參數。另外,這些參數也可以通過上位機進行讀寫設定。在進行控制時,由控制器依據專家規則,完成對被控對象的智能控制。經驗證,此時控制精度較高,效果較好。
系統程序根據輸出模塊類型,讀取其對應的設置參數,根據前面計算值,轉換成對應輸出值,如電流,電壓等值送輸出模塊輸出。然后程序判斷上限、下限、正偏、負偏差、輸入越量程等報警參數,若有,則送報警輸出模塊輸出,否則不作反應。系統再根據Modbus通信協議,對接受數據進行解析并作相應處理,包括數據CRC校驗,數據打包,讀寫相關參數等。
2 Modbus現場總線通信協議
一般基于Modbus現場總線[3]的監控系統采用主從查詢-回應的交互方式來實現。本系統使用RTU(遠程終端設備)模式,消息發送以大于3.5個字符時間的停頓開始,主機發出要訪問的從機地址,每個從機設備都進行解碼以判斷是否發往自己的。功能代碼告之被選中的從機要執行何種功能,數據段包含了附加信息:從何寄存器開始讀及要讀的寄存器數量。從機在回應消息中的設備地址為本機地址,功能代碼是對主機查詢消息中的功能代碼的回應,數據段包括了從機的寄存器信息。如果有錯誤發生,功能代碼和數據段包含了描述此錯誤信息的代碼,錯誤檢測域用于主機確認從機的回應消息是否可用。在最后一個傳輸字符之后,大于3.5個字符時間的停頓標定了消息幀的結束。整個消息幀必須以連續的數據流轉輸,如果在幀完成之前有超過1.5個字符時間的停頓時間,接收設備將判數據超時不可用,刷新不完整的消息并假定下一字節是一個新消息的地址域。同樣地,如果一個新消息在小于3.5個字符時間內接著前個消息開始,接收的設備將認為它是前一消息的延續,這都將導致CRC校驗錯誤。
3 基于Modbus現場總線的監控系統
3.1 智能工業控制器下位機通信模塊
3.1.1 硬件接口
Modbus協議的物理層一般都采用RS-485半雙工結構作為通信接口標準。RS-485采用二線差分電平發送與接收,能有效克服共模干擾、抑制線路噪聲, 傳輸距離可長達1.2km。由于要把單片機的邏輯電平經過光耦6N137隔離后轉換成485差分信號在總線上傳輸,可采用TI公司的SN75LBC184 RS-485收發器,這是一種具有瞬變電壓抑制的收發器,可以防止因靜電放電(ESD)對收發器造成的損壞,另外SN75LBC184對傳輸信號變化沿限制斜率, 可減小電磁干擾,總線上至少可掛64個這樣的收發器,通信速率最高可達250kbps。Modbus通信模塊原理如圖4所示。
[align=center]
圖 4 通信模塊[/align]
3.1.2 軟件編程
Modbus通信數據解析處理程序[4]框圖如圖5所示,依據Modbus通信協議下位機程序檢測主機訪問的從機地址,若是本機則進行CRC校驗,若正確則進行功能碼解析程序,依據功能碼轉入相應子程序,進行數據打包和相應參數處理,然后發送Modbus數據包。
[align=center]
圖 5 Modbus通信數據解析處理程序[/align]
3.2 上位機監控系統
由于組態王6.51軟件[5]中的Modicon Modbus(RTU)驅動程序是基于Modbus通信協議編制的,因此應用時只要參照組態王軟件的手冊進行操作,通過編制監控畫面,設置波特率,校驗方式,通訊方式,下位機地址,進行通訊用的I/O變量及類型,變量寄存器以及采樣頻率等來實現與下位機的通信。圖6是用組態王6.51軟件編制的連接10臺工業控制器的監控系統畫面。設置波特率為4800,無校驗,Modbus (RTU)unpack方式,地址1~10,數據采集頻率為400ms。由于實際監控系統上只掛了第一臺工業控制器,其余的畫面上顯示出了“???”號。該上位機監控系統可實現對下位機數據讀寫顯示,歷史數據保存查詢,報警,報表打印等功能,從而實現了基于Modbus現場總線的智能工業控制器上位監控系統的設計。
[align=center]
圖 6 監控畫面[/align]
4 結束語
基于Modbus協議的智能工業控制器監控系統至少可以連接64臺智能工業控制器下位機,而組態王上位機監控程序只要根據實際的需要作相應的調整即可使用。而且該智能工業控制器程序經過適當的改動還可以用來作為二十段可編程工藝曲線控制器,合理選擇傳感器輸入模塊即可滿足多種工業現場參數的控制要求。本監控系統成本低,性能優,使用方便,經過廠家實際使用驗證效果比較理想,具有廣闊的應用前景,預計經濟效益100余萬元。
參考文獻
1 趙德安.單片機原理及應用.北京:機械工業出版社,2004
2 劉金琨.先進PID控制及其MATLAB仿真.北京:電子工業出版社,2003.1
3 MODICON INC.Industrial Automation Systems《Modicon Modbus Protocol Reference Guide》,June 1996
4 朱懿,蔣念平.Modbus協議在工業控制系統中的應用.微計算機信息,2006,10:118-120.
5 北京亞控科技發展有限公司.《組態王6.51使用手冊》,2006.
基于Modbus的智能工業控制器監控系統的設計