浩纳尔(天津)自动化科技有限公司 技术部:王静波

Slides:



Advertisements
Similar presentations
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
Advertisements

7.1 内置对象概述及分类 JSP 视频教学课程. JSP2.2 目录 1. 内置对象简介 1. 内置对象简介 2. 内置对象分类 2. 内置对象分类 3. 内置对象按功能区分 3. 内置对象按功能区分 4. 内置对象作用范围 4. 内置对象作用范围.
1 计算机软件考试命题模式 计算机软件考试命题模式 张 淑 平 张 淑 平. 2  命题模式内容  组织管理模式 − 命题机构和人员组成 − 命题程序  试卷组成模式.
高级服务器设计和实现 1 —— 基础与进阶 余锋
阻塞操作. 在 linux 里,一个等待队列由一个 wait_queue_head_t 类型的结构来描述 等待队列的初始化: static wait_queue_head_t testqueue; init_waitqueue_head(&testqueue);
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
Oracle数据库 Oracle 子程序.
第三篇 组织工作.
Yellow River Engineering Consulting Co., Ltd.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
计算机基础知识 丁家营镇九年制学校 徐中先.
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
Hadoop I/O By ShiChaojie.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
DM81X 视频采集处理 ——简单采集显示例程讲解 广州创龙电子科技有限公司
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
文件读写实践 广州创龙电子科技有限公司 01 广州创龙电子科技有限公司
第十章 IDL访问数据库 10.1 数据库与数据库访问 1、数据库 数据库中数据的组织由低到高分为四级:字段、记录、表、数据库四种。
课程设计.
第二章 Java语言基础.
数据挖掘工具性能比较.
CPU结构和功能.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
微机系统的组成.
$9 泛型基础.
标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序. 标准配色方案 背景 文本和线条 阴影 强调色 主色一 主色二 主色三 主色四 推荐应用顺序.
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
姚金宇 MIT SCHEME 使用说明 姚金宇
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
实体描述呈现方法的研究 实验评估 2019/5/1.
第4章 Excel电子表格制作软件 4.4 函数(一).
第九节 赋值运算符和赋值表达式.
iSIGHT 基本培训 使用 Excel的栅栏问题
3.16 枚举算法及其程序实现 ——数组的作用.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二节 C语言的特点.
第六章 Excel的应用 五、EXCEL的数据库功能 1、Excel的数据库及其结构 2、Excel下的数据排序 (1)Excel的字段名行
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第十七讲 密码执行(1).
第十二讲 密码执行(上).
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
编译原理实践 6.程序设计语言PL/0.
学习目标 1、什么是列类型 2、列类型之数值类型.
Presentation transcript:

浩纳尔(天津)自动化科技有限公司 技术部:王静波 IEC61331编程培训 ——IEC61331基础 浩纳尔(天津)自动化科技有限公司 技术部:王静波

一、IEC61131-3标准的产生与特点 1、传统PLC编程语言的不足 梯形图语言规范不一致 程序可复用性差 缺乏足够的程序封装能力 不支持数据结构 程序执行具有局限性 难以实现选择或并行等复杂顺控操作 传统的梯形图编程在算术运算处理、字符串或文字处理等方面均不能提供强有力的支持

2、IEC 61131-3标准的产生 1992年以后,IEC陆续颁布施行可编程序控制器国际标准IEC 61131的各个部分。已正式颁布的有:

3、IEC编程方式的特点 IEC 61131-3允许在同一个PLC中使用多种编程语言,允许程序开发人员对每一个特定的任务选择最合适的编程语言,还允许在同一个控制程序中不同的软件模块用不同的编程语言编制,以充分发挥不同编程语言的应用特点。标准中的多语言包容性很好地正视了PLC发展历史中形成的编程语言多样化的现实,为PLC软件技术的进一步发展提供了足够的技术空间和自由度。

4、IEC编程方式的优势 采用现代软件模块化原则,主要内容包括: 编程语言支持模块化,将常用的程序功能划分为若干单元,并加以封装,构成编程的基础。 模块化时,只设置必要的、尽可能少的输入和输出参数,尽量减少交互作用和内部数据交换。 模块化接口之间的交互作用均采用显性定义。 将信息隐藏于模块内,对使用者来讲只需了解该模块的外部特性(即功能、输入和输出参数),而无需了解模块内算法的具体实现方法。

IEC 61131-3支持自顶而下(Top Down)和自底而上(Bottom Up)的程序开发方法。自顶而下的开发过程是用户首先进行系统总体设计,将控制任务划分为若干个模块,然后定义变量和进行模块设计,编写各个模块的程序;自底而上的开发过程是用户先从底部开始编程,例如先导出函数和功能块,再按照控制要求编制程序。无论选择何种开发方法,IEC 61131-3所创建的开发环境均会在整个编程过程中给予强有力的支持。

IEC 61131-3所规范的编程系统独立于任一个具体的目标系统,它可以最大限度地在不同的PLC目标系统中运行。这样不仅创造了一种具有良好开放性的氛围,奠定了PLC编程开放性的基础,而且可以有效规避标准与具体目标系统关联而引起的利益纠葛,体现标准的公正性。 将现代软件概念浓缩,并加以运用。例如:数据使用DATA_TYPE声明机制;功能(函数)使用FUNCTION声明机制;数据和功能的组合使用FUNCTION _BLOCK声明机制。

完善的数据类型定义和运算限制。软件工程师很早就认识到许多编程的错误往往发生在程序的不同部分,其数据的表达和处理不同。IEC 61131-3从源头上注意防止这类低级的错误,虽然采用的方法可能导致效率降低一点,但换来的价值却是程序的可靠性、可读性和可维护性。

对程序执行具有完全的控制能力。传统的PLC只能按扫描方式顺序执行程序,对程序执行的其他要求,如由事件驱动某一段程序的执行、程序的并行处理等均无能为力。IEC 61131-3允许程序的不同部分、在不同的条件(包括时间条件)下、以不同的比率并行执行。 结构化编程。对于循环执行的程序、中断执行的程序、初始化执行的程序等可以分开设计。此外,循环执行的程序还可以根据执行的周期分开设计。

二、IEC61131-3标准的主要内容 1、概述 IEC61131-3编程语言标准分为两部分:公用元素、编程语言 公用元素部分 给出软件模型和编程模型,引入配置、资源、任务和存取路径等基本概念。 说明各种编程语言中使用的字符集、标识符、关键字等, 定义数据的外部表示、数据类型、变量和程序组织单元等, 定义顺序功能表图的基本元素等。 编程语言部分定义了两大类编程语言:文本化编程语言和图形化编程语言

图6.1 IEC61131-3标准的层次与结构

2、数据类型 IEC 61131-3对数据类型进行了定义,从而防止对数据类型的不同设置而发生出错。数据类型的标准化是编程语言开放性的重要标准。 在IEC 61131-3中定义一般数据类型和非一般数据类型两类。非一般数据类型又可分为基本数据类型和衍生数据类型。基本数据类型有21种。 数据类型与它在数据存储器中所占用的数据宽度有关。

一般数据类型的数据用前缀“ANY”标识,用于标准函数和标准功能块的输入和输出连接。它采用分级结构。 衍生数据类型是由用户定义的数据类型,它建立在基本数据类型的基础上,也称为导出数据类型。这类数据类型所定义的变量是全局变量。它可用与基本数据类型所使用的相同方法对变量进行声明。 在IEC 61131-3标准中,变量分为单元素变量和多元素变量。

3、变量 与数据的外部表示相反,变量提供能够改变其内容的数据对象的识别方法。例如,可改变与PLC输入、输出或存储器有关的数据。变量可以被声明为基本数据类型、一般数据类型和导出数据类型。

变量的类型和属性

变量的附加属性

三、程序组织单元 1、程序组织单元及其组成 图6.2 程序组织单元

表6.2 IEC61131-3标准的3中POU及其含义 类 型 关 键 字 含 义 Program PROGRAM 主程序,包括I/O的分配、全局变量和存取路径 Function Block FUNCTION_BLOCK 带输入和输出变量的块 Function FUNCTION 具有功能值的块,用于扩展PLC的基本预算和操作集

图6.3 POU元素构成

2、功能 功能是一种可以赋予参数,但没有静态变量的程序组织单元。有些书籍或文献也称功能为函数。当用相同的输入参数调用某一功能时,该功能总能够生成相同的结果作为其功能值。功能有多个输入变量,没有输出变量,但有一个功能值作为该功能的返回值。功能由功能名和一个表达式组成。 功能分为标准功能和用户定义功能(衍生功能)。

3、功能块 功能块是在执行时能够产生一个或多个值的程序组织单元。 功能块实例化是编程人员在功能块说明部分用指定功能块名和相应的功能块类型来建立功能块的过程。 每个功能块实例有它的功能块名、内部变量、输出变量及可能的输入变量数据结构。该数据结构的输出变量和必要的内部变量的值能够从这次执行保护到下一次执行。功能块实例的外部只有输入和输出变量是可存取的。功能块内部变量对用户来说是隐藏的。

图6.5 功能块的图形表示

功能块包括标准功能块、衍生功能块和用户定义功能块。衍生功能块是利用标准功能块创造的新功能块。IEC 61131-3允许用户利用已有的功能块和功能生成新的功能块。任意功能块均可采用便于管理且功能更简单的功能和/或功能块进行编程。 功能块段的文字形式可以表示为: FUNCTION_BLOCK 功能块名 功能块声明 功能块体 END_FUNCTION_BLOCK

功能和功能块的主要区别在于,相同输入参数调用时,功能总是产生相同的结果(功能值),功能没有“记忆”特性。程序代表PLC用户的最高层,能存取PLC的I/O口,并能使它们能为其它程序组织单元所存取。IEC 61131-3标准使用变量以存储信息。但是,它们的存储位置不再需要由用户自行定义,而是由编程系统自行进行管理,每个变量具有固定的数据类型。IEC 61131-3规定若干数据类型,这些数据类型在位数量和符号的使用方面有所不同

4、程序 程序是程序组织单元之一,它由功能和功能块组成。PROGRAM类型的程序组织单元称为主程序。在一个多CPU的PLC控制系统中,能同时执行多个主程序,这一点体现了程序与功能块的不同。 程序以PROGRAM关键字开始,随后是程序名、程序声明和程序体,最后以END_PROGRAM关键字结束。与功能或功能块的声明类似,程序声明包括在整个程序声明中所使用变量的声明。

以上是IEC61131-3D的基本规定,通讯和配置的部分在此不做介绍,各个遵循IEC编程标准的软件和产品都是基于以上文件制定的,符合或部分符合以上模型。下面将以OCS控制器编程软件Cscape9.3为例,对IEC61131-3的编程方式做详细介绍。