閆超
摘 要: 介紹了智能化PID控制系統(tǒng)的搭建和軟件設計。上位機選用VC++6.0軟件開發(fā)多媒體軟件界面,實現系統(tǒng)的監(jiān)控管理。下位機采用PLC智能化控制技術,實現現場數據的實時采集和現場設備運行狀態(tài)的自動控制。系統(tǒng)采用科學的模塊化管理模式,并在后方建立實時數據庫實現對數據的存儲管理,針對系統(tǒng)特點采用了改進的數據庫訪問方式。整個系統(tǒng)具有高可靠性、穩(wěn)定性和安全性。
關鍵詞:PLC;智能化;PID控制;數據采集
Design of Intelligent PID Control System Based on PLC
yan chao
Abstract: This paper presented the intelligent PID control system including the construction of its hardware environment and software design. The upper computer used VisualC++6.0 software, which designed an auto-play interface to realize monitoring and management system. The lower compute used PLC, which collected the field data and control actions. The system uses scientific modularization management, and establish real-time database in the rear to realize data storage management. According to system features, an improved access mode to the database has been taken. The system was provided with stability and security.
Key words: PLC; intelligence; PID control; data collect
在現代工業(yè)企業(yè)的生產和管理中,大量的物理量、特性參數需要進行實時檢測、監(jiān)督管理和自動控制。這是現代化工業(yè)生產必不可少的基本手段。從單臺計算機的直接監(jiān)控到多級計算機監(jiān)控系統(tǒng),以及分布式、網絡化、智能化的系統(tǒng),在各種企業(yè)中都有應用。
計算機多級監(jiān)控系統(tǒng),是以監(jiān)控計算機為主體,加上檢測裝置、執(zhí)行機構,與被監(jiān)測控制的對象(生產過程)共同構成的整體。在該系統(tǒng)中,計算機實現了對生產過程的檢測、監(jiān)督和控制。本文結合在沙盤控制系統(tǒng)中的實際應用,采用可編程控制器PLC與上位機構建多級集散控制網絡,結合軟件設計,實現了智能化沙盤控制系統(tǒng)設計。與原有同類型系統(tǒng)相比本系統(tǒng)集過程控制與智能化管理于一體,控制質量高、能耗低、系統(tǒng)更加穩(wěn)定可靠。
一、智能化PID控制原理
智能PID控制就是將 智能控制與傳統(tǒng)的PID控制相結合,其控制器參數可以實時地自動調整,不依賴系統(tǒng)精確數學模型,對系統(tǒng)參數變化具有較好的適應性,具有較強的魯棒性和抗干擾能力[1]。智能PID控制主要有模糊PID控制、專家PID控制和基于神經網絡的PID控制等[2]。
本文是基于模糊的PID控制系統(tǒng),利用模糊控制系統(tǒng)在控制過程中對不確定的條件、參數 、延遲和干擾等因素進行檢測分析,采用模糊推理調整PID控制器的參數,使之適應被控對象的參數、結構以及輸入參考信號的變化,并抵御外來擾動的影響,不僅保持了常規(guī)PID控制原理簡單、使用方便、魯棒性較強等優(yōu)點,而且具有很大的靈活性[3]。
PID控制器完成對系統(tǒng)的控制,模糊控制系統(tǒng)實現對PID三個參數進行自動校正。PID算法數字控制規(guī)律為:
其中KP為比例系數;Ti為積分時間常數;Td為微分時間常數;u(k)為調節(jié)器的輸出;e(k)為偏差值;Ts為采樣周期。
根據PID參數自整定原則,用于校正PID參數的模糊控制器采用兩輸入三輸出的模糊控制器,以系統(tǒng)誤差和誤差變化率為輸入語言變量??刂葡到y(tǒng)原理如圖1所示:
二、智能化控制系統(tǒng)的總體設計
2.1 系統(tǒng)軟硬件平臺的選擇
上位計算機要實現穩(wěn)定運行顯示及各種參數設置,我們選用VC++6.0軟件進行開發(fā)實現對現場的數據采集,并通過友好直觀的畫面顯示出來。
考慮本系統(tǒng)多媒體智能化控制的現場要求,下位機選擇臺達公司的DVP系列的PLC。上位機與下位機之間通過PLC自帶的PPI線相連[4]。
2.2 智能控制系統(tǒng)的主要功能
通過PLC于上位機的集散控制系統(tǒng)的建立,在觸摸屏控制的可視化界面上,可以實時的看到現場多媒體播放軟件的演示配合現場各種設備的動作展示。當系統(tǒng)出現異常信號傳輸時,系統(tǒng)可以自動識別糾錯,實現了全自動化控制。通過系統(tǒng)的安全級別控制,可以防止非操作人員進入系統(tǒng)帶來不必要的損失。
2.3 系統(tǒng)的整體方案
本系統(tǒng)采用監(jiān)控主機邏輯處理、串行數據傳輸、現場數據采集的三層網絡。
第一級網絡:監(jiān)控平臺。它對要求進入系統(tǒng)的人員進行身份識別,只允許有權限的人員進入。通過友好的人機界面實現對整個智能化控制系統(tǒng)的監(jiān)測及管理。系統(tǒng)監(jiān)控主機可以對整個工作過程中的信息進行集中采集管理。
第二級網絡:串行數據傳輸平臺。通過串行數據通訊接口實現PLC與上位機的數據傳輸[5]。
第三級網絡:信息采集系統(tǒng)。根據現場實際情況,PLC完成對現場設備的控制,狀態(tài)信息的采集,計算機程序將PLC采集到的有用信息實時記錄到數據庫里。系統(tǒng)總體結構如圖2所示:
三、智能化系統(tǒng)功能的實現
本系統(tǒng)軟件設計采用標準C/C++語言,在Visual C++6.0集成開發(fā)環(huán)境下進行軟件的開發(fā)。
3.1 可視化界面的主要功能
監(jiān)控軟件總體分為6個功能模塊,分別為:系統(tǒng)管理模塊,串口通訊模塊,多媒體播放模塊,數據存儲模塊,異常處理模塊和幫助模塊。
系統(tǒng)管理模塊:分為用戶登陸、系統(tǒng)用戶管理和退出功能;其中系統(tǒng)用戶管理功能包括添加新的系統(tǒng)用戶、用戶密碼變革和注銷用戶。
串口通訊模塊:完成PC機與PLC設備的實時通訊,從而對外部硬件系統(tǒng)進行控制[6]。
多媒體播放模塊:通過串口傳來的數據,根據需要播放相應的站點視頻介紹與3D動畫。
數據存儲模塊:把PLC采集到的數據通過串行通訊接口上傳到監(jiān)控主機后,通過數據處理模塊把數據實時的存儲在多媒體界面的后臺,另一方面周期性的將實時數據保存到歷史數據庫中。
異常處理模塊:當系統(tǒng)運行發(fā)生異常時,系統(tǒng)根據運行參數,產生報警信息,自動進行糾錯處理。
幫助模塊:分為關于和顯示幫助文檔功能。
系統(tǒng)軟件分為普通用戶登陸和系統(tǒng)管理員用戶登陸,這種設計提高了系統(tǒng)的安全性。在系統(tǒng)管理員用戶下,可以進行一些普通用戶所無法操作的功能,比如:增加新的系統(tǒng)用戶、密碼變更、注銷系統(tǒng)用戶、出入權限設置等等。
3.2 系統(tǒng)管理模塊的設計
安全保護是現場應用系統(tǒng)不可忽視的問題,對于有不同類型的用戶共同使用的大型復雜應用工程,必須解決好授權與安全性的問題,系統(tǒng)必須能夠依據用戶的使用權限允許或禁止其對系統(tǒng)進行操作。給操作者分配訪問優(yōu)先級和安全區(qū),運行時當操作者的優(yōu)先級小于對象的訪問優(yōu)先級或不在對象的訪問安全區(qū)內時,該對象為不可訪問,即要訪問一個有權限設置的對象,要求先具有訪問優(yōu)先級,而且操作者的操作安全區(qū)須在對象的安全區(qū)內時,方能訪問。在用戶管理界面中,可以進行用戶登錄、注銷、修改密碼、刪除用戶和退出等操作。其中刪除用戶是級別高的用戶可以刪除比自己級別低的任意用戶,對于和自己級別相同的用戶或者級別高于自己的用戶則沒有操作權限。
為了保障系統(tǒng)連續(xù)、安全、穩(wěn)定運行,對于退出系統(tǒng)的權限也進行了設置,規(guī)定只有管理員級別的用戶才有權利退出系統(tǒng),而且為了防止誤操作,又添加了操作確認提示框,為系統(tǒng)的運行增加了一個保障。
3.3 多媒體播放程序的實現
在多媒體播放模塊的設計中,要充分考慮模塊的適應性、使用簡便、界面美觀等方面的條件。經過綜合比較,最后選用VC++6.0自帶的ActiveX控件Windows Media Player ,它的優(yōu)點是可以播放多種不同格式的音視頻文件,而所需修改的代碼量很少,不用針對不同格式的文件單獨編寫其調用程序,并且界面友好。
首先插入該控件,然后給它關聯一個CWMPPlayer4類型的公有變量,這樣這個類下面封裝的所有函數就都可以使用了。
在設置播放文件的路徑時,單個界面的應用程序主要有兩種方法:在控件的屬性選項卡中直接設置需要播放的多媒體文件,或者調用函數SetUrl(LPCTSTR lpszNewValue)進行設置。但當系統(tǒng)為含有多個界面的應用程序時,如果選用設置控件的屬性選項卡這種方式,在調用過程中,第二個控件會默認播放之前一個控件的播放文件,所以在設計使用時必須采用調用函數的方法。另外,需要播放多媒體文件的界面在使用這個控件時,需要在相應的應用文件中包含定義這個函數類的頭文件。
四、后臺數據庫的設計
在本設計中,由于系統(tǒng)對實時性的要求較高,采用SQL Server 2000關系型數據庫。系統(tǒng)將數據庫設計成實時信息數據庫和歷史數據庫兩大部分。
4.1實時存儲模塊的搭建
在本設計中,采用利用動態(tài)鏈接庫來建立實時數據庫。動態(tài)連接庫是Windows中的一種特殊的程序單元,被稱為非任務化的可執(zhí)行模塊,它們由調用者的任務所驅動。本文提出了利用動態(tài)連接庫來建立系統(tǒng)運行的實時數據庫,數據庫接口由一組API函數組成,利用這些接口函數,I/O驅動程序和各個用戶程序模塊可以直接訪問實時數據庫,這樣,系統(tǒng)便具有了全面的開放性和很強的實時性[7]。
根據地鐵沙盤系統(tǒng)的運行要求,為系統(tǒng)定義數據庫變量,并將數據庫變量與PLC的物理I/O設備建立I/O連接。在數據庫中所建的數據庫點參數和所采集數據變量進行一一對應,從而可以動態(tài)的顯示及存儲設備的運行狀態(tài)。
4.2 改進的數據庫訪問方式
傳統(tǒng)的客戶/服務器應用軟件模式大都是兩層結構應用軟件。客戶方軟件不但要完成用戶交互和數據顯示工作,而且還要完成對應用邏輯的處理工作[8]。為了解決兩層結構應用軟件中存在的系統(tǒng)可伸縮性較差和安裝維護困難的問題,在本設計中提出了的多層結構應用軟件,把業(yè)務邏輯單獨提取出來,構成了中間一層,形成真正的分布式應用系統(tǒng)。結構如圖3所示:
五、結語
本文所介紹的智能化地鐵沙盤控制系統(tǒng),采用了上位機+PLC的分布式控制模式。PLC系統(tǒng)與傳統(tǒng)的控制系統(tǒng)相比,自動化程度和可靠性有了大幅度提高,減少操作人員的工作量,而且操作簡單,控制精度高。采用計算機進行數據處理,使整個過程實現了科學化、現代化。PLC系統(tǒng)的采用對能源和設備的合理利用,節(jié)約能源,降低能耗。系統(tǒng)現已正式投入使用,此項技術的研究,為今后此類控制系統(tǒng)的開發(fā)提供了良好平臺。
參考文獻
[1]舒迪前,饒立昌,柴天佑.自適應控制[M].沈陽:東北大學出版社,1999
[2]李卓,蕭德云,何世忠.基于神經網絡的模糊自適應PID控制方法[J].控制與決策,1996,11(3):340-345
[3]金鑫. 典型工業(yè)過程魯棒PID控制器的整定 [J].控制理論與應用,2005,22(6):947-953
[4]DELTA COMPANY.DELTA DVP Series PLC COMMUNICATION PROTOCOL VER 1.0[Z],2007
[5]龔建偉,熊光明.VisualC++/Turbo C 串口通信編程實踐[M].北京:電子工業(yè)出版社,2006
[6]劉正國,劉唯.計算機與松下FP系列PLC串行通訊的實現[J].微計算機信息,2006,22(8):166-168
[7]蔣年德,王耀南.基于面向對象的變電站實時數據庫設計[J].開發(fā)應用,2002,18(6)27-29.
[8]張志檀.實時數據庫原理及應用[M].北京:中國石化出版社,2001.