【文档说明】5IEC61131-3编程标准解析课件.ppt,共(37)页,1.703 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45406.html
以下为本文档部分文字说明:
BeckhoffImage2022/11/251自动化新技术IEC61131-3编程标准BeckhoffImage2022/11/252IEC61131-3编程标准介绍及特点IEC(InternationalElectrotechnicalCommission)
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编程标准软件模型BeckhoffImage2
022/11/259IEC61131-3编程标准软件模型说明配置Configuration•最高层,描述了整个控制系统的架构。•一个配置可被比作一个可编程控制器系统。•在一个配置里可以定义一个或几个资源。•在Twin
CAT中一个或多个PLC资源Resources•一个配置有一个或多个资源•“实质”PLC:自己的全局变量,POU,任务等.•在TwinCAT:就是一个PLC运行核(Runtime)任务Task•对一个相
关程序的周期的执行,实施控制单元•一个资源有一个或多个任务•有优先级时序排列(0~3,共四个级别)•优先权和循环时间•任务调用一个或多个程序•任务决定了所关联程序的时间调度。BeckhoffImage2022/11/2510IEC61131-3编程标准软件模型说明程序Progra
m•程序,是根据控制器过程的需要,包含了函数和功能块的一个逻辑组合的POU。•任务调用程序•程序调用功能块和函数•TwinCAT:程序调用其它程序功能块FBD•程序调用功能块•功能块可调用功能块或函数•FB有输入,输出变量•FB有运算法则:每次FB被执行,就是运行一段程序编码函数Funct
ion•程序或功能块可调用函数•函数有输入变量,和一个输出变量•函数有运算法则:每次函数被执行,就是运行一段程序编码•函数可以调用另外的函数,但不能调用功能块BeckhoffImage2022/11/2511IEC61131-3编程标准软件模型说明功能块FB与函数的区别•FB:例程
,全部数据分配内存地址•函数:没有指定的内存分配地址•FB:多个输出变量或没有输出变量•函数:一个输出变量•FB:可调用功能块或函数•函数:可调用函数,但不能调用功能块BeckhoffImage2022/11/25
12IEC61131-3编程标准变量说明全局变量与局部变量•局部变量•变量在一个POU(程序,功能块或函数)中定义说明.•只能在这个POU中访问•全局变量•变量在一个资源(PLC运行核-runtime)中定义说明•每个POU都可访问B
eckhoffImage2022/11/2513IEC61131-3编程标准变量说明直接描述的变量•具有固定地址的变量•地址:输入(I),输出(Q),标记(M)•类型:位(X),字节(B),字(W),双字(D)•例如:%IW12,%
QX1.1,%MB5变量的定义BeckhoffImage2022/11/2514IEC61131-3编程标准变量说明变量命名规则•字母不分大小写(abc=Abc=ABC)•第一个字符不能是数字•不能连续
使用多于一个的下划线(_)•允许的:ab_c,AB_de,_AbC•不允许的:1abc,__abc,a__bc•头32个字符有意义•特殊字(如FUNCTION)被保留•语法术语关键字总是大写字母•不能使用语法术语关键字作标识符BeckhoffIm
age2022/11/2515IEC61131-3编程标准变量说明注释•注释语用(*和*)框住•可将注释语放在任何地方,但不能插在语句中•注释语允许几行表示•注释语不允许嵌套BeckhoffImage2022/11/2
516IEC61131-3编程标准数据类型基本数据类型•数据类型有布尔值,整数,浮点数,位和位组,时间和日期值和字符串BOOL值•布尔值变量取值TRUE或FALSE,占用8位内存空间浮点数据类型REAL和LREAL被称为浮点数类型。用于有理数表示。REAL占用32位内存空间,LRE
AL占用64位。数值可以用二进制、八进制、十进制和十六进制数表示。示例:14(十进制数)2#1001_0011(二进制数)8#67(八进制数)16#A(十六进制数)基本数据类型BeckhoffImage2022/
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_DA
Y#或TOD#表示一天中的时间•用DATE_AND_TIME#或DT#表示日期和时间•用DATE#或D#表示日期•日期:D#1998-12-07表示7thJuly1998•一天中的时间:TOD#12:00:00.123•日期和时间:DT#1998-12-07-12:00:00.123Be
ckhoffImage2022/11/2519IEC61131-3编程标准数据类型字符串数据类型STRING字符串取决于字符长度(N+1)Byte•如果大小不声明的话缺省值为80个字符•用‘‘引括字符•用$插到特殊字符前(换行$L,制表$T等)•字符串表示:„thisisalinef
eedcharacter$L„•空字符串:‘‘BeckhoffImage2022/11/2520IEC61131-3编程标准数据类型数据类型转换BeckhoffImage2022/11/2521IEC61131-3编程标准
用户自定义数据类型数组数组例子:testAT%I*:ARRAY[1..10]OFBOOL;支持一维、二维和三维数组的成员数据类型。数组可在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_STRUC
TEND_TYPEBeckhoffImage2022/11/2523IEC61131-3编程标准用户自定义数据类型参考可以使用用户定义的参考数据类型,创建已经更名的变量、常数或功能块。句法:TYPE<标识符>:<分配项>;END_TYPE示例:TYPEmessage:STRING[50];END_
TYPE;BeckhoffImage2022/11/2524IEC61131-3编程标准编程语言编程语言•6种内部编程语言•四种文本和两种图形语言的语法和语句:•指令表(IL),结构化文本(ST),梯形图(LD)和功能块图(FBD)•顺序功能图(S
FC)-为组建程序结构•连续功能图(CFC)BeckhoffImage2022/11/2525IEC61131-3编程标准编程语言IL指令表•低级语言(类似汇编程序)•面向累加器的•每行只允许一个操纵,如存储一个值到累加寄存器•用跳转和标号控制流程指令表(IL)由一系列指令组成。每条指令都由一个新
行开始,包含一个操作符以及和操作符类型相关的一个或多个操作数,并用逗号分开。在指令前可以有标号,后接一个冒号。注解必须在一行的最后,指令之间可以插入空行。BeckhoffImage2022/11/2526IEC61131-3编程标准编程语言IL指令表指令列表Bec
khoffImage2022/11/2527IEC61131-3编程标准编程语言IL指令表修饰符BeckhoffImage2022/11/2528IEC61131-3编程标准编程语言结构化文本ST语言ST语言的优点(与IL语言相比较):•高级语言(类似PASC
AL)•复杂公式(赋值命令)•具有条件和反复陈述的流控•用制表符和注释使得编码易读ST语言缺点:•由于它借助于编译程序自动地执行程序,因此用户不能直接影响其翻译成机器码。••高度抽象导致效率降低(通常,编译程序的时间更长且执行速度更慢)•ST语言不包括跳转指令(GOTO)B
eckhoffImage2022/11/2529IEC61131-3编程标准编程语言ST语言命令表BeckhoffImage2022/11/2530IEC61131-3编程标准编程语言ST语言命令表Beckh
offImage2022/11/2531IEC61131-3编程标准编程语言功能块FBD•图形表示FB,函数和程序以及它们的相互关联图•全图形式•块图“线连“在一起•允许跳转和返回BeckhoffImage2022/11/2532IEC
61131-3编程标准编程语言梯形图LD•„继电器梯形图„,利于复杂的AND和OR逻辑网图•左端垂直电源线连带触点和线圈•触点表示布尔变量•主要是设计用于处理布尔信号•允许跳转返回BeckhoffImage2022/11/2533IEC61131-3编程标准编程语言梯形图LDBeckho
ffImage2022/11/2534IEC61131-3编程标准编程语言顺序功能图SFC•描述复杂的序列的语言•具有‘动作’和‘转移’的状态系统•通过划分成小部分来编复杂的部分•每个单元(动作-action,转移-transition)可以用任何IEC语言编程Be
ckhoffImage2022/11/2535IEC61131-3编程标准编程语言SFC介绍•步骤•表示流程的一个状态•特殊步骤:初始化步骤•转移•条件,当为TRUE时,下一步骤激活•选择性:分枝和合并•在所有选择性路径的转移指定是否这个路径被选择•转移在选择性路径的末端•从左到
右优先•同步性:分枝和合并•在所有同步路径上的所有步骤同时起动•在末端有一个转移BeckhoffImage2022/11/2536IEC61131-3编程标准编程语言SFC图形介绍初始化步骤普通步骤转移选择性分枝选择性合并同步性分枝同步性合并跳转动作Be
ckhoffImage2022/11/2537IEC61131-3编程标准编程语言Standard.lib