程序组织单元及其组成编程

简介: 程序组织单元及其组成编程

程序组织单元及其组成

1.程序组织单元概述

IEC 61131-3标准很重要的一个目的就是限制块的多样性,并同时隐含块类型的含义,统一并简化块的用法。IEC 61131-3引入构成程序和项目的块,即程序组织单元(Program Organization Unit,POU)。程序组织单元由程序组织单元的说明部分和程序组织单元的本体两部分组成,它对应于传统PLC编程领域的程序块、组织块、顺序块和功能块。程序组织单元彼此之间能够带有或不带有参数地相互调用,程序组织单元是用户程序中最小的、独立的软件单元。程序组织单元的标准部分,如标准功能、标准功能块等由PLC制造商提供。用户可以根据程序组织单元的定义设计用户的程序组织单元,并对其进行调用和执行。


IEC 61131-3将PLC制造商的块类型的种类减少为3种统一的基本类型,它们分别是Function(FUN功能)、Function Block(FB功能块)和Program(PROG程序),如图所示,

1a62bb406755427282a4699133678176.png


它们的含义如表所示。根据IEC 61131-3标准,程序、功能和功能块都被称为程序组织单元POU。

f3003bcc124b4c4a991fe3e89d673d37.png

在IEC 61131-3中,不允许其他高级语言的子程序调用。这样在对一个POU编程后,其名称及调用接口将为此项目中所有的其他POU所认知,也就是说程序组织单元名称总是全局的。程序组织单元的独立性有利于自动化任务的模块化扩展,以及已实现和已测试的软件单元的重复使用。


2.程序组织单元的组成

程序组织单元由3部分组成,即程序组织单元类型和名称、带有变量声明的声明部分、带有程序组织单元指令的主体,其元素构成如图所示。

图 POU元素构成

1ce26e1f754841648dfb789db7448bb1.png


1)声明部分

定义程序组织单元内所使用的变量,应注意区别程序组织单元接口变量和程序组织单元局部变量。在程序组织单元的代码部分,使用编程语言对逻辑电路或算法进行编程。在IEC 61131-3中,变量用于初始化、处理和存储用户数据。在每个程序组织单元的开始部分必须声明变量,变量赋予的数据类型必须是已知的。对不同的数据类型,程序组织单元变量的声明部分分为不同的段,每个声明部分对应于一种变量类型,并可以包括一种或多种变量。


2)接口部分

程序组织单元接口,以及在程序组织单元中使用的局部数据区是借助于在声明块中将程序组织单元变量赋予变量类型进行定义的。程序组织单元接口分为以下几个部分。

调用接口:形式参数(输入和输入/输出参数)。

返回值:输出参数或功能返回值。

全局接口:带有全局/外部变量和存取路径。

调用接口的变量也称为形式参数。调用一个程序组织单元时,形式参数为实际参数代替,形式参数被赋予实际值或常数。


3)代码部分

程序组织单元的指令或代码部分紧接声明部分,它包含PLC执行的指令。可以利用IEC 61131-3提供的5种编程语言来编写代码,根据程序要完成的不同的功能要求和任务特点,合理利用这些编程语言来编写代码,从而完成适合于不同的控制任务和应用领域的程序编写。


3.几种程序组织单元类型的相互调用

根据IEC 61131-3标准,3种类型的程序组织单元可以相互调用,如图所示,但在调用时要注意以下几点。

(1)程序可调用功能块和功能,但功能和功能块不能调用程序。

(2)功能块和功能块可以互相调用。

(3)功能块可调用功能,但功能不能

调用功能块。

(4)3种类型的程序组织单元不能直接或间接地调用它自身的一个实例。

相关文章
|
7月前
|
XML JSON 算法
【软件设计师备考 专题 】编写内部设计文档:构件划分图和接口
【软件设计师备考 专题 】编写内部设计文档:构件划分图和接口
114 0
|
4月前
|
Serverless 云计算 开发者
工程代码编写问题之理解工程设计中的强独立、弱独立和不独立如何解决
工程代码编写问题之理解工程设计中的强独立、弱独立和不独立如何解决
40 2
|
6月前
技术心得记录:单片机开发过程中使用结构体简化程序
技术心得记录:单片机开发过程中使用结构体简化程序
38 0
|
6月前
|
存储 设计模式 移动开发
编程怎样如何组织数据和代码
编程怎样如何组织数据和代码
|
7月前
|
算法 测试技术 持续交付
软件开发深度解析:从设计到单元构建
软件开发深度解析:从设计到单元构建
184 2
|
安全 Java API
了解程序运行逻辑的必要性及应用和硬件的关系
了解程序运行逻辑的必要性及应用和硬件的关系
118 0
|
程序员
软件基本功:不会代码共用,因为没有设计能力;代码共用都不会,谈什么设计
软件基本功:不会代码共用,因为没有设计能力;代码共用都不会,谈什么设计
140 0
|
异构计算
《逻辑与计算机设计基础(原书第5版)》——导读
本书的目的是为广大读者提供学习逻辑设计、数字系统设计和计算机设计的基础知识。本书第5版突出了课程内容方面的最新发展。从1997年的第1版开始,作者就不断对其进行修改,提供一种独一无二的将逻辑设计与计算机设计原理结合在一起的方法,并特别强调硬件。
2718 0