【文档说明】5IEC61131-3编程标准解析课件.ppt,共(37)页,1.703 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45406.html
以下为本文档部分文字说明:
BeckhoffImage2022/11/251自动化新技术IEC61131-3编程标准BeckhoffImage2022/11/252IEC61131-3编程标准介绍及特点IEC(InternationalElectrotechn
icalCommission)61131-3是IEC61131国际标准的第三部分,是第一个为工业自动化控制系统的软件设计提供标准化编程语言的国际标准。•国际上承认的标准•逐步的在不远的将来所有供应商将采用它•统一的结构,语言和操作处理方式将来自所有供应商•它节省你的时间
•统一的软件模式和数据类型概念•对来自不同的PLC类型你只需学习一次•减少了误解和错误•标准的函数和功能块•测试软件的可重复使用性BeckhoffImage2022/11/253IEC61131-3编程标准介绍及特点•支持安全和高质量编程设计•轻松和舒适的结构•数据类型
避免了编程错误•对每个问题提供了最佳编程语言•一致的6种编程语言规范•文本和图形语言•高级语言的可用性•不同语言混合编程BeckhoffImage2022/11/254IEC61131-3编程标准介绍及特点•软件-,通讯-和编程-模式•6种内部连接编程语言的定义•四种文本和两种图形语言的语
法和语句:指令表(IL),结构化文本(ST),梯形图(LD)和功能块图(FBD)•顺序功能图(SFC)-为组建程序结构•连续功能图(CFC)BeckhoffImage2022/11/255IEC61131-3编程标准主要特性良好的结构•从上至下或从底向上的编程•以程
序组织单元为单位(POUs)ProgramOrganizationUnit•逐级构建程序强大的数据类型测定•编译器探测不同数据类型的分配•减少编程错误BeckhoffImage2022/11/256IEC61131-3编程标准主要特性全执行控制不同的任务具
有不同的执行循环时间及不同的任务优先级复杂的流程控制•功能流程图•具有步骤,动作和转移的流序•可选分枝和同步分枝流程BeckhoffImage2022/11/257IEC61131-3编程标准主要特性数据结构灵活的
语言选择•两种文本语言(IL,ST)•三种图形语言(FBD,LD,SFC)•针对问题选择适当的语言•用户定义数据元素•包含不同的基本的或用户定义的数据元素•通过自己的POU传递数据结构独立于供应商•服从IEC61131-3标准•基本层
鉴定(PLCopen)•输入/输出接口BeckhoffImage2022/11/258IEC61131-3编程标准软件模型BeckhoffImage2022/11/259IEC61131-3编程标准软件模
型说明配置Configuration•最高层,描述了整个控制系统的架构。•一个配置可被比作一个可编程控制器系统。•在一个配置里可以定义一个或几个资源。•在TwinCAT中一个或多个PLC资源Resources•一个配置有一个或多个资源•“实质”PL
C:自己的全局变量,POU,任务等.•在TwinCAT:就是一个PLC运行核(Runtime)任务Task•对一个相关程序的周期的执行,实施控制单元•一个资源有一个或多个任务•有优先级时序排列(0~3,共四个级别)•优先权和循环时间•任务调用一个或多个程序•任务决
定了所关联程序的时间调度。BeckhoffImage2022/11/2510IEC61131-3编程标准软件模型说明程序Program•程序,是根据控制器过程的需要,包含了函数和功能块的一个逻辑组合的POU。•任务调用程序•程序调用功能块和函数•TwinCAT:程序调用其它程序功能块FBD•程序调
用功能块•功能块可调用功能块或函数•FB有输入,输出变量•FB有运算法则:每次FB被执行,就是运行一段程序编码函数Function•程序或功能块可调用函数•函数有输入变量,和一个输出变量•函数有运算法则:每次函数被执行,就是运行一段程序编码•函数可
以调用另外的函数,但不能调用功能块BeckhoffImage2022/11/2511IEC61131-3编程标准软件模型说明功能块FB与函数的区别•FB:例程,全部数据分配内存地址•函数:没有指定的内存分配地址•FB:多个输出变量或没有输出变量•
函数:一个输出变量•FB:可调用功能块或函数•函数:可调用函数,但不能调用功能块BeckhoffImage2022/11/2512IEC61131-3编程标准变量说明全局变量与局部变量•局部变量•变量在一个P
OU(程序,功能块或函数)中定义说明.•只能在这个POU中访问•全局变量•变量在一个资源(PLC运行核-runtime)中定义说明•每个POU都可访问BeckhoffImage2022/11/2513IEC61131-3编程标准变量说明直接描述的变量•具有固定地址的变量
•地址:输入(I),输出(Q),标记(M)•类型:位(X),字节(B),字(W),双字(D)•例如:%IW12,%QX1.1,%MB5变量的定义BeckhoffImage2022/11/2514IEC611
31-3编程标准变量说明变量命名规则•字母不分大小写(abc=Abc=ABC)•第一个字符不能是数字•不能连续使用多于一个的下划线(_)•允许的:ab_c,AB_de,_AbC•不允许的:1abc,__abc,a__bc•头32个字符有意义•特殊字(如FUNCTION)被保留•语法术语关
键字总是大写字母•不能使用语法术语关键字作标识符BeckhoffImage2022/11/2515IEC61131-3编程标准变量说明注释•注释语用(*和*)框住•可将注释语放在任何地方,但不能插在语句中•注释语允许几行表示•注释语不允许嵌套Beck
hoffImage2022/11/2516IEC61131-3编程标准数据类型基本数据类型•数据类型有布尔值,整数,浮点数,位和位组,时间和日期值和字符串BOOL值•布尔值变量取值TRUE或FALSE,占用8位内存空间浮点数据类型REAL和LREAL被称
为浮点数类型。用于有理数表示。REAL占用32位内存空间,LREAL占用64位。数值可以用二进制、八进制、十进制和十六进制数表示。示例:14(十进制数)2#1001_0011(二进制数)8#67(八进制数)16#A(十六进制数)基本数据类型Beckhoff
Image2022/11/2517IEC61131-3编程标准数据类型整形数据类型当用大类型转换为小类型时,将导致丢失信息。BeckhoffImage2022/11/2518IEC61131-3编程标准数据类型时间数据类型占用32位内存•允许溢出(例如25
小时)•使用d表示天,h表示小时,m表示分,s表示秒和ms表示毫秒•在文字前加TIME#,t#或T#•可使用下划线(_)作单元分隔•T#2d_26h_4m_12s_123ms日期和时间类型DATE日期32•用TIME_OF_
DAY#或TOD#表示一天中的时间•用DATE_AND_TIME#或DT#表示日期和时间•用DATE#或D#表示日期•日期:D#1998-12-07表示7thJuly1998•一天中的时间:TOD#12:00:00.123
•日期和时间:DT#1998-12-07-12:00:00.123BeckhoffImage2022/11/2519IEC61131-3编程标准数据类型字符串数据类型STRING字符串取决于字符长度(N+1
)Byte•如果大小不声明的话缺省值为80个字符•用‘‘引括字符•用$插到特殊字符前(换行$L,制表$T等)•字符串表示:„thisisalinefeedcharacter$L„•空字符串:‘‘BeckhoffImage2022/11/
2520IEC61131-3编程标准数据类型数据类型转换BeckhoffImage2022/11/2521IEC61131-3编程标准用户自定义数据类型数组数组例子:testAT%I*:ARRAY[1..10]OFBOO
L;支持一维、二维和三维数组的成员数据类型。数组可在POU的声明部分和全局变量表中定义。数组初始化示例:arr1:ARRAY[1..5]OFINT:=1,2,3,4,5;arr2:ARRAY[1..2,3..4]OFINT:=1,3(7);(*等同1,7,7,7*
)arr3:ARRAY[1..2,2..3,3..4]OFINT:=2(0),4(4),2,3;(*等同0,0,4,4,4,4,2,3*)指针当程序运行时,变量或功能块地址保存在指针中。指针声明为如下句法形式:<指针名>:POINTERTO<数据类型/功能块>;指针可指向任何数据
类型、功能块和用户定义的数据类型。对地址操作的ADR功能,可将变量或功能块的地址指向指针。指针后加内容操作符”^”可取出指针中的数据。BeckhoffImage2022/11/2522IEC61131-3编程标准用户自定义数
据类型枚举句法:TYPE<牧举变量>:(<Enum_0>,<Enum_1>,...,<Enum_n>);END_TYPE牧举变量可以取牧举值中的任何一个值。缺省情况下,第一个牧举值为零,其后依次递增。结构结构
声明的句法如下:TYPE<结构名>:STRUCT<声明变量1>..<声明变量n>END_STRUCTEND_TYPEBeckhoffImage2022/11/2523IEC61131-3编程标准用户自定义数据类型参考可
以使用用户定义的参考数据类型,创建已经更名的变量、常数或功能块。句法:TYPE<标识符>:<分配项>;END_TYPE示例:TYPEmessage:STRING[50];END_TYPE;Beckhoff
Image2022/11/2524IEC61131-3编程标准编程语言编程语言•6种内部编程语言•四种文本和两种图形语言的语法和语句:•指令表(IL),结构化文本(ST),梯形图(LD)和功能块图(FBD)•顺序功能图(SF
C)-为组建程序结构•连续功能图(CFC)BeckhoffImage2022/11/2525IEC61131-3编程标准编程语言IL指令表•低级语言(类似汇编程序)•面向累加器的•每行只允许一个操纵,如存储一个值到累加寄存器•用跳转和标号控制流程指令表(
IL)由一系列指令组成。每条指令都由一个新行开始,包含一个操作符以及和操作符类型相关的一个或多个操作数,并用逗号分开。在指令前可以有标号,后接一个冒号。注解必须在一行的最后,指令之间可以插入空行。BeckhoffImage2022/11/2
526IEC61131-3编程标准编程语言IL指令表指令列表BeckhoffImage2022/11/2527IEC61131-3编程标准编程语言IL指令表修饰符BeckhoffImage2022/11/2528IEC61131-3编程标准编程语言结构化文本ST语言ST语言的优点
(与IL语言相比较):•高级语言(类似PASCAL)•复杂公式(赋值命令)•具有条件和反复陈述的流控•用制表符和注释使得编码易读ST语言缺点:•由于它借助于编译程序自动地执行程序,因此用户不能直接影响其翻译成机器码。••高度抽象导致效率降低(通常,编译程序的时间更长且执行速度更慢)•ST语言不
包括跳转指令(GOTO)BeckhoffImage2022/11/2529IEC61131-3编程标准编程语言ST语言命令表BeckhoffImage2022/11/2530IEC61131-3编程标准编程语言ST语言命令表BeckhoffImage2022/11/25
31IEC61131-3编程标准编程语言功能块FBD•图形表示FB,函数和程序以及它们的相互关联图•全图形式•块图“线连“在一起•允许跳转和返回BeckhoffImage2022/11/2532IEC61131-3编程标准编程语言梯形图LD•„继
电器梯形图„,利于复杂的AND和OR逻辑网图•左端垂直电源线连带触点和线圈•触点表示布尔变量•主要是设计用于处理布尔信号•允许跳转返回BeckhoffImage2022/11/2533IEC61131-3编程
标准编程语言梯形图LDBeckhoffImage2022/11/2534IEC61131-3编程标准编程语言顺序功能图SFC•描述复杂的序列的语言•具有‘动作’和‘转移’的状态系统•通过划分成小部分来编复杂的部分•每个单元(
动作-action,转移-transition)可以用任何IEC语言编程BeckhoffImage2022/11/2535IEC61131-3编程标准编程语言SFC介绍•步骤•表示流程的一个状态•特殊步骤:初始化步骤•转移•条件,当为TRUE时,下一步骤激活•选
择性:分枝和合并•在所有选择性路径的转移指定是否这个路径被选择•转移在选择性路径的末端•从左到右优先•同步性:分枝和合并•在所有同步路径上的所有步骤同时起动•在末端有一个转移BeckhoffImage202
2/11/2536IEC61131-3编程标准编程语言SFC图形介绍初始化步骤普通步骤转移选择性分枝选择性合并同步性分枝同步性合并跳转动作BeckhoffImage2022/11/2537IEC61131-
3编程标准编程语言Standard.lib