IEC61131-3标准在研华PAC中的应用--控制网



IEC61131-3标准在研华PAC中的应用
企业:控制网 日期:2008-07-16
领域: 点击数:780
一、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就必须以实例的方式进行调用;
程序实例化的例子:
  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: