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