中自网

热门搜索:PID  plc  传感器  电机  变频器  工业以太网  无线通讯  低压 

当前位置:首页>>应用案例首页>>解决方案>>正文

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

发布日期:2011-09-27   作者:蔡勤   浏览次数:48715
分享到:
【摘   要】:本文分享了IEC61131-3标准中的数据类型、编程语言、POU、实例化等几个概念,并就IEC61131-3将标准编程技术和当代编程语言的优点结合起来的使用体会做了分析。研华PAC符合IEC61131-3 编程语言标准及支持实时多任务控制,而通过研华PAC在混凝土搅拌站控制系统上的应用,介绍了IEC61131-3标准编程、STD编写实用功能块、实时多任务等在实际工程中的应用优势。


[编辑简介]:本文分享了IEC61131-3标准中的数据类型、编程语言、POU、实例化等几个概念,并就IEC61131-3将标准编程技术和当代编程语言的优点结合起来的使用体会做了分析。研华PAC符合IEC61131-3 编程语言标准及支持实时多任务控制,而通过研华PAC在混凝土搅拌站控制系统上的应用,介绍了IEC61131-3标准编程、STD编写实用功能块、实时多任务等在实际工程中的应用优势。
[摘要]:本文分享了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就必须以实例的方式进行调用;

程序实例化的例子:

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

 
 
[ 应用案例搜索 ]  [ ]  [ 告诉好友 ]  [ 打印本文 ]  [ 关闭窗口 ]  [ 返回顶部 ]

0条 [查看全部]  网友评论