登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:IEC 61131-3的程序结构

点击:580 回复:0

      iec(国际电工委员会)是为电子技术的所有领域制定全球标准的国际组织。iec 61131是plc的国际标准,它由以下5部分组成:通用信息、设备与测试要求、编程语言、用户指南和通信。其中的第三部分(iec 61131-3)是plc的编程语言标准。iec 61131-3是世界上第一个,也是至今为止唯一的工业控制系统的编程语言标准。
      目前已有越来越多的生产plc的厂家提供符合iec 61131-3标准的产品,iec 61131-3已经成为dcs(集散控制系统)、ipc(工业控制计算机)、fcs(现场总线控制系统)、scada(数据采集与监视控制)和运动控制系统事实上的软件标准。有的厂家推出的在个人计算机上运行的“软件plc”软件包也是按iec 61131-3标准设计的。
      1.pou
      iec 61131-3的程序组织单元(pou)是包含程序代码的plc的独立软件单元。
      有三种pou:程序、功能块和功能。pou由变量声明部分和代码本体部分组成。声明部分用于声明所有局部变量。pou的代码部分由指令组成,pou不允许递归调用。
      2.功能
      功能是有多个输入参数和一个输出参数(返回值)的pou。调用带有相同输入值的功能总是返回相同的结果。在一个功能内,可以调用另外的功能,但不能调用功能块或程序。返回值的名称与功能的名称相同。
      下面是标准的iec 61131-3功能列表:
      • 数据类型转换功能,例如int_to_real;
      • 函数运算功能,例如abs和log;
      • 标准算术运算功能,例如add和mul;
      • 位串功能,例如and和shl;
      • 选择和比较功能,例如sel和ge;
      • 字符串功能,例如:right和insert;
      • 时间数据类型功能,例如带有time数据类型的sub。
      3.功能块 
      功能块是带有多个输入/输出参数和内部存储单元的pou,功能块的返回值与其内部存储单元的值有关。功能块内可以调用另外的功能块或功能,但是不能调用程序。功能块的内部变量对功能块的用户是隐藏的。
      下面是标准iec 61131-3功能块列表:
      • 双稳态元素,例如sr和rs;
      • 边沿检测功能块,例如r_trig和f_trig;
      • 计数器,例如ctu和ctd;
      • 定时器功能块,例如ton和tof。
      4.功能块的实例化
      实例化是指一个功能块被定义一次而被使用多次。在调用功能块之前,必须在 要调用功能块的pou中声明功能块的实例。
      下面是实例声明的例子:功能块fb_exam的实例名称分别为drive1和drive2:
var
  drive1 : fb_exam;
  drive2 : fb_exam;
end_var
      两次调用功能块fb_exam时,应分别使用不同的实例名称。在调用功能块时,每个实例名称被分配一个单独的存储区域,用来保存功能块的局部变量的值。
功能因为没有内部存储区,可以不必实例化而被调用。
      5.程序
      程序通常包含了功能、功能块调用的一个逻辑组合。程序的行为和用途类似于功能块。程序具有输入和输出参数,而且可以具有内部存储区。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=129194&Name=liaochangchu
10-11-17 12:01

工控新闻

更多新闻资讯