IEC61131-3是第一個為工業(yè)控制系統提供標準化編程語言的國際標準,該標準針對工業(yè)控制系統所闡述的的軟件設計概念、模型等適應了當今世界軟件、工業(yè)控制系統的發(fā)展方向,是一種非常先進的設計技術,它不但極大地推動了工業(yè)控制系統的軟件設計的進步,而且它的許多概念還對現場總線設備的軟件設計產生了很大影響。符合IEC61131-3的軟件系統是一個結構完美、可重復使用、可維護的工業(yè)控制系統軟件,不但能被應用在PLC(可編程控制器),而且還能被應用在控制工業(yè)及制造過程的一切軟件中,是一種先進的工業(yè)控制編程系統。
IEC61131-3標準包括兩部分:編程和公共元素。編程部分描述了兩個重要模型:IEC 軟件模型和通訊模型。公共元素定義了編程系統中需要的的數據類型。本文將通過對IEC61131-3標準的這兩個部分的描述,從理論上分析、闡述IEC61131-3編程系統所具有的優(yōu)點,并讓我們學習到IEC61131-3所闡述的先進的設計思想。
[b]一、IEC61131-3的兩個重要模型
[/b] IEC61131-3標準有兩個模型:IEC 軟件模型和通訊模型。這兩個模型構成了實現符合IEC61131-3國際標準的編程系統的概念基礎,它們不但是IEC61131-3編程系統區(qū)別于傳統的PLC編程系統的重要標志,而且也是IEC61131-3編程系統優(yōu)越于傳統的PLC編程系統的原因所在。IEC 軟件模型從理論上描述了如何將一個復雜的程序分解為若干個小的不同的可管理部分,并且在各個被分解部分之間有清晰的和規(guī)范的接口的方法;描述了一臺PLC如何實現多個獨立程序的同時裝載、運行;描述了系統如何實現對程序執(zhí)行的完全控制等。通訊模型同樣從理論上描述了不同程序組織單元(POU – Program Organization Units)之間如何交換信息的方法。程序組織單元包括程序,功能塊和功能。
為了更好地描述IEC 軟件模型,我們先通過一個實際的應用系統來描述IEC61131-3軟件與實際系統的關系,然后再進一步說明61131-3軟件模型。
[b]二、IEC61131-3軟件與實際系統的關系
[/b] 如圖1為一采用PLC的直接數字控制系統。來自物理傳感器的連續(xù)信號被轉換為數字采樣信號后,PLC控制系統就可以運行諸如比例,積分,微分(PID)等算法產生控制信號輸出,最終實現對裝置位置的控制。在圖1中,IEC61131-3軟件假設,來自傳感器或變送器
[align=center]圖一 應用PLC系統的直接數字控制系統
[/align]
外部數值被直接放在一段特定的內存區(qū),同時,程序運行后產生的結果也被放在一段特定的內存區(qū),更新這些內存區(qū)數值,即實現了對執(zhí)行器或顯示器的驅動。到PLC的I/O裝置的內存映射并沒有定義在標準中,它會隨著不同的PLC廠商有很大的不同。
[b]三、IEC 軟件模型
[/b] IEC61131-3軟件模型如圖二所示。該軟件模型是一種分層結構,每一層隱藏了其下層的許多特征。IEC61131-3具有的這種分層結構,構成了IEC61131-3軟件優(yōu)越于傳統的PLC軟件的理論基礎,是IEC61131-3軟件先進性的體現。下面我們先描述軟件模型的各個部分的概念,同時分析、總結IEC61131-3編程系統所具有的優(yōu)點。
1.配置、資源、程序和任務
在模型的最上層是軟件“配置”,它等同于一個PLC軟件,使用在一個具體應用的定義PLC行為的整個軟件中,它與配置系統的實際過程是不同的。如在一個復雜的由多臺PLC組成的自動化生產線中,每臺PLC中的軟件就是一個獨立的“配置”。一個“配置”可與其它的IEC“配置”通過定義的接口進行通訊。
在每一個配置中,有一個或多個“資源”,“資源”不僅為運行程序提供了一個支持系統,而且它反映了PLC的物理結構,在程序和PLC物理I/O通道之間提供了一個接口。一個IEC程序只有在裝入“資源”后才能執(zhí)行?!百Y源”通常放在PLC內,但也可以放在其它系統內。
一個IEC程序可以用不同的IEC編程語言來編寫。典型的IEC程序由許多互連的功能塊組成,各功能塊之間可互相交換數據。一個程序可以讀寫I/O變量,并且能夠與其它的程序通訊。一個程序中的不同部分的執(zhí)行通過“任務”來控制。
“任務”被配置以后,可以控制一系列程序和/或功能塊周期性地執(zhí)行程序或由一個的特定的事件觸發(fā)開始執(zhí)行程序。IEC程序或功能塊通常保持完全的待用狀態(tài),只有當是由一個特定的被配置的任務來周期性地執(zhí)行或由一個特定的變量狀態(tài)改變來觸發(fā)執(zhí)行的情況,IEC程序或功能塊才會執(zhí)行。
2.功能塊和功能
功能塊概念是IEC61131-3標準編程系統的一個重要的特征。任何功能塊可以用其它的更小的更易管理的功能塊來編程,這樣就可以由許多的功能塊創(chuàng)建一個有層次的結構合理的程序。IEC61131-3還允許程序設計人員利用現有的功能塊和其它的軟件元件生成新的功能塊。
[align=center]圖二:IEC軟件模型
[/align]
功能也是IEC61131-3標準中的一個重要概念,但在軟件模型中未表現出來,它常常使人們與功能塊混淆。功能是一些在程序執(zhí)行過程中的軟件元件,這些軟件元件對一系列特定的輸入值會產生相應的輸出結果,如算術功能COS(),SIN()等。IEC61131-3標準中有大量的用于處理不同數據類型的功能。
3. 變量和存取路徑
在配置、系統資源、程序、功能或功能塊內,可以聲明和使用局部變量、全局變量、直接變量。局部變量是僅僅能在配置、資源、程序、功能或功能塊內聲明和存取的變量;全局變量在一個程序(或配置)內聲明,它能被程序(配置)內的所有軟件元件存??;直接變量 是PLC程序的內存區(qū)直接用地址變量來表示的變量。存取路徑提供了在不同的配置之間交換數據和信息的設備。每一配置內的變量可被
其它遠程配置存取。配置之間存取數據和信息可采用基于以太網的網絡,現場總線或通過底板總線交換數據。
[b]四、 軟件模型到實際系統的映射
[/b] IEC 軟件模型到實際系統的映射,針對不同的系統有如下的不同的映射關系:
1. 具有一個主處理器的小型系統:小型系統的模型典型地退化為一個配置、一個資源和一條程序。
2. 具有多處理器的較復雜系統:整個PLC被看作一個配置,每個處理器用一個資源描述,一個資源支持一條或多條程序。
3. 對于分散PLC 系統:分散PLC 系統將包含多個配置,一個配置對應多個處理器,每個處理器用一個資源描述,一個資源支持一條或多條程序。
IEC 軟件模型可以充分地適應于從簡單到較復雜PLC系統,甚至是非常復雜的PLC系統,這就大大地擴展了傳統PLC的應用范圍和領域。
[b]五、 IEC 軟件模型的優(yōu)點
[/b] IEC 軟件模型具有如下優(yōu)點:
1.在一臺PLC中同時裝載、啟動和執(zhí)行多個獨立的程序:IEC61131-3標準允許一個“配置”內有多個“資源”,每個“資源”能夠支持多個程序,這使得在一臺PLC中可以同時裝載、啟動和執(zhí)行多個獨立的程序,而傳統的PLC程序只能同時運行一個程序。
2.實現對程序執(zhí)行的完全控制能力:IEC61131-3標準的這種“任務”機制,保證了PLC系統對程序執(zhí)行的完全控制能力。傳統PLC程序只能順序掃描、執(zhí)行程序,對某一段程序不能按用戶的實際要求定時執(zhí)行,而IEC61131-3 程序允許程序的不同部分在不同的時間、以不同的比率并行執(zhí)行,這大大地擴大了PLC的應用范圍。
3.IEC軟件模型能夠適應很廣范圍的不同的PLC結構:IEC軟件模型是一個國際標準的軟件模型,它不是針對具體的PLC系統,而是具有很強的適用性。
4. IEC軟件模型既能適合小型的PLC系統,也可適合較大的分散系統。
5. IEC軟件支持程序組織單元的重用特性:軟件的重用性是IEC軟件的重要優(yōu)點。
6. IEC軟件支持分層設計:一個復雜的IEC軟件通??梢酝ㄟ^一層層的分解,最終分解為可管理的程序單元。
[b]六、通訊模型
[/b] 根據不同的通訊要求,IEC61131標準規(guī)定了以下四種通訊模型:
1. 內部通訊:在程序、功能塊和功能內部之間可以互相連接以形成一個網絡,數據信息可以通過這個內部的網絡進行通訊。
2. 局變量通訊:全局變量可以被用來在功能塊與其它的程序組織單元之間交換數據信息。
3. 外部變量通訊:IEC61131的第五部分定義了一個通訊功能塊家族來通過一個網絡來交換數據。
4. 使用存取路徑通訊:存取變量提供了一種方法用于從遠程設備存取特定的變量。丁一在IEC61131的第五部分的通訊功能塊還能讀寫遠程配置中的ACCESS變量。
IEC61131標準規(guī)定的這四種通訊模型,使得不但在IEC編程系統內部的通訊靈活、便捷,而且還有效地支持了IEC編程系統的功能擴展對通訊提出的要求,使得新一代編程系統可以更有效地適應未來對網絡、現場總線、遠程通訊等新技術發(fā)展的要求。
[b]七、公共元素
[/b] 公共元素描述了IEC61131-3五種編程語言、IEC 軟件模型及通訊模型中需用到的全部公共編程元素的變量和數據類型,給出了如何命名這些軟件元素、聲明變量、變量及數據類型的初始化等規(guī)則,是實現IEC61131-3編程系統不可缺少的有機組成部分。
[b]八、結論
[/b] IEC 61131-3軟件是一個功能強大、設計思想和技術先進并能很好地適應未來發(fā)展的編程系統
編輯:何世平