摘要 本文分享了IEC61131-3標準中的數據類型、編程語言、POU、實例化等幾個概念,並就IEC61131-3將標準編程技術和當代編程語言的優點結合起來的使用體會做了分析。研華PAC符合IEC61131-3 編程語言標準及支持實時多任務控製,而通過研華PAC在混凝土攪拌站控製係統上的應用,介紹了IEC61131-3標準編程、STD編寫實用功能塊、實時多任務等在實際工程中的應用優勢。 關鍵字 IEC61131-3標準 研華PAC 實時多任務 混凝土攪拌站 一、IEC61131-3的幾個概念和使用體會 正如專家所言,IEC61131-3將標準編程技術和當代編程語言的優點結合起來。標準編程技術指PLC的編程語言,當代編程語言指我們所使用的高級編程語言,比如C++等。而IEC61131-3將二者巧妙的進行結合,優勢互補。下麵就二者之間的應用結合點作為切入點來了解該標準。 1、數據類型 除了常用的數據類型如Byte、Word、Real等,IEC61131-3還支持定義不同的數據類型,包括結構、數組等。 定義結構的例子: TYPE Com_FBs : STRUCT Send_CMD : String; Recv_CMD : String; Send_CMD_Len : int; recv_CMD_Len : int; END_STRUCT; END_TYPE 定義數組的例子: TYPE ASCFB_Array : ARRAY [1..10] OF Com_FBs; END_TYPE 應用結構和數組,可以像采用高級編程語言的方式一樣。 如: comfbs[prv_Idx].Recv_cmd := Recv_cmd;(STD編程語言) 2、 編程語言 IEC61131-3定義了5種編程語言,在這5種編程語言中,有3種是圖形化語言,2種是文本化語言。圖形化語言有梯形圖、順序功能圖、功能塊圖,文本化語言有指令表和結構化文本。這五種語言各有優勢,可以根據每個語言的優點靈活應用。 3、 程序組織單元―POU 程序組織單元―POU(Program organization units)是組成Project的基本單元,在IEC61131-3中,POU有三種組織形態:程序(Program)、功能塊(Function Block)、功能(Function)。
 Program是POU類型中最高層:能夠存取PLC的I/O;可被Task關聯執行;並可以調用FB和Function, Function Block是POU類型中的第二層,可具有多個輸入和輸出參數,並具有靜態變量,可以調用FUN; Function 是POU類型中的第三層,可有多個入口參數,但隻有一個輸出參數用於返回值,沒有靜態變量。 而任何一種POU都可用五種編程方式的任一種或多種進行編程。 Task和POU之間的關係: Task一定要關聯程序PROGRAM的實例,而PROGRAM可以調用FB實例和FUN,FB可以調用FUN;而Task則不能直接關聯FB實例和FUN. Task和POU之間的關係類同於高級編程語言中的Project、Program、Class、Function等,在IEC61131-1標準中都能找到高級編程的影子。 2、 實例化 以上提到了實例,程序和FB具備實例化的功能,因為其內部具有靜態變量;而FUN不能被實例化,因為其本身沒有靜態變量,也不用被實例化。 當程序被不同的Task調用或在同一個Task中多次調用時,該程序就必須以一個實例的方式進行調用;當FB被不同的程序或同一程序多次調用時,該FB就必須以實例的方式進行調用; 程序實例化的例子:

 Valve_Control是控製閥門的Program,在Task1和Task2分別以Valve1_Control和Valve2_Control各控製1個閥門,則Valve1_Control和Valve2_Control都是Valve_Control的實例化。 FB實例化的例子:
 在Program 的Valve_Control中調用兩次Press_Calculate FB,分別以Press_Calculate_1和Press_Calculate_2兩個實例進行調用,如下所示:
 通過實例方式來調用Program和FB的方式,類似高級編程語言如C++中的類、對象和實例的關係,這也體現出IEC61131-3將標準編程技術和當代編程語言的優點相結合起來。 二、IEC61131-3在研華PAC中的應用 PAC(Programmable Automation Controller)即可編程自動化控製器,由自動化研究機構 (ARC Group) 提出的,用於描述結合了PLC和PC功能的新一代工業控製器。在PAC的定義中,開放性和采用標準化編程語言作為定義的重要部分,而構成PAC的獨特特征。 研華PAC在硬件上,采用成熟的嵌入式技術,采用標準IT技術如ftp、Web Server,E-Mail報警、 OPC…等,具備靈活的通信能力,采用標準、開放的通信協議等等;在軟件編程上,HMI軟件(PC軟件編程)和底層采集控製軟件(PLC軟件編程)可同時運行在同一台PAC中。而在底層采集控製軟件中采用IEC61131-3標準,充分體現出PAC的開放性和標準化編程等特點。 在研華PAC編程中,可全麵支持五種標準的編程語言及多任務(Muli-Task)方式。 1、 在同一編程界麵中同時支持3種圖形化編程語言 梯形圖(LD)、功能塊圖(FBD)和順序功能圖(SFC)這三種圖形化的編程語言可以有機的結合在一起,靈活運用各自語言的優勢。
 2、文本化編程語言和圖形化語言相結合 指令表(IL)和結構化文本(STD)這兩種語言因為是文本化編程語言,所以在一個編程界麵中隻能支持一種。但可以用定義功能塊(FB)的方法將文本化語言和圖形化語言相結合。 例如,用STD語言編寫複雜的算法,預留入口參數和出口參數,並封裝為功能塊,這樣就能夠在圖形化語言中進行調用。 3、實時多任務控製 研華PAC的控製引擎支持實時多任務(Real-Time Multi-Task)功能,共支持四種Task類型:Default Task、Cyclic Task、Event Task、System Task 複雜的控製係統中常需要有多個循環,每個循環均可以不同的速率運行,並支持一個Task中可以多個Program同時運行。 三、研華PAC ADAM-5550KW在混凝土攪拌站上的應用 下麵通過研華PAC ADAM-5550KW在混凝土攪拌站控製係統中的應用加以重點說明。 混凝土攪拌站控製係統本係統由ADAM-5550、ADAM-5000/4000模塊組成。係統的主要特點如下: 1、將原係統中邏輯控製部分和稱重配料儀表的功能全部用ADAM-5550來實現,還增加了帶料啟動、自動扣秤、在線調整配方等新功能,操作更加靈活方便、更加適應南方因物料濕度變化大經常調整用水量的現狀,並且在生產非正常中斷(如:調度臨時改變生產任務、下料門被石子卡住導致物料超重等)後可以迅速恢複生產,極大的提高了生產效率。 2、通過ADAM-5550的雙以太網端口組成可靠的冗餘以太網連接,連接多台上位機和ADAM-5550可實現多機多控,使係統更加安全可靠。 3、在ADAM-5550控製器的WINCE操作係統上開發了數據采集、存儲和係統配置軟件,因此即可由ADAM-5550連接一台顯示器或者觸摸屏,並將生產數據存儲在擴展的大容量CF卡上,脫離上位機組成一套簡易、可靠的監控係統,可以滿足小型攪拌站和可搬遷站的高可靠、高性能的要求;也可通過工業交換機將ADAM-5550連接到上位機組成功能齊全的監控管理係統,並可連接到企業的ERP係統,滿足較大規模企業進行信息化管理的需求。
 本係統的重點和難點是如何用軟件實現稱重儀表的功能,並確保係統的靜態、動態計量精度滿足設計要求,從以下幾個方麵解決了這個問題: 1、硬件方麵。我們從研華定製了高分辨率、高采樣速率的模擬量輸入模塊ADAM-5017HR,保證了采集數據的準確性和實時性。 2、軟件方麵。采用IEC61131-3biaozhunbianchengyuyanjinxingcaijihekongzhi。youyuganraobijiaoda,caijishanglaideshujubunengzhijieyingyong,tebieshejilegaoxiaodelvbosuanfa,jibaozhenglejiliangjingduyoubuhuizhanyongtaiduodeziyuan;由於計量秤涉及的數據量和計算量比較大,我們采用比較靈活的ST語言編程,並將有關計量秤的功能封裝一個功能塊,在其它程序中重複調用,方便實用。 3、實時性。控製器能否在確定的時間內執行完整個控製程序,是本係統成敗的關鍵。ADAM-5550具有強大的運算性能、支(zhi)持(chi)實(shi)時(shi)多(duo)任(ren)務(wu),在(zai)編(bian)程(cheng)終(zhong)將(jiang)有(you)關(guan)數(shu)據(ju)處(chu)理(li)和(he)計(ji)量(liang)秤(cheng)方(fang)麵(mian)的(de)功(gong)能(neng)整(zheng)合(he)到(dao)一(yi)個(ge)任(ren)務(wu)內(nei),並(bing)設(she)為(wei)較(jiao)高(gao)的(de)優(you)先(xian)級(ji),經(jing)測(ce)試(shi)可(ke)達(da)到(dao)每(mei)秒(miao)鍾(zhong)至(zhi)少(shao)二(er)百(bai)次(ci)的(de)處(chu)理(li)速(su)度(du),保(bao)證(zheng)了(le)計(ji)量(liang)秤(cheng)的(de)動(dong)態(tai)計(ji)量(liang)精(jing)度(du)。 四、結束語 IEC61131-3標準已經得到公認並為工程師們帶來方便,同時,我們也能感到IEC61131-3在支持Ethernet、Internet等網絡功能、數據庫功能、運動控製的功能等方麵還欠缺。研華PAC既符合IEC61131-3 編程語言標準,同時在其上述不足方麵也提出了自己的解決辦法,如用功能塊圖支持e-Mail報警功能,支持Mobile SQL Server數據庫功能。 技術在進步,IEC61131-3標準也在發展,在感謝的同時也期待其有更強大的功能來滿足市場的需求。 參考文獻: 1、研華PAC ADAM-5550KW在混凝土攪拌站上的應用―研華客戶 2、IEC61131-3標準文獻 |