ABB banner26年4月
關注中國自動化產業發展的先行者!
2026中國自動化產業年會
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

IEC61131-3標準在研華PAC中的應用
  • 企業:控制網     行業:電子制造     領域:機器人    
  • 點擊數:1316     發布時間:2008-07-16 10:31:21
  • 分享到:
一、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就必須以實例的方式進行調用;
程序實例化的例子:

熱點新聞

推薦產品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
欧美视频一区