版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
监督控制与数据采集技术华东理工大学自动化系王华忠hzwang@工业控制编程语言标准IEC第1页Ch6工业控制编程语言标准
IEC61131-3工业控制编程语言标准IEC第2页一、IEC61131-3标准产生与特点工业控制编程语言标准IEC第3页1、传统PLC编程语言不足梯形图语言规范不一致程序可复用性差缺乏足够程序封装能力不支持数据结构程序执行含有不足难以实现选择或并行等复杂顺控操作传统梯形图编程在算术运算处理、字符串或文字处理等方面均不能提供强有力支持工业控制编程语言标准IEC第4页2、IEC61131-3标准产生
1992年以后,IEC陆续颁布施行可编程序控制器国际标准IEC61131各个部分。已正式颁布有:IEC61131-1通用信息,5月出版第二版)IEC61131-2装置要求与测试,2月出版第二版)IEC61131-3编程语言,1月出版第二版)IEC61131-4用户导则(1995)IEC61131-5通信服务规范)IEC61131-7含糊控制编程软件工具实施()IEC61131-8IEC61131-3语言应用和实现导则()工业控制编程语言标准IEC第5页中国工业过程测量和控制标准化委员会按与IEC国际标准等效标准,组织翻译出版工作。1995年12月29日颁布了PLC国家标准GB/T15969.1,15969.2,15969.3,15969.4,包括IEC61131第一、第二、第三和第四部分。GB/T15969.5《通信服务规范》在5月颁布出版,GB/T15969.8《IEC61131-3语言实现导则》,已于年8月实施。工业控制编程语言标准IEC第6页IEC61131-3是当今世界第一个为工业自动化控制系统软件设计提供标准化编程语言国际标准。以前,国际上没有出现过为制订通用控制语言而开展标准化活动。这显然是注意到因为DCS等以数字技术为基础控制装置在发展进程中过于专有化,给用户带来大量不便。这一标准为可编程控制器软件技术发展,乃至整个工业控制软件技术发展,起了举足轻重推进作用。能够说,没有编程语言标准化,便没有今天PLC走向开放式系统坚实基础。这个标准将当代软件概念和当代软件工程机制与传统PLC编程语言成功地结合,又对当代种类繁多工业控制器中编程概念及语言进行了标准化。工业控制编程语言标准IEC第7页3、特点IEC61131-3允许在同一个PLC中使用各种编程语言,允许程序开发人员对每一个特定任务选择最适当编程语言,还允许在同一个控制程序中不一样软件模块用不一样编程语言编制,以充分发挥不一样编程语言应用特点。标准中多语言包容性很好地正视了PLC发展历史中形成编程语言多样化现实,为PLC软件技术深入发展提供了足够技术空间和自由度。
工业控制编程语言标准IEC第8页4、优势采取当代软件模块化标准,主要内容包含:编程语言支持模块化,将惯用程序功效划分为若干单元,并加以封装,组成编程基础。模块化时,只设置必要、尽可能少输入和输出参数,尽可能降低交互作用和内部数据交换。模块化接口之间交互作用均采取显性定义。将信息隐藏于模块内,对使用者来讲只需了解该模块外部特征(即功效、输入和输出参数),而无需了解模块内算法详细实现方法。工业控制编程语言标准IEC第9页IEC61131-3支持自顶而下(TopDown)和自底而上(BottomUp)程序开发方法。自顶而下开发过程是用户首先进行系统总体设计,将控制任务划分为若干个模块,然后定义变量和进行模块设计,编写各个模块程序;自底而上开发过程是用户先从底部开始编程,比如先导出函数和功效块,再按照控制要求编制程序。不论选择何种开发方法,IEC61131-3所创建开发环境均会在整个编程过程中给予强有力支持。
工业控制编程语言标准IEC第10页IEC61131-3所规范编程系统独立于任一个详细目标系统,它能够最大程度地在不一样PLC目标系统中运行。这么不但创造了一个含有良好开放性气氛,奠定了PLC编程开放性基础,而且能够有效躲避标准与详细目标系统关联而引发利益纠葛,表达标准公正性。
工业控制编程语言标准IEC第11页将当代软件概念浓缩,并加以利用。比如:数据使用DATA_TYPE申明机制;功效(函数)使用FUNCTION申明机制;数据和功效组合使用FUNCTION_BLOCK申明机制。完善数据类型定义和运算限制。软件工程师很早就认识到许多编程错误往往发生在程序不一样部分,其数据表示和处理不一样。IEC61131-3从源头上注意预防这类低级错误,即使采取方法可能造成效率降低一点,但换来价值却是程序可靠性、可读性和可维护性。
工业控制编程语言标准IEC第12页对程序执行含有完全控制能力。传统PLC只能按扫描方式次序执行程序,对程序执行其它要求,如由事件驱动某一段程序执行、程序并行处理等均无能为力。IEC61131-3允许程序不一样部分、在不一样条件(包含时间条件)下、以不一样比率并行执行工业控制编程语言标准IEC第13页对程序执行含有完全控制能力。传统PLC只能按扫描方式次序执行程序,对程序执行其它要求,如由事件驱动某一段程序执行、程序并行处理等均无能为力。IEC61131-3允许程序不一样部分、在不一样条件(包含时间条件)下、以不一样比率并行执行。结构化编程。对于循环执行程序、中止执行程序、初始化执行程序等能够分开设计。另外,循环执行程序还能够依据执行周期分开设计。
工业控制编程语言标准IEC第14页二、IEC61131-3标准主要内容工业控制编程语言标准IEC第15页1、概述IEC61131-3编程语言标准分为两部分:公用元素、编程语言公用元素部分给出软件模型和编程模型,引入配置、资源、任务和存取路径等基本概念。说明各种编程语言中使用字符集、标识符、关键字等,定义数据外部表示、数据类型、变量和程序组织单元等,定义次序功效表图基本元素等。编程语言部分定义了两大类编程语言:文本化编程语言和图形化编程语言工业控制编程语言标准IEC第16页图6.1IEC61131-3标准层次与结构工业控制编程语言标准IEC第17页语言元素表6.1语言元素示例语言元素含义示例分界符含有不一样含义专用字符(,),=,+,-,*,$,;,:=,#,空格符关键字标准标识符,作为编程语言中“字”RETAIN,CONFIGURATION,END_VAR,FUNCTION,PROGRAM直接量用于表示不一样数据类型数值78,4.372E-5,16#a5标识符字母数字字符串,用于用户指定变量名、标号或POU等MW212,Doutput1,SwitchIn,realyout,P1_V3工业控制编程语言标准IEC第18页关键字
关键字(keyword)是语言元素特征化词法单元。关键字是标准标志符。在IEC61131-3标准中,关键字是结构申明和语句固定符号表示法,其拼写和含义均由IEC61131-3标准明确要求。所以,关键字不能用于用户定义变量或其它名称。这一点与高级编程语言是一致。关键字不区分字母大、小写。比如,关键字“FOR”和“for”是等价。为了更加好地进行区分,关键字通常以大写字母表示。表6.3所表示为关键字及其含义。关键字主要包含:基本数据类型名称、标准功效名、标准功效块名、标准功效输入参数名、标准功效块输入和输出参数名、图形编程语言中EN和ENO变量、指令表语言中运算符、结构化文本语言中语言元素、次序功效图语言中语言元素。工业控制编程语言标准IEC第19页直接量直接量用来表示常数变量数值,其格式取决于变量数据类型。直接量有3种基本类型:数字直接量字符串直接量时间直接量标识符标识符(identifier)是字母、数字和下划线字符组合。其开始必须是字母或下划线字符,并被命名为语言元素(LanguageElement)。标识符对字母大、小写不敏感,所以标识符ABCD和abcD含有相同意义。标识符用于表示变量、标号,以及功效、功效块、程序组织单元等名称。
工业控制编程语言标准IEC第20页2、数据类型IEC61131-3对数据类型进行了定义,从而预防对数据类型不一样设置而发生犯错。数据类型标准化是编程语言开放性主要标准。在IEC61131-3中定义普通数据类型和非普通数据类型两类。非普通数据类型又可分为基本数据类型和衍生数据类型。基本数据类型有21种。数据类型与它在数据存放器中所占用数据宽度相关。工业控制编程语言标准IEC第21页普通数据类型数据用前缀“ANY”标识,用于标准函数和标准功效块输入和输出连接。它采取分级结构。衍生数据类型是由用户定义数据类型,它建立在基本数据类型基础上,也称为导出数据类型。这类数据类型所定义变量是全局变量。它可用与基本数据类型所使用相同方法对变量进行申明。在IEC61131-3标准中,变量分为单元素变量和多元素变量。工业控制编程语言标准IEC第22页3、变量与数据外部表示相反,变量提供能够改变其内容数据对象识别方法。比如,可改变与PLC输入、输出或存放器相关数据。变量能够被申明为基本数据类型、普通数据类型和导出数据类型。工业控制编程语言标准IEC第23页变量类型和属性工业控制编程语言标准IEC第24页变量附加属性工业控制编程语言标准IEC第25页三、程序组织单元工业控制编程语言标准IEC第26页1、程序组织单元及其组成图6.2程序组织单元工业控制编程语言标准IEC第27页表6.2IEC61131-3标准3中POU及其含义类型关键字含义ProgramPROGRAM主程序,包含I/O分配、全局变量和存取路径FunctionBlockFUNCTION_BLOCK带输入和输出变量块FunctionFUNCTION含有功效值块,用于扩展PLC基本预算和操作集工业控制编程语言标准IEC第28页图6.3POU元素组成工业控制编程语言标准IEC第29页工业控制编程语言标准IEC第30页2、功效功效是一个能够赋予参数,但没有静态变量程序组织单元。有些书籍或文件也称功效为函数。当用相同输入参数调用某一功效时,该功效总能够生成相同结果作为其功效值。功效有多个输入变量,没有输出变量,但有一个功效值作为该功效返回值。功效由功效名和一个表示式组成。功效分为标准功效和用户定义功效(衍生功效)。IEC61131-3标准定义了8类标准功效工业控制编程语言标准IEC第31页3、功效块功效块是在执行时能够产生一个或多个值程序组织单元。功效块实例化是编程人员在功效块说明部分用指定功效块名和对应功效块类型来建立功效块过程。每个功效块实例有它功效块名、内部变量、输出变量及可能输入变量数据结构。该数据结构输出变量和必要内部变量值能够从这次执行保护到下一次执行。功效块实例外部只有输入和输出变量是可存取。功效块内部变量对用户来说是隐藏。工业控制编程语言标准IEC第32页图6.5功效块图形表示工业控制编程语言标准IEC第33页功效块包含标准功效块、衍生功效块和用户定义功效块。衍生功效块是利用标准功效块创造新功效块。IEC61131-3允许用户利用已经有功效块和功效生成新功效块。任意功效块均可采取便于管理且功效更简单功效和/或功效块进行编程。IEC61131-3中定义了5种标准功效块。工业控制编程语言标准IEC第34页功效块段文字形式能够表示为:FUNCTION_BLOCK功效块名功效块申明功效块体END_FUNCTION_BLOCK工业控制编程语言标准IEC第35页功效和功效块主要区分在于,相同输入参数调用时,功效总是产生相同结果(功效值),功效没有“记忆”特征。程序代表PLC用户最高层,能存取PLCI/O口,并能使它们能为其它程序组织单元所存取。IEC61131-3标准使用变量以存放信息。不过,它们存放位置不再需要由用户自行定义,而是由编程系统自行进行管理,每个变量含有固定数据类型。IEC61131-3要求若干数据类型,这些数据类型在位数量和符号使用方面有所不一样。工业控制编程语言标准IEC第36页4、程序程序是程序组织单元之一,它由功效和功效块组成。PROGRAM类型程序组织单元称为主程序。在一个多CPUPLC控制系统中,能同时执行多个主程序,这一点表达了程序与功效块不一样。程序以PROGRAM关键字开始,随即是程序名、程序申明和程序体,最终以END_PROGRAM关键字结束。与功效或功效块申明类似,程序申明包含在整个程序申明中所使用变量申明。工业控制编程语言标准IEC第37页工业控制编程语言标准IEC第38页四、软件、通信和功效模型
工业控制编程语言标准IEC第39页1、软件模型图6.6IEC61131-3标准软件模型工业控制编程语言标准IEC第40页软件模型特点分层结构程序和功效块;组态元素,即配置、资源和任务;全局变量;存取路径和实例特定初始化从理论上描述了将一个复杂程序怎样分解为若干小不一样可管理部分,并在各分解部分之间有清楚和规范接口方法。描述一台可编程控制器怎样实现多个独立程序同时装载和运行,怎样实现对程序执行完全控制
工业控制编程语言标准IEC第41页主要内容(1)配置(Configuration)
语言元素,结构元素位于软件模型最上层,等同于一个PLC软件或应用程序多台PLC组成一个控制系统中,每一台PLC应用程序都是一个独立配置配置将系统内全部资源结合成组,为资源提供数据交换伎俩一个配置可有多个资源,配置中定义该配置全局变量、资源、存取路径等,它反应PLC硬件物理结构,为程序与物理I/O通道之间提供接口
工业控制编程语言标准IEC第42页(2)资源(Resource)
语言元素,结构元素
位于软件模型第二层,等同于一个CPU为程序和PLC物理输入输出通道提供接口程序只有装入资源才能执行一个资源含有“信号处理功效”、“人机接口功效”和“传感器和执行器接口功效”资源申明在该资源内全局变量、任务和程序申明等工业控制编程语言标准IEC第43页(3)任务(Task)
语言元素,结构元素
位于软件模型第三层。要求程序组织单元在运行期特征控制一系列程序组织单元周期地执行,或者依据一个特定事件触发来执行任务有任务名和三个输入参数
★SIGNAL:事件触发输入端,上升沿触发与任务相关联程序组织单元执行一次
★INTERVAL:周期执行时时间间隔。该任务相关程序组织单元按该时间间隔周期执行
★PRIORITY:对任务设置优先级,0表示最高优先级
工业控制编程语言标准IEC第44页无优先级执行优先级最高POU先执行同等优先级依据等候时间最长POU先执行优先级执行较低优先级程序组织单元执行被延缓不能中止含有一样优先级或较高优先级其它单元执行工业控制编程语言标准IEC第45页由任务使能程序组织单元实施控制遵照以下标准:SIGNAL不为零,表示是事件触发单任务
INTERVAL不为零,SIGNAL为零,该任务结合程序组织单元周期执行多个任务执行时,PRIORITY数值小任务先被执行相同优先级多个任务,等候时间长程序组织单元先被执行没有任务结合程序含有最低优先级,在资源开始执行前执行与任务没有直接结合功效块实例依据求值次序执行与任务结合功效块实例执行与求值规则无关数据同时规则
►功效块执行时,来自其它功效块全部输入采取一样求值结果
►同一功效块输出送到两个或多个功效块,全部目标功效块与任务有显式或隐式结合,则目标功效块输入信号在求值时间内,与源功效块有一样求值结果工业控制编程语言标准IEC第46页(4)全局变量(GLOBALVARIABLE)全局变量能用于整个工程项目,可被该工程内全部软件元素存取
在配置申明段申明全局变量能够用于该配置在资源申明段申明全局变量能够用于该资源在一个系统中不能有相同名称两个全局变量在程序组织单元中需要对所用全局变量用外部变量申明全局变量用于与其它网络进行数据交换VAR_GLOBAL全局变量申明END_VAR工业控制编程语言标准IEC第47页(5)存取路径变量(ACCESSVARIABLE)存取路径变量用于将全局变量、直接表示变量和功效块输入、输出和内部变量联络起来,实现信息存取它提供在不一样配置之间交换数据和信息方法两种存取方法:读写(READ_WRITE)方式和只读(READ_ONLY)VAR_ACCESS存取路径变量名:外部存取变量:存取路径数据类型和存取方式END_VAR工业控制编程语言标准IEC第48页2、用户程序结构▲传统PLC用户程序结构采取各种功效模块组织块OB功效块FB功效FC数据块DB系统功效块SFB系统功效SFC▲IEC标准要求用户程序结构采取程序组织单元程序组织单元ProgramOrganizationUnit程序Program功效块FunctionBlock函数F
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东碧桂园职业学院《电力系统基础》2023-2024学年第一学期期末试卷
- 广安职业技术学院《模拟集成电路设计》2023-2024学年第一学期期末试卷
- 共青科技职业学院《表演基础元素训练》2023-2024学年第一学期期末试卷
- 外部施工安全培训课件
- 赣南医学院《无线传感器网络》2023-2024学年第一学期期末试卷
- 赣南师范大学《游戏原画设计》2023-2024学年第一学期期末试卷
- 赣南科技学院《玻陶工艺学》2023-2024学年第一学期期末试卷
- 甘肃中医药大学《史学论文写作》2023-2024学年第一学期期末试卷
- 七年级语文上册第五单元动物世界18狼教案新人教版
- 三年级数学上册第三单元测量第6课时吨的认识教案新人教版
- 2023年运维主管年终业务工作总结
- 电气设备火灾现场处理措施
- 《格林童话》课外阅读试题及答案
- “销售技巧课件-让你掌握销售技巧”
- 2019北师大版高中英语选修一UNIT 2 单词短语句子复习默写单
- 房地产项目保密协议
- 2023年云南省初中学业水平考试 物理
- 【安吉物流股份有限公司仓储管理现状及问题和优化研究15000字(论文)】
- 火灾自动报警系统施工及验收调试报告
- 《13464电脑动画》自考复习必备题库(含答案)
- 中国成人血脂异常防治指南课件
评论
0/150
提交评论