Download presentation
Presentation is loading. Please wait.
1
浩纳尔(天津)自动化科技有限公司 技术部:王静波
IEC61331编程培训 ——IEC61331基础 浩纳尔(天津)自动化科技有限公司 技术部:王静波
2
一、IEC61131-3标准的产生与特点 1、传统PLC编程语言的不足 梯形图语言规范不一致 程序可复用性差 缺乏足够的程序封装能力
不支持数据结构 程序执行具有局限性 难以实现选择或并行等复杂顺控操作 传统的梯形图编程在算术运算处理、字符串或文字处理等方面均不能提供强有力的支持
3
2、IEC 61131-3标准的产生 1992年以后,IEC陆续颁布施行可编程序控制器国际标准IEC 61131的各个部分。已正式颁布的有:
4
3、IEC编程方式的特点 IEC 允许在同一个PLC中使用多种编程语言,允许程序开发人员对每一个特定的任务选择最合适的编程语言,还允许在同一个控制程序中不同的软件模块用不同的编程语言编制,以充分发挥不同编程语言的应用特点。标准中的多语言包容性很好地正视了PLC发展历史中形成的编程语言多样化的现实,为PLC软件技术的进一步发展提供了足够的技术空间和自由度。
5
4、IEC编程方式的优势 采用现代软件模块化原则,主要内容包括:
编程语言支持模块化,将常用的程序功能划分为若干单元,并加以封装,构成编程的基础。 模块化时,只设置必要的、尽可能少的输入和输出参数,尽量减少交互作用和内部数据交换。 模块化接口之间的交互作用均采用显性定义。 将信息隐藏于模块内,对使用者来讲只需了解该模块的外部特性(即功能、输入和输出参数),而无需了解模块内算法的具体实现方法。
6
IEC 支持自顶而下(Top Down)和自底而上(Bottom Up)的程序开发方法。自顶而下的开发过程是用户首先进行系统总体设计,将控制任务划分为若干个模块,然后定义变量和进行模块设计,编写各个模块的程序;自底而上的开发过程是用户先从底部开始编程,例如先导出函数和功能块,再按照控制要求编制程序。无论选择何种开发方法,IEC 所创建的开发环境均会在整个编程过程中给予强有力的支持。
7
IEC 所规范的编程系统独立于任一个具体的目标系统,它可以最大限度地在不同的PLC目标系统中运行。这样不仅创造了一种具有良好开放性的氛围,奠定了PLC编程开放性的基础,而且可以有效规避标准与具体目标系统关联而引起的利益纠葛,体现标准的公正性。 将现代软件概念浓缩,并加以运用。例如:数据使用DATA_TYPE声明机制;功能(函数)使用FUNCTION声明机制;数据和功能的组合使用FUNCTION _BLOCK声明机制。
8
完善的数据类型定义和运算限制。软件工程师很早就认识到许多编程的错误往往发生在程序的不同部分,其数据的表达和处理不同。IEC 从源头上注意防止这类低级的错误,虽然采用的方法可能导致效率降低一点,但换来的价值却是程序的可靠性、可读性和可维护性。
9
对程序执行具有完全的控制能力。传统的PLC只能按扫描方式顺序执行程序,对程序执行的其他要求,如由事件驱动某一段程序的执行、程序的并行处理等均无能为力。IEC 允许程序的不同部分、在不同的条件(包括时间条件)下、以不同的比率并行执行。 结构化编程。对于循环执行的程序、中断执行的程序、初始化执行的程序等可以分开设计。此外,循环执行的程序还可以根据执行的周期分开设计。
10
二、IEC61131-3标准的主要内容 1、概述 IEC61131-3编程语言标准分为两部分:公用元素、编程语言 公用元素部分
给出软件模型和编程模型,引入配置、资源、任务和存取路径等基本概念。 说明各种编程语言中使用的字符集、标识符、关键字等, 定义数据的外部表示、数据类型、变量和程序组织单元等, 定义顺序功能表图的基本元素等。 编程语言部分定义了两大类编程语言:文本化编程语言和图形化编程语言
11
图6.1 IEC 标准的层次与结构
12
2、数据类型 IEC 对数据类型进行了定义,从而防止对数据类型的不同设置而发生出错。数据类型的标准化是编程语言开放性的重要标准。 在IEC 中定义一般数据类型和非一般数据类型两类。非一般数据类型又可分为基本数据类型和衍生数据类型。基本数据类型有21种。 数据类型与它在数据存储器中所占用的数据宽度有关。
13
一般数据类型的数据用前缀“ANY”标识,用于标准函数和标准功能块的输入和输出连接。它采用分级结构。
衍生数据类型是由用户定义的数据类型,它建立在基本数据类型的基础上,也称为导出数据类型。这类数据类型所定义的变量是全局变量。它可用与基本数据类型所使用的相同方法对变量进行声明。 在IEC 标准中,变量分为单元素变量和多元素变量。
14
3、变量 与数据的外部表示相反,变量提供能够改变其内容的数据对象的识别方法。例如,可改变与PLC输入、输出或存储器有关的数据。变量可以被声明为基本数据类型、一般数据类型和导出数据类型。
15
变量的类型和属性
16
变量的附加属性
17
三、程序组织单元 1、程序组织单元及其组成 图6.2 程序组织单元
18
表6.2 IEC 标准的3中POU及其含义 类 型 关 键 字 含 义 Program PROGRAM 主程序,包括I/O的分配、全局变量和存取路径 Function Block FUNCTION_BLOCK 带输入和输出变量的块 Function FUNCTION 具有功能值的块,用于扩展PLC的基本预算和操作集
19
图6.3 POU元素构成
20
2、功能 功能是一种可以赋予参数,但没有静态变量的程序组织单元。有些书籍或文献也称功能为函数。当用相同的输入参数调用某一功能时,该功能总能够生成相同的结果作为其功能值。功能有多个输入变量,没有输出变量,但有一个功能值作为该功能的返回值。功能由功能名和一个表达式组成。 功能分为标准功能和用户定义功能(衍生功能)。
21
3、功能块 功能块是在执行时能够产生一个或多个值的程序组织单元。
功能块实例化是编程人员在功能块说明部分用指定功能块名和相应的功能块类型来建立功能块的过程。 每个功能块实例有它的功能块名、内部变量、输出变量及可能的输入变量数据结构。该数据结构的输出变量和必要的内部变量的值能够从这次执行保护到下一次执行。功能块实例的外部只有输入和输出变量是可存取的。功能块内部变量对用户来说是隐藏的。
22
图6.5 功能块的图形表示
23
功能块包括标准功能块、衍生功能块和用户定义功能块。衍生功能块是利用标准功能块创造的新功能块。IEC 允许用户利用已有的功能块和功能生成新的功能块。任意功能块均可采用便于管理且功能更简单的功能和/或功能块进行编程。 功能块段的文字形式可以表示为: FUNCTION_BLOCK 功能块名 功能块声明 功能块体 END_FUNCTION_BLOCK
24
功能和功能块的主要区别在于,相同输入参数调用时,功能总是产生相同的结果(功能值),功能没有“记忆”特性。程序代表PLC用户的最高层,能存取PLC的I/O口,并能使它们能为其它程序组织单元所存取。IEC 标准使用变量以存储信息。但是,它们的存储位置不再需要由用户自行定义,而是由编程系统自行进行管理,每个变量具有固定的数据类型。IEC 规定若干数据类型,这些数据类型在位数量和符号的使用方面有所不同
25
4、程序 程序是程序组织单元之一,它由功能和功能块组成。PROGRAM类型的程序组织单元称为主程序。在一个多CPU的PLC控制系统中,能同时执行多个主程序,这一点体现了程序与功能块的不同。 程序以PROGRAM关键字开始,随后是程序名、程序声明和程序体,最后以END_PROGRAM关键字结束。与功能或功能块的声明类似,程序声明包括在整个程序声明中所使用变量的声明。
26
以上是IEC D的基本规定,通讯和配置的部分在此不做介绍,各个遵循IEC编程标准的软件和产品都是基于以上文件制定的,符合或部分符合以上模型。下面将以OCS控制器编程软件Cscape9.3为例,对IEC 的编程方式做详细介绍。
Similar presentations