工控网首页
>

应用设计

>

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

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就必须以实例的方式进行调用;

程序实例化的例子:

  通过实例方式来调用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语


 

投诉建议

提交

查看更多评论
其他资讯

查看更多

研华 APAX-5000系列 控制器

研华 ADAM-5550KW PAC

研华 ADAM-5510KW常见问题解答

研华称重包装机自动化方案

研华 MIC-3666 10 GbE XMC增强型CompactPCI