大連理工大學本科論文現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設計
-
資源ID:46511743
資源大小:658KB
全文頁數(shù):56頁
- 資源格式: DOC
下載積分:10積分
快捷下載
會員登錄下載
微信登錄下載
微信掃一掃登錄
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。
|
大連理工大學本科論文現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設計
大連理工大學本科畢業(yè)設計(論文)現(xiàn)場總線控制系統(tǒng)功能塊組態(tài)軟件設計Design of Configuration Software based on Filedbus Control System學 院(系): 電子與信息工程學院 專 業(yè): 計算機科學與技術 學 生 姓 名: 劉國強 學 號: 200591109 指 導 教 師: 仲崇權 評 閱 教 師: 完 成 日 期: 2009年6月 大連理工大學Dalian University of Technology摘 要IEC61131標準作為工業(yè)自動化控制系統(tǒng)標準化編程語言的國際標準,受到了廣泛的關注和重視。目前國際上已有多個自動化設備生產(chǎn)商推出了以這個標準為基礎的控制系統(tǒng)。研究基于IEC61131標準的控制系統(tǒng)意義重大。本文研究了IEC61131標準中關于功能塊編程的技術內(nèi)容,給出了指令規(guī)約和編程方法,研究了功能塊程序的可視化編輯和編譯技術,設計和實現(xiàn)可編程控制器編程軟件PLC_Config。該程序是在Microsoft Visual Studio 2003環(huán)境平臺下,使用C+編程語言,基于MFC程序框架開發(fā)完成的。該軟件可對現(xiàn)場網(wǎng)絡上的所有設備和資源進行配置和規(guī)劃,使現(xiàn)場網(wǎng)絡中的設備成為一個有機整體,協(xié)同工作完成控制功能。該軟件應用了模塊化設計思想,將整個軟件分解成現(xiàn)場設備管理模塊、可視化組態(tài)模塊、現(xiàn)場設備監(jiān)控模塊、文件管理模塊、通信服務模塊及信息報告模塊??梢暬δ軌K編程模塊實現(xiàn)了操作方便功能強大的用戶操作界面,通過描述文件與可視化的編程元件的互轉(zhuǎn)實現(xiàn)了功能塊程序的保存與讀取,編譯模塊實現(xiàn)了功能塊程序在上位機與下位機存儲表達形式的互轉(zhuǎn),用戶可以方便的下載上載功能塊程序。通過設計和開發(fā)PLC_Config可視化編輯模塊和組態(tài)編譯模塊,以及在PLC_Config程序中地應用,證明了編輯,編譯功能塊文件方法的可行性和正確性,也提供了一種編輯,編譯圖形化語言的一種方法。關鍵詞:現(xiàn)場總線;IEC61131-3標準;功能塊組態(tài);可編程控制器; Design of Configuration Software based on Filedbus Control SystemAbstract IEC61131 standard for industrial automation and control system programming language standardized international standards, has been widespread concern and attention. At present, there are a number of automation equipment manufacturers with the introduction of the standards-based control system. Research based on the standard IEC61131 control system of great significance. In this paper, the technical content on function block programming in IEC61131 standard is studied. Command and programming are provided. Visual programming and compiler technology of function block programming are researched. Programming software of Programmable Logic Controller(PLC_Config) is designed and implemented. This software uses C+ programming language under Microsoft visual studio 2003 development platform and based on the MFC Framework. This software configurates and plans the filed devices and resources, makes the filed devices implement control function as an organic whole. The software app the modular design concept. It includes Device Manage Module, Visual Configure Module, Watching Module, Files Manage Module, Communication Module and Report Module. Visual Configure Module implement useful and powerful user interface. It implement save and read function by the change between XML files and visual programming elements. Compiler Module implement the change of mode between in computer and in PLC. User can configurate and upload the program conveniently. By developing the Visual Configure Module and Compiler Module and Testing in the application, the design is proved correct. The article provide a method of edit and compile graphics program language. Key Words:Fieldbus; IEC61131-3 standards; Function block configuration; Programmable logic Controller; 目 錄摘 要IAbstractII引 言11 概 述31.1 現(xiàn)場總線技術31.1.1 現(xiàn)場總線概念31.1.2 現(xiàn)場總線的特點31.1.3 RS485總線41.1.4 MODBUS協(xié)議41.2 現(xiàn)代自動控制系統(tǒng)和IEC61131-3國際標準51.3 IEC 61131-3及其功能塊編程61.4 可編程邏輯控制器71.5 組態(tài)軟件81.6 論文的主要工作92 PLC_Config組態(tài)軟件設計和實現(xiàn)102.1 概述102.2 現(xiàn)場設備管理模塊122.3 文件管理模塊122.4 可視化組態(tài)模塊132.5通信服務模塊162.5.1 實時通訊服務的實現(xiàn)172.5.2 套接字映射接口對象的實現(xiàn)172.6信息報告模塊192.6本章小結(jié)193 PLC_Config組態(tài)軟件可視化功能塊組態(tài)以及編譯203.1 PLC_Config可視化功能塊編輯程序的設計203.1.1文檔/視圖(Document/View)結(jié)構(gòu)203.1.2 可視化功能塊編輯程序設計類關系圖203.1.3功能塊的圖形表示213.1.4功能塊的邏輯組成213.1.5在DCCE系列PLC中的功能塊程序的表現(xiàn)形式223.1.6 功能塊類的設計233.1.7功能塊參數(shù)類的設計263.1.8鏈接關系的設計273.1.9網(wǎng)絡物件設計283.1.10功能塊文檔類的設計293.2編譯程序(Compile.exe)的設計303.2.1功能塊編譯程序的設計分析303.2.2編譯程序的接口設計313.2.3編譯過程中的錯誤信息的提示實現(xiàn)333.2.3功能塊參數(shù)的編譯333.2.4功能塊的編譯343.2.5功能塊網(wǎng)絡的編譯353.3 本章小結(jié)394.PLC_Config軟件在十字路口交通燈控制系統(tǒng)的使用414.1 十字交通燈控制系統(tǒng)概述414.2 十字交通燈控制系統(tǒng)功能需求424.2.1 硬件需求424.2.2 交通等開關動作需求434.3 功能塊程序?qū)崿F(xiàn)454.3.1 正常情況下交通燈程序?qū)崿F(xiàn)454.3.2可急車強通控制的交通燈程序?qū)崿F(xiàn)464.4本章小結(jié)48結(jié) 論49參考文獻50附錄A 簡單功能塊程序與對應的XML文檔51附錄B PEC8000寄存器地址52致 謝53引 言在工業(yè)控制領域,PLC技術的發(fā)展在上世紀90年代經(jīng)歷了一次高潮。這得益于微電子、網(wǎng)絡通信和控制技術的迅猛發(fā)展。但隨著技術的進步和市場要求的提高,傳統(tǒng)的PLC越來越暴露出其在數(shù)據(jù)封裝能力,程序可重用性,順序操作編程等方面的不足。這些缺陷導致了不同制造商PLC平臺的不兼容,也給工程技術人員的學習和操作帶來了極大的不便。統(tǒng)一的編程規(guī)則成為技術人員的迫切需求。而IEC61131-3是目前關于工業(yè)控制編程語言唯一的國際標準,它將現(xiàn)代軟件工程的概念和機制與傳統(tǒng)PLC編程語言完美結(jié)合,使它在工業(yè)控制領域的影響已越出PLC的界限,應用越來越廣泛。IEC61131-3是國際電工委員會IEC于1999年推出的用于工業(yè)控制領域的標準化編程語言,適用于PLC編程12。IEC61131-3是IEC61131的編程語言部分,與傳統(tǒng)的PLC編程語言相比較,前者具有突出的優(yōu)點:(1) 開放性,由于采用獨立于制造商的一致性IEC61131-3標準化編程語言,因而應用系統(tǒng)能最大限度地運行于來自不同制造商的PLC。(2) 可移植性,允許程序在IEC61131-3兼容系統(tǒng)上移植。(3) 高水平的軟件重復使用性和允許柔性地選擇編程語言。一個程序的不同部分可用任一種語言編程。(4) 類似高級語言的先進語言結(jié)構(gòu),支持“自上而下”和“自下而上”的結(jié)構(gòu)化程序開發(fā)。支持復雜的控制過程。支持結(jié)構(gòu)化數(shù)據(jù)。(5) 有很強的錯誤檢測和糾錯能力,能明顯地提高程序數(shù)據(jù)和變量的可靠性。PLC組態(tài)具有運行時行為特性。標準化的開放系統(tǒng)是大勢所趨,1992年總部設在荷蘭的PLCopen成立,目前,多數(shù)的PLC制造商,軟件公司和研究院所已是這個國際組織的成員。如Siemens、 A-B、ABB、 GE、 Mitsubishi、Fuji、 Schneider都推出了符合IEC61131-3標準的PLC,此外有不少的 IPC工控機、DCS、HMI等制造商配置IEC61131-3編程軟件。目前,和利時公司的FOPLC采用IEC61131-3編程語言。IEC61131-3的修訂版在2002年底發(fā)布,它不僅描述了PLC編程語言本身,還提供了綜合的概念和建立PLC項目的導則,當工程設計人員熟悉了IEC61131-3編程語言,就能對上述多家生產(chǎn)的PLC進行編程設計。組態(tài)軟件是工業(yè)應用軟件的一個組成部分,其發(fā)展受到很多因素的制約。歸根結(jié)底,應用的帶動對其發(fā)展起著最為關鍵的推動作用。類似OPC這樣的組織的出現(xiàn),以及現(xiàn)場總線、尤其是工業(yè)以太網(wǎng)的快速發(fā)展,大大簡化了異種設備間互連、開發(fā)I/O設備驅(qū)動軟件的工作量。I/O驅(qū)動軟件也逐漸會朝標準化的方向發(fā)展。由單一的人機界面朝數(shù)據(jù)處理機方向發(fā)展,管理的數(shù)據(jù)量越來越大。實時數(shù)據(jù)庫的作用將進一步加強。 很多新的技術將不斷地被應用到組態(tài)軟件當中,組態(tài)軟件裝機總量的提高會促進在某些專業(yè)領域?qū)S冒孳浖恼Q生,市場被自動地細分了。為此,一種稱為“軟總線”的技術將被廣泛采用。在這種體系結(jié)構(gòu)下,應用軟件以中間件或插件的方式被“安裝”在總線上,并支持熱插拔和即插即用。這樣做的優(yōu)點是:所有插件遵從統(tǒng)一標準,插件的專用性強,每個插件開發(fā)人員之間不需要協(xié)調(diào),一個插件出現(xiàn)故障不會影響其他插件的運行。XML技術將被組態(tài)軟件廠商善加利用,來改變現(xiàn)有的體系結(jié)構(gòu),它的推廣也將改變現(xiàn)有組態(tài)軟件的某些使用模式,滿足更為靈活的應用需求。 在IEC61131-3標準的控制編程語言中,功能塊圖用來描述功能、功能塊和程序的行為特征,還可以在順序功能流程圖中描述步、動作和轉(zhuǎn)變的行為特征。功能塊圖與電子線路圖中的信號流圖非常相似,在程序中,它可看作兩個過程元素之間的信息流。功能塊圖普遍地應用在過程控制領域。  本文通過對IEC61131-3標準中功能塊語言的研究,結(jié)合PLC指令的特點,應用MFC設計和開發(fā)一種基于IEC61131-3標準中功能塊語言的編譯方法。全文共分四章:第一章:概述:介紹IEC61131-3國際標準及其編程語言,介紹PLC指令特點,XML描述文件等相關技術知識以及本文主要工作。第二章:介紹PLC_Config組態(tài)軟件設計和實現(xiàn)。第三章:詳細介紹PLC_Config組態(tài)軟件可視化功能塊組態(tài)的編譯。第四章:PLC_Config組態(tài)軟件的應用,并給出了應用案例。結(jié)論:總結(jié)論文所解決的問題,并對下一步研究提出建議。 1 概 述1.1 現(xiàn)場總線技術1.1.1 現(xiàn)場總線概念現(xiàn)場總線是由DCS系統(tǒng)發(fā)展而來,采用全數(shù)字通信代替模擬傳輸方式,使控制系統(tǒng)與現(xiàn)場儀表之間不僅能傳輸生產(chǎn)過程測量與控制信息,而且還能傳輸現(xiàn)場儀表的大量非控制信息,使整個工業(yè)企業(yè)的管理控制一體化成為可能3。所謂現(xiàn)場總線,按照國際電工委員會IEC/SC65C的定義,是指安裝在制造或過程區(qū)域的現(xiàn)場裝置之間、以及現(xiàn)場裝置與控制室內(nèi)的自動控制裝置之間的數(shù)字式、串行和多點通信的數(shù)據(jù)總線。以現(xiàn)場總線為基礎而發(fā)展起來的全數(shù)字控制系統(tǒng)稱作現(xiàn)場控制系統(tǒng)(Field Control System)?,F(xiàn)場總線技術將專用微處理器置入傳統(tǒng)的測量控制儀表,使它們各自都具有數(shù)字計算和數(shù)字通信能力,并按照公開、規(guī)范的通信協(xié)議,在位于現(xiàn)場的多個微機化測量控制設備之間以及現(xiàn)場儀表與遠程監(jiān)控計算機之間,實現(xiàn)數(shù)據(jù)傳輸與信息交換,形成各種適應實際需要的自動控制系統(tǒng)。簡而言之,它把單個分散的測量控制設備變成網(wǎng)絡節(jié)點,以現(xiàn)場總線為紐帶,把它們連接成可以互相溝通信息、共同完成控制任務的網(wǎng)絡系統(tǒng)與控制系統(tǒng)。 1.1.2 現(xiàn)場總線的特點(1)全數(shù)字通信現(xiàn)場總線采用完全的數(shù)字信號傳輸。這種數(shù)字化的傳輸方式使得信號的檢錯、糾錯機制得以實現(xiàn),因此它的抗干擾能力和魯棒性較高。同時全數(shù)字通信使得多參數(shù)傳輸?shù)靡詫崿F(xiàn)。(2)多分支結(jié)構(gòu)現(xiàn)場總線的拓撲可以為總線型、星型、樹型等多種形式。(3)現(xiàn)場設備狀態(tài)可控通過現(xiàn)場總線,現(xiàn)場設備的管理信息大大增加,這些信息包括功能模塊組態(tài)、參數(shù)狀況、診斷和驗證數(shù)據(jù)、設備材質(zhì)和過程條件等。操作人員在控制室就可以對這些信息進行管理和利用,對現(xiàn)場設備進行維護。(4)控制分散現(xiàn)場總線系統(tǒng)采用全分散控制。現(xiàn)場設備既有檢測、變換、工程量處理和補償功能,也有運算和控制功能。通過現(xiàn)場總線,將傳統(tǒng)DCS、PLC等控制系統(tǒng)復雜的控制任務進行分解,分散在現(xiàn)場設備中,簡化了系統(tǒng)結(jié)構(gòu),提高了系統(tǒng)的可靠性、自治性和靈活性?,F(xiàn)場總線自20世紀80年代產(chǎn)生以來,由于適應工業(yè)控制系統(tǒng)網(wǎng)絡化和智能化的發(fā)展方向,受到全世界工業(yè)自動化領域的普遍關注,從而發(fā)展迅速。目前已開發(fā)出40多種現(xiàn)場總線,如Interbus、Bitbus、DeviceNet、Modbus、Arcnet、P-Net、FIP、ISP等。1.1.3 RS485總線RS485總線系統(tǒng)是用于在數(shù)據(jù)通信系統(tǒng)中滿足較復雜應用的主從式系統(tǒng)。其采用差分方式進行雙向平衡傳輸,傳輸距離較遠,最大可達1200m,傳輸更遠距離時可加中繼器。RS485以半雙工方式通訊,支持多點連接,允許掛接多達32個節(jié)點,利用驅(qū)動器可使節(jié)點增至128個。其傳輸速率較高,最高可達10Mbit/s。RS485總線已成為工業(yè)領域應用最為廣泛的總線之一。RS485總線標準只對物理層接口進行定義,上層協(xié)議選擇比較靈活。相對于FF、PROFIBUS、CAN等真正的現(xiàn)場總線系統(tǒng),RS485總線系統(tǒng)在軟硬件成本上具有較大優(yōu)勢,在一定時間內(nèi)仍將是中小控制系統(tǒng)的主要形式。1.1.4 MODBUS協(xié)議MODBUS 協(xié)議最早是由美國 MODICON 公司針對其PLC產(chǎn)品開發(fā)的一種通信協(xié)議。由于該協(xié)議定義的是一種數(shù)據(jù)幀結(jié)構(gòu),獨立于物理層介質(zhì)和設備通信網(wǎng)絡,容易被控制器識別和使用,因此MODICON 公司將其發(fā)展成為標準 MODBUS 接口和MODBUS PLUS 網(wǎng)絡,并可擴展到其他網(wǎng)絡應用中。MODBUS 協(xié)議應用在標準 MODBUS 網(wǎng)絡時,將被直接傳送;若應用在其他網(wǎng)絡,可以將該協(xié)議植入其通信數(shù)據(jù)幀結(jié)構(gòu)中進行傳送。因為 MODBUS 協(xié)議良好的適用性已經(jīng)得到了眾多大公司(例如GE、SIEMENS、OMRON 等)的支持,所以都把它作為一種標準的通信接口提供給用戶,并且作為與主系統(tǒng)通信的主要途徑。目前,我國電力和化工行業(yè)已經(jīng)廣泛使用集散控制系統(tǒng)DCS ( Distributed Control System )系統(tǒng)。不過在大多數(shù)場合,DCS 系統(tǒng)都與其他專用控制系統(tǒng)混合使用。專用系統(tǒng)包含PLC、數(shù)據(jù)采集器、智能控制器、智能儀表等。如果將這些系統(tǒng)都接入 DCS 系統(tǒng)統(tǒng)一監(jiān)視、控制、管理,無疑會極大提高企業(yè)的經(jīng)濟效率和管理水平。值得關注的是現(xiàn)在幾乎所有的 DCS 系統(tǒng)都提供了 MODBUS 通信接口。所以,進行基于 MODBUS 協(xié)議的控制器遠程監(jiān)控系統(tǒng)開發(fā)具有現(xiàn)實意義和可行性。MODBUS 協(xié)議采用MasterSlave技術,是一種問答方式的通信協(xié)議。一個 Master 可以對應一個或多個Slave,只有 Master 才可進行初始化的詢問,為 Slave 分配地址,對所有的 Slave 發(fā)送廣播信息 。MODBUS 協(xié)議在點對點通信時采用 RS232/RS422 串口通信標準。多點通信時則采用 RS485 串口通信標準。1.2 現(xiàn)代自動控制系統(tǒng)和IEC61131-3國際標準在工業(yè)控制領域,PLC技術的發(fā)展在上世紀90年代經(jīng)歷了一次高潮。這得益于微電子、網(wǎng)絡通信和控制技術的迅猛發(fā)展。但隨著技術的進步和市場要求的提高,傳統(tǒng)的PLC越來越暴露出其在數(shù)據(jù)封裝能力,程序可重用性,順序操作編程等方面的不足。這些缺陷導致了不同制造商PLC平臺的不兼容,也給工程技術人員的學習和操作帶來了極大的不便。統(tǒng)一的編程規(guī)則成為技術人員的迫切需求。IEC61131標準正是在這種情況下應運而生。IEC61131-3是IEC 61131國際標準的第三部分121314, 是第一個為工業(yè)自動化控制系統(tǒng)的軟件設計提供標準化編程語言的國際標準。該標準提供給用戶一種良好結(jié)構(gòu)、自上而下或自下而上的程序開發(fā)方法,提供全套的配置集成,允許程序分解成功能塊和軟件元素,進行完全的程序控制。程序不同部分在不同時間,以不同周期或平行的運行。提供了一套統(tǒng)一的應用于PLC的語法和語義。IEC61131-3包括5種編程語言,即指令表、結(jié)構(gòu)化文本、梯型圖、功能塊圖和順序功能圖。規(guī)范了編程語言、PLC與編程系統(tǒng)的接口、字符集和工程管理,使得所有PLC使用相同的概念,平臺程序可以互相移植,從而整體降低自動化控制系統(tǒng)的費用。這些都是在工業(yè)控制系統(tǒng)所闡述的軟件設計的概念和軟件模型等的基礎上制定的,適應了當今世界軟件、工業(yè)控制系統(tǒng)的發(fā)展方向。符合IEC 61131-3的軟件系統(tǒng)是一個結(jié)構(gòu)完善、可重復使用、可維護的工業(yè)控制系統(tǒng)軟件。標準最初主要用于可編程序控制器PLC的編程系統(tǒng),但隨著可編程序控制器PLC技術、編程語言等的不斷進步也在不斷地進行著補充和完善。目前該標準同樣也適用于過程控制領域、分散型控制系統(tǒng)、基于控制系統(tǒng)的軟邏輯、SCADA等。IEC 61131-3國際標準在技術上的實現(xiàn)是高水平的,因此有足夠的發(fā)展空間和變動余地,這也使得該標準能很好地適應工業(yè)控制的發(fā)展和要求。因此IEC 61131-3標準在1993頒布之后被國際用戶和開發(fā)商團體廣泛接受,目前得到全世界的認可。世界頂尖的工業(yè)控制商接受了這個編程模型,各種軟件公司提供相應的開發(fā)工具。IEC 61131-3國際標準已對整個控制領域形成了巨大的沖擊,采用或應用符合IEC 61131-3國際標準的組態(tài)產(chǎn)品,已經(jīng)成為國際工業(yè)控制領域的一大趨勢。1.3 IEC 61131-3及其功能塊編程IEC 61131標準提供給用戶一種良好結(jié)構(gòu)、自上而下或自下而上的程序開發(fā)方法,提供全套的配置集成,允許程序分解成功能塊和軟件元素,進行完全的程序控制,程序不同部分在不同時間,以不同周期或平行的運行。IEC 61131將特定應用的控制系統(tǒng)稱為配置,包括硬件的分配、過程資源劃分、輸入輸出通道分配、內(nèi)存地址分配及系統(tǒng)的性能分析。一個配置中可定義一個或多個資源,資源可以理解為可執(zhí)行的過程處理設備,像一個CPU。一個資源中可以定義一個或多個任務。由任務控制一套程序或/和功能塊的執(zhí)行,可以周期或由事件驅(qū)動。程序可以使用5種語言的任何一種。典型程序由功能塊、函數(shù)組成,包括數(shù)據(jù)結(jié)構(gòu)和邏輯。與一個資源、一個任務、運行于一個閉環(huán)系統(tǒng)的傳統(tǒng)PLC相比,IEC 61131-3是開放和先進的。IEC 61131-3標準中提供了4種內(nèi)部操作語言和一個結(jié)構(gòu)化語言定義:(1)順序功能圖(SFC)是IEC 61131-3標準的中心語言,用于工業(yè)控制軟件的結(jié)構(gòu)化的內(nèi)部組織。SFC語言源于Petri Nets,用于解決面向序列的問題。它將控制過程周期分成定義好的步驟,并由轉(zhuǎn)移條件隔開。步驟描述了行為,對應程序組織單元;轉(zhuǎn)換描述了條件,對應程序組織單元的邏輯聯(lián)系,它決定其他語言描述行為的執(zhí)行順序。不管是平行的執(zhí)行邏輯或有多個選項的過程都很容易地用SFC表示。(2)功能塊圖(FBD)是圖形化的編程語言,使用IEC功能塊庫中的功能塊進行圖形化程序開發(fā),主要用于過程工業(yè)。允許用戶基于存在的功能塊組成更復雜的控制過程。功能塊圖的支持使IEC 61131-3有較大的發(fā)展空間。(3)結(jié)構(gòu)化文本(ST)是類Pascal的高級結(jié)構(gòu)化語言,但更直觀,可以實現(xiàn)不易用圖形化語言實現(xiàn)的復雜應用。ST能夠?qū)崿F(xiàn)IF和ELSE選擇、FOR和WHILE循環(huán),提供對結(jié)構(gòu)化文本支持。ST像一般語言的語句,適合于編程新手,并能簡化梯形圖和功能塊中的長代碼。(4)指令表(IL)是寄存器級別的低級語言,由一套連續(xù)的指令組成,每行一條,很像微處理器的匯編語言。IL一般用于熟練的編程人員。(5)梯形圖(LD)是使用接觸器和線圈的圖形化編程方法,一般用于離散控制系統(tǒng)。LD使用接觸器表示輸入元素,線圈表示輸出結(jié)果,以用戶最熟悉的方法取代邏輯等式和簡單行為。IEC 61131-3的5種語言中,F(xiàn)BD最有生命力和發(fā)展前途。FB(功能塊)是控制系統(tǒng)的基本構(gòu)件,是一個包裝好的控制程序,可以是任何IEC 61131-3語言編寫的控制邏輯和策略包裝成的軟件元素,可以在相同程序的不同部分或分散的其他程序中使用。功能塊能夠封裝數(shù)據(jù)和邏輯,超過了FORTRAN和C語言所寫的子程序,有面向?qū)ο蟮暮x,其組成及對控制編程軟件的貢獻很像是現(xiàn)代電子電路中的集成芯片。功能塊的使用提高了系統(tǒng)可靠性。數(shù)據(jù)封裝避免了許多錯誤源,用戶不必關心具體實現(xiàn)細節(jié),只需關心與外部的接口和如何使用。開發(fā)人員只需注重于實現(xiàn),而不必關心使用。功能塊允許來自不同程序、項目、位置、公司甚至國家的不同組件的結(jié)合。IEC 61131-3標準保證了功能塊定義接口的使用,即定義的輸入和輸出參數(shù)。由不同程序員設計的功能塊可借助輸入和輸出參數(shù)進行交互,當然輸入和輸出參數(shù)必須是標準中定義的數(shù)據(jù)類型。FB不僅利于結(jié)構(gòu)化程序設計,長遠地看還能加速應用開發(fā),尤其對相近的應用開發(fā)有效?,F(xiàn)代控制系統(tǒng)的一個目標是代碼重用,相同的控制邏輯無論硬件是PLC、DCS或是 PC,均有相同的程序源代碼,這個目標只有通過FB實現(xiàn)。功能塊的支持使得遠程控制成為可能。符合IEC 61131-3標準的DCS系統(tǒng)編程軟件,必不可少地會使用FB。DCS中所有控制單元的控制邏輯一般都以FB的形式提供在編程環(huán)境中。DCS還需要提供一個現(xiàn)場總線通信系統(tǒng)中用于分散處理的FB。開放式現(xiàn)場總線控制系統(tǒng)FCS通過組態(tài)軟件生成的參數(shù)及算法,不僅可以在控制器中運行,還可以在遠程I/O或智能設備上運行,這就需要定義好的FB,可以在智能儀表及執(zhí)行機構(gòu)中進行運算,實現(xiàn)真正的分布式控制。1.4 可編程邏輯控制器可編程邏輯控制器(Program Logic Controller)是在工業(yè)環(huán)境中使用的數(shù)字操作的電子系統(tǒng),它使用可編程存儲器內(nèi)部存儲用戶設計的指令,這些指令用來實現(xiàn)特殊的功能,諸如邏輯運算、順序操作、定時、計數(shù)以及算數(shù)運算和通過數(shù)字或模擬輸入/輸出來控制各種類型的機械或過程。4781968年美國GM(通用汽車)公司提出取代繼電器控制裝置的要求,第二年美國數(shù)字公司研制出了第一代可編程序控制器,滿足了GM公司裝配線的要求??删幊炭刂破鲝漠a(chǎn)生到現(xiàn)在,盡管只有四十幾年的時間由于其編程簡單、可靠性高、使用簡單、維護容易等優(yōu)點,使其得到了迅猛的發(fā)展,在冶金、機械、石油、化工、紡織、建筑、電力等領域都得到了廣泛的應用。 隨著PLC技術的進步和市場要求的提高,傳統(tǒng)的PLC越來越暴露出其在數(shù)據(jù)封裝能力,程序可重用性,順序操作編程等方面的不足。這些缺陷導致了不同制造商PLC平臺的不兼容,也給工程技術人員的學習和操作帶來了極大的不便。統(tǒng)一的編程規(guī)則成為技術人員的迫切需求。1.5 組態(tài)軟件組態(tài)英文是“Configuration”,組態(tài)就是用應用軟件中提供的工具、方法、完成工程中某一具體任務的過程。56組態(tài)軟件是指一些數(shù)據(jù)采集與過程控制的專用軟件,它們是在自動控制系統(tǒng)監(jiān)控層一級的軟件平臺和開發(fā)環(huán)境,使用靈活的組態(tài)方式,為用戶提供快速構(gòu)建工業(yè)自動控制系統(tǒng)監(jiān)控功能的、通用層次的軟件工具。組態(tài)軟件應該能支持各種工控設備和常見的通信協(xié)議,并且通常應提供分布式數(shù)據(jù)管理和網(wǎng)絡功能。對應于原有的HMI(人機接口軟件,Human Machine Interface)的概念,組態(tài)軟件應該是一個使用戶能快速建立自己的HMI的軟件工具,或開發(fā)環(huán)境。當前的組態(tài)軟件產(chǎn)品有:iFIX組態(tài)軟件、悉雅特citect組態(tài)軟件、紫金橋組態(tài)軟件、MCGS組態(tài)軟件、三維力控ForceControl組態(tài)軟件、西門子WinCC組態(tài)軟件、Rockwell RSView32組態(tài)軟件等。使用組態(tài)軟件開發(fā)系統(tǒng)工程的一般步驟:(1) 將所有I/O點的參數(shù)收集齊全,并填寫表格,以備在監(jiān)控組態(tài)軟件和PLC上組態(tài)時使用。(2) 搞清楚所使用的I/O設備的生產(chǎn)商、種類、型號、使用的通信接口類型,采用的通信協(xié)議,以便在定義I/O設備時做出準確選擇。(3) 將所有I/O點的I/O標識收集齊全,并填寫表格,I/O標識是唯一地確定一個I/O點的關鍵字,組態(tài)軟件通過向I/O設備發(fā)出I/O標識來請求其對應的數(shù)據(jù)。在大多數(shù)情況下I/O標識是I/O點的地址或位號名稱。(4) 根據(jù)工藝過程繪制、設計畫面結(jié)構(gòu)和畫面草圖。(5) 按照第一步統(tǒng)計出的表格,建立實時數(shù)據(jù)庫,正確組態(tài)各種變量參數(shù)。(6) 根據(jù)第一步和第二步的統(tǒng)計結(jié)果,在實時數(shù)據(jù)庫中建立實時數(shù)據(jù)庫變量與I/O點的一一對應關系,即定義數(shù)據(jù)連接。(7) 根據(jù)第四步的畫面結(jié)構(gòu)和畫面草圖,組態(tài)每一幅靜態(tài)的操作畫面(主要是繪圖)。(8) 將操作畫面中的圖形對象與實時數(shù)據(jù)庫變量建立動畫連接關系,規(guī)定動畫屬性和幅度。(9) 視用戶需求,制作歷史趨勢,報警顯示,以及開發(fā)報表系統(tǒng)。之后,還需加上安全權限設置。(10) 對組態(tài)內(nèi)容進行分段和總體調(diào)試,視調(diào)試情況對軟件進行相應修改。(11) 將全部內(nèi)容調(diào)試完成以后,對上位軟件進行最后完善(如:加上開機自動打開監(jiān)控畫面,禁止從監(jiān)控畫面退出等),讓系統(tǒng)投入正式(或試)運行。1.6 論文的主要工作 本文主要研究了IEC61131-3標準,介紹了組態(tài)軟件PLC_Config的整體設計方案,對軟件的各個模塊進行了總體的描述,著重介紹了PLC_Config中的功能塊組態(tài)的編輯和編譯的設計和實現(xiàn)方法,解決了圖形化編程語言的可視化編輯和編譯的實現(xiàn)方法,功能塊在PLC_Config和PLC嵌入式程序之間的表現(xiàn)形式的轉(zhuǎn)化等關鍵問題。本文的重點是功能塊程序的編輯和編譯的實現(xiàn)方法和思路。在文章的最后,對PLC_Config進行了簡單的測試應用,得到了理想的效果。2 PLC_Config組態(tài)軟件設計和實現(xiàn)2.1 概述PLC_Config主要有以下幾個模塊組成:現(xiàn)場設備管理模塊、工程管理模塊、可視化功能塊組態(tài)模塊、現(xiàn)場設備監(jiān)控模塊、通信服務模塊及信息報告模塊,各個模塊之間的關系如圖2-1所示。現(xiàn)場設備管理模塊設備信息保存現(xiàn)場設備管理網(wǎng)絡監(jiān)控可視化組態(tài)模塊基于功能塊的控制回路編輯功能塊參數(shù)組態(tài)符號表編寫、狀態(tài)表編寫工程管理、I/O配置等現(xiàn)場設備監(jiān)控模塊創(chuàng)建監(jiān)控畫面,監(jiān)控現(xiàn)場信息,監(jiān)視過程變量,強制變量輸出信息報告模塊報告系統(tǒng)信息、操作信息、編譯信息及通信信息文件管理模塊維護、生成、修改工程信息、組態(tài)信息等。 通信服務模塊包括通信服務,如變量讀寫、設備聲明、程序上載、程序下載等服務。圖2-1 PLC_Config的總體模塊劃分結(jié)構(gòu)可視化組態(tài)模塊是整個組態(tài)軟件的核心部分,實現(xiàn)了PLC應用組態(tài)的可視化操作。現(xiàn)場設備管理模塊負責維護、修改控制策略?,F(xiàn)場設備監(jiān)控模塊負責監(jiān)控現(xiàn)場網(wǎng)絡的運行情況,同時也可強制過程變量的值。文件管理模塊維護、生成、修改工程信息、組態(tài)信息等,并保存功能塊回路的組態(tài)信息。通信服務模塊提供了系統(tǒng)中的各類通信服務。信息報告模塊負責及時通報各類系統(tǒng)信息,如設備信息、網(wǎng)絡信息、操作信息、編譯信息等。PLC_Config以工程的方式對組態(tài)信息進行管理。一個工程對應一個工程目錄,工程目錄結(jié)構(gòu)如圖4-2所示。每個工程目錄包含一個工程文件,功能塊程序文件,狀態(tài)表,符號表等文件。工程文件描述整個工程的總體框架,對工程下的所有文件進行有效的組織管理。程序塊文件保存了設備的功能塊組態(tài)信息,這些信息可以形成代碼,并下載到控制器。符號表主要是為了使用符號編程,方便程序的維護和修改,以及程序的可讀性。狀態(tài)表用于過程變量的監(jiān)視以及強制。通信配置可配置當前網(wǎng)絡的信息,配置擴展I/O模塊的信息。其結(jié)構(gòu)如下:工程目錄功能塊程序目錄功能塊程序1工程文件:保存工程的總體結(jié)構(gòu)信息圖2-2 PLC_Config所創(chuàng)建工程的目錄結(jié)構(gòu)功能塊程序2功能塊程序n工程狀態(tài)表文件:保存了狀態(tài)表的有關信息工程符號表文件:保存了符號表的有關信息PLC_Config啟動時首先要調(diào)用文件管理模塊、現(xiàn)場設備管理模塊的初始化函數(shù),對這兩個模塊進行初始化,然后新建或打開一個工程,啟動工程,同時打開網(wǎng)絡套接字映射接口對象,監(jiān)聽網(wǎng)絡設備信息,每發(fā)現(xiàn)一個在線設備就在設備管理窗口中添加該設備相關信息。創(chuàng)建一個功能塊文件,選擇功能塊添加到控制回路編輯窗口中,通過鼠標操作建立鏈接對象,確定功能塊之間的連接關系及功能塊的執(zhí)行順序,形成一個完整的控制回路,對各個功能塊進行參數(shù)配置。最后對組態(tài)信息進行編譯,下載組態(tài)信息到現(xiàn)場設備中。2.2 現(xiàn)場設備管理模塊現(xiàn)場設備管理模塊負責偵聽網(wǎng)絡設備信息,維護和管理現(xiàn)場設備信息。本模塊至底向上可分為三層:網(wǎng)絡層、設備管理層、后臺數(shù)據(jù)庫層。實時網(wǎng)絡監(jiān)控層:啟動套接字映射接口對象,監(jiān)聽網(wǎng)絡上的設備信息,將獲取的設備相關信息轉(zhuǎn)交給現(xiàn)場設備管理層處理?,F(xiàn)場設備信息現(xiàn)場設備管理實時網(wǎng)絡監(jiān)控后臺數(shù)據(jù)庫層設備管理層網(wǎng)絡層圖2-3 現(xiàn)場設備管理模塊的三層體系結(jié)構(gòu)可視化工程管理模塊、信息報告模塊通信服務模塊現(xiàn)場設備管理層:該層負責接收來自實時網(wǎng)絡監(jiān)控層的消息,對該消息進行處理,將消息報告給可視化工程管理模塊、信息報告模塊,維護后臺數(shù)據(jù)庫。該層是現(xiàn)場設備管理模塊的核心層,是該模塊和其他模塊交互的主要接口。現(xiàn)場設備信息層:該層維護一個Access數(shù)據(jù)庫,存放現(xiàn)場設備的信息。該數(shù)據(jù)庫的主表是一個名為DevOnline數(shù)據(jù)表。DevOnline數(shù)據(jù)表是一個動態(tài)變化的數(shù)據(jù)表,該數(shù)據(jù)表存放的是目前在線的設備,根據(jù)設備在線、離線狀態(tài),及時地刪除和添加設備信息,供組態(tài)使用。2.3 文件管理模塊在PLC應用系統(tǒng)中用文件來描述設備信息,保存回路信息以及符號表和狀態(tài)表。PLC_Config需指定一個專用目錄來存放各類應用程序文件,將這個目錄定義為應用程序根目錄。該目錄下的各種文件就是應用程序生成的工程相關的文件。PECX后綴的文件是用來保存工程信息的,其中包含工程名,工程所在的根目錄,以及工程的配置信息等。FBD后綴的文件是用來保存功能塊回路的組態(tài)信息的。其中包括對功能塊網(wǎng)絡的保存,網(wǎng)絡中功能塊的保存以及功能塊參數(shù)的保存、網(wǎng)絡注釋的保存等編譯需要使用的信息。STS后綴的文件是用來保存狀態(tài)表配置的,狀態(tài)表是用來調(diào)試的時候觀察PLC內(nèi)部數(shù)據(jù)的。同時也可以對內(nèi)部數(shù)據(jù)進行強制。在MFC為中系統(tǒng)文件的保存提供了Serialize函數(shù),Serialize()序列化函數(shù)是一個虛函數(shù),因此可以借助這個函數(shù)來實現(xiàn)對文件數(shù)據(jù)的讀取,保存或者修改。但是現(xiàn)代更加主流的保存方法是采用XML描述文件來保存,使用XML文件的好處在于各個平臺通用,可移植性好,幾乎所有的應用程序都能處理XML文件,并且通過DOM提供的方法可以很快捷的對XML文件進行操作。2.4 可視化組態(tài)模塊PLC_Config組態(tài)軟件是以工程的方式來管理和組織信息,而這是通過可視化工程管理窗口來實現(xiàn)的。圖2-4表示一個新創(chuàng)建的工程,工程名為df.pecx。如圖所示,一個新創(chuàng)建的工程會自動為工程添加一個節(jié)點,節(jié)點名為df.pecx。在df.pecx節(jié)點下面有四個節(jié)點:程序塊節(jié)點、符號表節(jié)點、狀態(tài)表節(jié)點、通信配置節(jié)點、指令節(jié)點。圖2-5表示的是項目的數(shù)據(jù)結(jié)構(gòu)圖。工程管理窗口對應的視圖類CProjectView、文檔類是CProjectDoc。程序塊節(jié)點負責管理當前由用戶創(chuàng)建的所有程序。程序塊節(jié)點負責管理所有功能塊控制策略??赏ㄟ^鼠標右鍵操作,創(chuàng)建一個新的控制策略文件,每一個控制策略文件對應一種控制策略。一個控制策略可包含多個網(wǎng)絡,每個網(wǎng)絡中由各種基本功能塊組成復雜的運算邏輯,用戶可創(chuàng)建并選擇合適的回路文件編譯并下載。雙擊某一控制策略節(jié)點,將打開控制策略編輯窗口,在該窗口中完成控制回路組態(tài)??刂撇呗跃庉嫶翱谑腔赩C+的Document/View結(jié)構(gòu),在本程序?qū)崿F(xiàn)中,CFBDDoc類、CFBDView類和CFBDFrame類構(gòu)成了控制策略編輯窗口的三位一體的Document/View結(jié)構(gòu)。圖2-4 PLC_Config中的工程樹符號表中的文件是用來保存符號表的,符號表是用來保存變量定義的,他定義了PLC內(nèi)部的物理地址和符號的一一對應關系。為了增強程序的可讀性以及修改程序的方便性,需要使用符號表。符號表同樣是采用VC+的Document/View結(jié)構(gòu),即它的三位一體結(jié)構(gòu)分別是CSymbolTblDoc類、CSymbolTblFrame類和CSymbolTblView類。編程人員可以定義,修改,刪除符號表項,同時也可將符號表應用于程序中。以方便程序設計以及調(diào)試。符號表的保存主要采用鏈表完成。鏈表成員即是一個符號項。如圖2-6。項目根節(jié)點m_projectItem在工程樹中的編號hItem工程信息m_Project工程名m_projectname工程目錄m_projectpath工程配置m_projectcfg程序塊節(jié)點m_fbItem在工程樹中的編號hItem程序塊列表m_loopTable控制回路信息LoopInfo控制回路信息LoopInfo符號表節(jié)點m_SblTblItem在工程樹中的編號hItem符號表信息m_SblNodeTable絕對地址m_strAbsAddress符號名m_strSymbol注釋m_strVarComment狀態(tài)表節(jié)點m_StatusItem在工程樹中的編號hItem符號表信息m_StatusChtTbl絕對地址m_strAbsAddress符號名m_strSymbol數(shù)據(jù)類型m_strVarType圖2.5 項目數(shù)據(jù)結(jié)構(gòu)圖圖2-6 符號狀態(tài)表功能塊的可視化編輯模塊在下一章詳細介紹。2.5通信服務模塊通信服務模塊主要包括實時通信服務和套接字映射接口對象的實現(xiàn)。實時通信服務模塊中的各項通信服務以全局對象的形式,由組態(tài)程序的其他模塊所調(diào)用。當組態(tài)程序用戶層需要與網(wǎng)絡通信時,調(diào)用相應服務的請求原語(Requset)將請求報文交給實時通信服務,而通信服務在收到通信請求后,將調(diào)用套接字映射接口對象的數(shù)據(jù)發(fā)送接口將請求報文發(fā)送到網(wǎng)絡上。當套接字映射接口對象通過數(shù)據(jù)接收接口接收到來自網(wǎng)絡的通信請求后,將調(diào)用相應服務的指示原語(Indicate)把請求轉(zhuǎn)交給相應通信服務,通信服務收到通信請求后把該請求轉(zhuǎn)交給用戶層。如果該請求需要回應,用戶層會調(diào)用相應通信服務的響應原語(Response)把回復報文轉(zhuǎn)交給通信服務,通信服務通過調(diào)用套接字接口對象的數(shù)據(jù)發(fā)送接口把回復報文發(fā)送到網(wǎng)絡上。當套接字映射接口對象通過數(shù)據(jù)接收接口接收到來自網(wǎng)絡的通信回復后,將調(diào)用相應服務的確定原語(Confirm)把回復報文交給通信服務,然后再由通信服務把回復報文轉(zhuǎn)交給用戶層。圖2-7描述了的通信過程。請求用戶層確定響應指示實時通信服務套接字映射接口用戶層實時通信服務套接字映射接口圖2-7 EPA通信過程2.5.1 實時通訊服務的實現(xiàn)實時通信服務分為應用層實時通信服務和管理服務兩類。實時通信服務提供四種服務原語:請求、指示、響應、確定。服務原語是通信服務提供給外部的調(diào)用接口,同時服務原語也表示一種執(zhí)行方向。在本程序中,將通信服務設計成對象的模式。每個通信服務在程序中表現(xiàn)為一個全局對象,稱為通信服務對象。每一個通信服務對象都具有以下幾個參數(shù):服務序號ID(m_MessageID)、服務使用標志(m_beUsed)、服務請求完成標志(m_reqFinished)。服務序號ID參數(shù)表示本服務被調(diào)用的次數(shù),該參數(shù)初始值為0,服務每調(diào)用一次,該值加1。服務使用標志參數(shù)用于表示通信服務對象是否正在被調(diào)用,通常情況下,在同一時刻,通信服務對象只能響應一個服務請求,即只有本次服務調(diào)用結(jié)束通信服務對象才能響應下一個服務請求。服務請求完成標志表示本次服務請求是否結(jié)束,對于確定性服務,其服務請求需要得到響應,它有一定的等待時間,如果服務請求超過等待時間仍沒有收到響應,則認為本次請求失敗。2.5.2 套接字映射接口對象的實現(xiàn) (1)套接字映射接口對象套接字映射接口對象(PLCSocket)封裝了各個網(wǎng)絡端口,如管理功能端口、應用層服務端口。套接字映射接口提供了實時通信服務與TCP(UDP)/IP之間的映射。在網(wǎng)絡層次結(jié)構(gòu)上,套接字映射接口介于應用層和傳輸層之間,向上它提供面向所有實時通訊服務的調(diào)用接口,向下它提供向網(wǎng)絡發(fā)送數(shù)據(jù)的調(diào)用接口。(2)套接字映射接口對象的報文發(fā)送管理組態(tài)程序在調(diào)用管理功能塊服務和應用層服務發(fā)送數(shù)據(jù)時,需要將數(shù)據(jù)傳送給套接字映射接口對象。套接字映射接口對象首先按發(fā)送優(yōu)先級,將這些待發(fā)送的數(shù)據(jù)分別緩存在不同的隊列中,以等待發(fā)送,優(yōu)先級最高的報文最先發(fā)送。在系統(tǒng)中,定義了三級優(yōu)先級:設備間周期性信息發(fā)布具有最高的優(yōu)先級,以確??刂葡到y(tǒng)的連接正常運行。對于事件信息、設備信息等的廣播發(fā)布具有次高優(yōu)先級,而點對點之間的單播通信的優(yōu)先級最低。來自應用層服務的請求報文,有些是需要確認的,有些是不需要確認的。對于不需要確認的應用層服務請求報文,套接字映射接口對象只需將該報文進行打包,并發(fā)送出去即可。對于需要確認的應用層服務請求報文,套接字映射接口對象在向網(wǎng)絡上發(fā)送該報文時,將根據(jù)發(fā)送該消息的服務ID(ServiceID)以及報文序號(MessageID),創(chuàng)建一個定時器對象,并開始啟動定時,并作以下處理:如果在當前報文響應時間ActiveMsgTime(即最大響應等待時間)到之前收到正確的響應報文,則由套接字映射接口對象將該響應報文發(fā)送到相應的服務接口,并同時將定時器清零,并刪除該定時器對象;如果在當前報文響應時間ActiveMsgTime(即最大響應等待時間)到之前收到錯誤的響應報文,則由套接字映射接口對象將該響應報文發(fā)送到相應的服務接口,并同時將定時器清零,并刪除該定時器對象;服務將不對該報文進行處理,并直接通知用戶功能塊實例,由用戶功能塊實例作出判斷并處理。如果定時時間超過當前報文響應時間ActiveMsgTime(即最大響應等待時間),套接字映射對象仍未收到相應于該請求報文的響應報文,則向應用層服務返回一個負響應,及超時響應錯誤類型,同時刪除該定時器對象。(3)套接字映射接口對象的報文接受管理組態(tài)程序啟動之后,套接字接口對象就打開管理功能塊端口、應用層服務端口,監(jiān)聽來自現(xiàn)場網(wǎng)絡的所有消息。當接收到消息時,由套接字映射接口對象對消息頭進行解包,并根據(jù)消息所接收的端口的不同,將消息分送到不同的功能模塊處理。套接字映射接口對象接收到來自管理功能塊端口或應用層服務端口的消息后,根據(jù)服務標識(ServiceID)進行判斷與處理,如服務標識無效,則將報文丟棄,不作處理;如果服務標識ID有效,則根據(jù)其服務類型,判斷是否作出應答或響應:如果收到的消息是來自其他現(xiàn)場設備的請求消息,則根據(jù)其服務類型,判斷是否作出應答或響應;如果收到的消息是組態(tài)程序發(fā)送出去的請求消息的響應,則根據(jù)消息序號(MessageID)、以及肯定或否定的響應,由用戶層作出判斷與處理。2.6信息報告模塊信息報告模塊將系統(tǒng)收集到各類信息及時通知給用戶,使用戶能清楚地得知目前的操作狀態(tài)。圖2-8是信息報告窗口的一個示意圖。信息報告窗口分為三個部分:編譯信息,系統(tǒng)日志信息,設備日志信息編譯信息:記錄控制回路組態(tài)信息的編譯信息,報告編譯錯誤等。系統(tǒng)日志信息:記錄軟件的操作信息,用戶的操作信息。設備日志信息:提示設備的上線下線,并且提示設備IP沖突。 圖2-8 信息報告模塊2.6本章小結(jié)本章簡單介紹了PLC_Config的5大模塊,在下一章詳細介紹功能塊程序的編輯模塊和編譯模塊。,PLC_Config是基于功能塊的分布式控制系統(tǒng)的可視化組態(tài)程序。它通過創(chuàng)建鏈接對象,建立現(xiàn)場設備中各個功能塊之間連接關系,構(gòu)建成一個個控制回路,將組態(tài)信息下載現(xiàn)場設備中,完成對控制網(wǎng)絡的組態(tài)工作。整個組態(tài)過程以一種類似于搭建積木的方式,通過鼠標拖拽、點擊完成,而不需要復雜的套接字編程,使得建立功能強大的應用變得非常容易,大大降低了對工程師技術水平的要求,使用和操作起來更加簡單、方便,縮短了整個工程的實施周期,降低了生產(chǎn)成本。3 PLC_Config組態(tài)軟件可視化功能塊組態(tài)以及編譯3.1 PLC_Config可視化功能塊編輯程序的設計3.1.1文檔/視圖(Document/View)結(jié)構(gòu)PLC_Config是基于MFC框架設計開發(fā)的,MFC應用程序的核心就是文檔視圖結(jié)構(gòu),利用文檔視圖結(jié)構(gòu),可以把數(shù)據(jù)與數(shù)據(jù)的用戶視圖分開,一個明顯的好處是同一組數(shù)據(jù)可有有多個視圖。在PLC_Config中,程序的核心功能之一就是編輯功能塊程序,功能塊程序是一種圖形化的語言,用戶的編程過程是對圖形的操作,所以功能塊的繪制和操作都是由視圖部分來完成,在操作的同時,要保留操作的記錄,而且在保存功能塊程序時要將當時的文件永久的保存在磁盤中,這些工作有文檔類來完成。文檔的保存格式不是唯一的,它可以是應用程序序列化形成的特定格式文件,也可以是XML描述文件等。910在設計功能塊物件時,要從三方面來考慮,一個是視圖角度,包括了物件的繪制,對物件操作時的重繪,對物件監(jiān)視時物件的變化等等,另一個就是文檔角度,包括了物件內(nèi)部數(shù)據(jù)的維護,物件的保存,物件數(shù)據(jù)的讀取等,還有一點就是文檔與視圖的聯(lián)系,比如視圖的變化要保存到文檔,視圖的初始要讀取文檔等。3.1.2 可視化功能塊編輯程序設計類關系圖通過對功能塊編輯程序的需求分析進行分析,可以將一個功能塊的程序物件分解成5大元素,分別是:功能塊物件,功能塊參數(shù)物件,功能塊網(wǎng)絡物件,鏈接線物件,和功能塊程序文件物件,這5個物件之間的主要關系是包含關系,這是由功能塊程序內(nèi)在結(jié)構(gòu)定義的,用面向?qū)ο蟮慕嵌仍O計,在設計時可以對每種物件定義一個類,包含物件的信息和操作方法,根據(jù)功能塊程序物件的結(jié)構(gòu)分析,得到了如下的類關系圖3-1。功能塊文檔物件功能塊網(wǎng)絡物件集合功能塊物件集合功能塊參數(shù)集合鏈接線物件集合圖3-1 功能塊編輯程序類關系圖 3.1.3功能塊的圖形表示圖3-2是一個功能塊的圖形表示。一個典型的功能塊從圖形結(jié)構(gòu)上可以分為兩個部分:功能塊參數(shù)部、功能塊體部。功能塊體部包含功能塊名稱,功能塊參數(shù)部包含功能塊的輸入和輸出參數(shù)單元。功能塊輸入?yún)?shù)單元功能塊輸出參數(shù)單元功能塊名稱功能塊體部圖3-2功能塊的圖形3.1.4功能塊的邏輯組成 每個功能塊從邏輯角度可以看做一個函數(shù),包括了輸入?yún)?shù)和輸出結(jié)果和函數(shù)功能的實現(xiàn),所以我們可以將一個功能塊從邏輯上分為三個部分,輸入?yún)?shù),輸出參數(shù)和函數(shù)執(zhí)行部分,由于功能塊的邏輯執(zhí)行是在PLC中實現(xiàn)的,所以在PLC_Config中不用考慮功能塊是怎樣實現(xiàn)邏輯的,而輸入?yún)?shù)和輸出參數(shù)作為邏輯執(zhí)行函數(shù)的接口需要在PLC_Config中組織起來,產(chǎn)生PLC可以識別的代碼(一組數(shù)據(jù)結(jié)構(gòu)),通過通訊模塊下載到PLC設備的Flash Rom中,PLC通過嵌入式的軟件來分析這組數(shù)據(jù)結(jié)構(gòu)來實現(xiàn)邏輯上的運算。3.1.5在DCCE系列PLC中的功能塊程序的表現(xiàn)形式如上所述,功能塊程序通過PLC_Confug編譯后,通過通訊接口下載到下位機中,由下位機的嵌入式程序來執(zhí)行功能塊的功能,在下位機中的功能塊也需要一定的數(shù)據(jù)