5IEC61131-3编程标准解析

合集下载

IEC61131-3工控编程语言国际标准及其应用

IEC61131-3工控编程语言国际标准及其应用

摘要针对当前控制系统编程语言的流行趋势,从基本编程元素和编程语言两个方面详细介绍了标准IEC61131-3的内容。

并且以浙大中自SunyTech工业控制应用软件平台为背景,对标准具体内容的应用作了针对性的阐述,充分展现了IEC61131-3标准在控制系统软件编程中的作用。

关键词IEC61131-3;软件模型;编程语言;工控编程软件;PLC;控制系统1 引言IEC(InternationalElectrotechnicalCommission)61131-3是第一个为工业自动化控制系统的软件设计提供标准化编程语言的国际标准。

该标准将现代软件的概念和现代软件工程的机制与传统的PLC编程语言成功地结合,又对各种工业控制系统的编程语言、软件设计的概念和软件模型等进行了标准化,适应了当今世界软件、工业控制系统的发展方向,是一种非常先进的设计技术。

2标准的主要内容[1][2]IEC61131-3将标准分为两个部分:公共元素和编程语言。

IEC61131-3标准的层次和结构如图1所示。

图1IEC61131-3标准的结构图公共元素部分规范了数据类型、变量的定义,给出了软件模型,并引入配置(Configuration)、资源(Resources)、任务(Tasks)和程序(Program)的概念、程序组织单元POU(PorgramOrganizitionUnit)和顺序功能图SFC(SequentialFunctionChart)等。

IEC61131-3标准共规定了4种编程语言,其中两种图形化语言,两种文本化语言。

图形化语言有梯形图LD(LadderDiagram),功能块图FBD(FunctionBlockDiagram);文本化语言有指令表IL(InstructionList)和结构文本ST(StructuredText)。

2.1 基本编程概念和公共元素1)软件模型IEC61131-3标准的软件模型如图2所示。

IEC611313]的5种标准编程语言

IEC611313]的5种标准编程语言
用IEC 6-1131/3语言编写的程序可以在任何其它支持这种标准的编程平台上转换成TRACE MODE6. TRACE MODE6 可以编译全部的5种IEC 6-1131/3语言程序,甚至包括机器码形式的SFC!这保证了程序实时 执行时的高1/3编程语言与TRACE MODE 6实时数据库的通讯机理都是相同的. 每个程序拥有一组参数,实时 数据通过输入参数进入程序中,计算结果返回到输出参数. 参数与TRACE MODE 6通道属性,如控制器和输入/输出设 备的实时输入/输出值、数据库单元或内部变量等相连接. 这样程序在一个周期间可以因为不同的数据线程处理而被多 次调用.
这些语言是下列IEC 6-1131/3标准语言的扩展:
SFC(顺序功能图); LD(梯形图); FBD(功能块); ST(结构化文本); IL(指令表).
TRACE MODE6 IEC 6-1131/3编程语言中包括3种可视化的编程语言(FBD、SFC、LD),针对的目标用户是工程师 和商业分析人员;2种面向过程的(ST、IL)语言,面向程序员。使用TRACE MODE6 IEC 6-1131/3语言,你可以同 样方便的对控制器、人机界面算法、企业资产管理和制造执行系统的逻辑功能进行编程。TRACE MODE6提供的IEC 6-1131/3语言将强大的功能、易用性和低误差率完美的组合在一起.TRACE MODE6 IEC 6-1131/3编程语言不但完全遵 从国际标准,而且包含了诸如带有典型控制算法的扩展功能模块库.
滤波比例积分微分控制pdd模糊控制位置控制脉宽调制变换统计三角法和集成的用于阀泵马达的现成控制算法模块所有这些都作为标准功能模块包含在tracemode6开发环境中
IEC611313]的 5种标准编程语言
用于开发控制系统和商业管理系统的TRACE MODE6编程工具面向不同领域的软件工程师. TRACE MODE6包含的五 种编程语言为:Techno SFC、Techno LD、Techno FBD、Techno ST和Techno IL.

5IEC61131-3编程标准解析

5IEC61131-3编程标准解析
Beckhoff Image 2019/12/28 25
IEC61131-3编程标准
编程语言
IL指令表指令列表
Beckhoff Image 2019/12/28 26
IEC61131-3编程标准
编程语言
IL指令表修饰符
Beckhoff Image 2019/12/28 27
IEC61131-3编程标准
介绍及特点
• 支持安全和高质量编程设计 • 轻松和舒适的结构 • 数据类型避免了编程错误
• 对每个问题提供了最佳编程语言 • 一致的 6 种编程语言规范 • 文本和图形语言 • 高级语言的可用性 • 不同语言混合编程
Beckhoff Image 2019/12/28 3
Beckhoff Image 2019/12/28 14
IEC61131-3编程标准
变量说明
注释 • 注释语用 (* 和 *) 框住 • 可将注释语放在任何地方, 但不能插在语句中 • 注释语允许几行表示 • 注释语不允许嵌套
Beckhoff Image 2019/12/28 15
IEC61131-3编程标准
主要特性
数据结构
• 用户定义数据元素 • 包含不同的基本的或用户定义的数据元素 • 通过自己的POU传递数据结构
灵活的语言选择
• 两种文本语言(IL,ST) • 三种图形语言 (FBD,LD,SFC) • 针对问题选择适当的语言 独立于供应商
• 服从 IEC 61131-3标准 • 基本层鉴定 (PLCopen) • 输入/输出接口
支持一维、二维和三维数组的成员数据类型。数组可在POU的声明部分和全局变量 表中定义。
数组初始化示例: arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5; arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7); (* 等同 1,7,7,7 *) arr3 : ARRAY [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3; (* 等同0,0,4,4,4,4,2,3 *) 指针

PLC技术培训班(第4讲)IEC61131-3标准教程 软件模型 SFC顺序功能图编程语言介绍 自动钻床的系统配置

PLC技术培训班(第4讲)IEC61131-3标准教程 软件模型 SFC顺序功能图编程语言介绍 自动钻床的系统配置
任务能周期地或由于一定的事件来处理,它们具有优先权级, 优先权是定义在资源内部分配给CPU的时间段。
有若干种类型的任务: a. 周期任务,b. 时间控制任务(时间间隔任务), c. 事件控制任务(事件任务),e. 中断任务
任务说明是由任务名,它的优先权级,以及任务执行时的条 件,条件可以是时间间隔,一个事件〈数字量输入的上升 沿或全局变量的伪(false)/真(true)变化〉或一个中断, 每一个任务能分配若干个程序,这些程序将由任务来激活。 程序是按照所指示的顺序来处理的。
PLC技术培训班 (第4讲)IEC61131-3标准教程
1 2020/8/6
热烈欢迎
2 2020/8/6
PLC培训班(第4讲)IEC 61131-3 编程语言标准介绍
1. IEC 61131-3 PLC 标准通用信息 2. IEC 61131-3 PLC 标准软件模型 3. IEC 61131-3 PLC 标准通信模式 4. IEC 61131-3 PLC 标准通用语言单元 5. IEC 61131-3 PLC 编程语言
9 2020/8/6
该标准还提供一个测试基础,允许制造商和 客户都能评估,每一个编程系统符合IEC标准 的接近程度。 为了进一步证明兼容性,PLCopen国际组织, 进一步定义兼容性等级的测试,而这些测试是 由独立的机构进行的。
10 2020/8/6
IEC 61131-3 PLC 标准软
件模型
11 2020/8/6
Function (功能)
18 2020/8/6
IEC 61131-3 PLC 标准软件模型 (程序)
整个程序具有实时性质,程序能在CPU中运行, 是由分配程序的任务来解决的,一个程序能分 配给若干个任务,亦即这若干个程序的背景是 在不同的实时性质下生成。程序中的一个是主 程序被分配给PLC外部设备、全局变量和访问路 径。

5IEC61131-3编程标准ppt课件

5IEC61131-3编程标准ppt课件
基本数据类型
数值可以用二进制、八进制、十进制和十六进制数表示。示例: 14 (十进制数) 2#1001_0011 (二进制数) 8#67 (八进制数) 16#A (十六进制数)
资源 Resources
• 一个配置有一个或多个资源 • “实质” PLC: 自己的全局变量, POU, 任务等. • 在 TwinCAT: 就是一个 PLC 运行核 (Runtime) 任务 Task
• 对一个相关程序的周期的执行,实施控制单元 • 一个资源有一个或多个任务 • 有优先级时序排列(0~3,共四个级别) • 优先权和循环时间 • 任务调用一个或多个程序 • 任务决定了所关联程序的时间调度。
函数Function
• 程序或功能块可调用函数 • 函数有输入变量, 和一个输出变量 • 函数有运算法则:每次函数被执行,就是运行一段程序编码 • 函数可以调用另外的函数,但不能调用功能块
学习交流PPT
10
软件模型说明 IEC61131-3编程标准
功能块FB与函数的区别 •FB: 例程, 全部数据分配内存地址 • 函数: 没有指定的内存分配地址 • FB: 多个输出变量或没有输出变量 •函数: 一个输出变量 •FB:可调用功能块或函数 •函数:可调用函数,但不能调用功能块
学习交流PPT
9
软件模型说明 IEC61131-3编程标准
程序 Program
•程序,是根据控制器过程的需要,包含了函数和功能块的一个逻辑组合的POU。 •任务调用程序 • 程序调用功能块和函数 •TwinCAT: 程序调用其它程序 功能块 FBD
• 程序调用功能块 • 功能块可调用功能块或函数 • FB 有输入, 输出变量 • FB 有运算法则:每次FB被执行,就是运行一段程序编码

5IEC61131 3编程标准解析

5IEC61131 3编程标准解析

Beckhoff Image 2018/10/13 13
IEC61131-3编程标准
变量说明
变量命名规则 ?字母不分大小写 (abc = Abc = ABC) ?第一个字符不能是数字 ?不能连续使用多于一个的下划线 (_) ?允许的 : ab_c, AB_de, _AbC ?不允许的 : 1abc, __abc, a__bc ?头 32 个字符有意义 ?特殊字 ( 如 FUNCTION) 被保留 ?语法术语关键字总是大写字母 ? 不能使用语法术语关键字作标识符
软件模型
Beckhoff Image 2018/10/13 8
IEC61131-3编程标准
软件模型说明
配置 Configuration
? 最高层,描述了整个控制系统的架构。 ?一个配置可被比作一个可编程控制器系统。 ?在一个配置里可以定义一个或几个资源。 ?在TwinCAT 中 一个或多个 PLC 资源 Resources
? 一个配置有一个或多个资源 ?“实质” PLC: 自己的全局变量 , POU, 任务等 . ?在 TwinCAT: 就是一个 PLC 运行核 (Runtime) 任务 Task
? 对一个相关程序的周期的执行 ,实施控制单元 ? 一个资源有一个或多个任务 ? 有优先级时序排列( 0~3,共四个级别) ? 优先权和循环时间 ? 任务调用一个或多个程序 ? 任务决定了所关联程序的时间调度。
IEC61131-3编程标准
介绍及特点
? 支持安全和高质量编程设计 ? 轻松和舒适的结构 ? 数据类型避免了编程错误
? 对每个问题提供了最佳编程语言 ?一致的 6 种编程语言规范 ? 文本和图形语言 ? 高级语言的可用性 ? 不同语言混合编程
Beckhoff Image 2018/10/13 3

IEC61131-3《编程语言》及其对工业控制编程语言发展的影响

IEC61131-3《编程语言》及其对工业控制编程语言发展的影响

IEC61131-3《编程语言》及其对工业控制编程语言发展的影响IEC61131-3《编程语言》及其对工业控制编程语言发展的影响工业控制编程语言在现代工业自动化系统中起着至关重要的作用。

这些编程语言帮助工程师们设计、开发和管理各种自动化过程,提高生产效率和质量。

IEC61131-3《编程语言》是一个重要的标准,对工业控制编程语言的发展产生了深远的影响。

本文将介绍IEC61131-3标准的主要特点和其对工业控制编程语言发展的影响。

IEC61131-3是由国际电工委员会(IEC)于1993年发布的一个标准,用于规定工业控制系统软件的编程语言和编程方法。

标准包括了五种编程语言,分别是梯形图(Ladder Diagram,LD)、功能块图(Function Block Diagram,FBD)、序列图(Sequential Function Chart,SFC)、结构化文本(Structured Text,ST)和运动控制函数图(MotionControl Function Block Diagram,MCFBD)。

这些编程语言广泛应用于工业控制系统中,成为工程师们编写自动化过程的标准工具。

首先,IEC61131-3标准提供了一种统一的编程语言和开发环境,极大地方便了不同厂家和工程师之间的协作和交流。

在此之前,每个厂家都有自己的专有编程语言和软件工具,互相之间不兼容。

这给项目开发和维护带来了很大的困扰。

而IEC61131-3的出现,解决了这个问题,使得不同厂家的控制系统之间可以无缝集成,实现协作开发和资源共享。

这大大加快了工业控制系统的开发进度,提高了整体效率。

其次,IEC61131-3标准提供了一种面向对象编程(Object-Oriented Programming,OOP)的思想。

在传统的工业控制编程语言中,程序的开发和管理较为繁琐,难以进行模块化设计和复用。

而OOP思想使得编程更加灵活,能够将程序划分为多个对象,并通过继承和多态等机制实现函数和数据的封装和管理。

iec61131-3编程语言

iec61131-3编程语言

iec61131-3编程语言IEC 61131-3编程语言是由国际电工委员会(IEC)研发的包含5种编程语言的标准软件编程语言,可用于控制工业自动化设备。

IEC 61131-3标准包括五种编程语言:IL(指令语言),ST(结构化程序设计),FBD(函数块编程),LD(连续控制语言)和SFC(系统功能调度语言)。

它们提供了一种同时开发可编程逻辑控制器(PLC),嵌入式系统,机器人和工业流程控制应用程序的标准化编程语言。

IEC 61131-3编程语言结构有助于提高应用程序可维护性和可扩展性,以及对应用程序和控制算法变更的可能性。

它提供了一种可用于多种不同环境和如何组织应用程序代码的标准方法,并且为实现可重用应用程序模块提供了良好的支持。

可以根据具体情况灵活混合和匹配5种不同的编程语言。

IEC 61131-3标准的例行编程语言是IL,它使开发人员能够通过一条指令一条指令地编写程序,就像编写汇编语言一样。

IL代码可以使用多种不同的编译器转换为机器代码,从而可以在PLC和其他系统中运行。

结构化程序设计(ST)可以使用具有标准语法的文件来编写。

我们可以使用ST语言开发可视化程序,其中有清晰的控制结构流程和函数,以便可以轻松地分析和检查程序以及易于调试代码。

函数块编程(FBD)是IEC 61131-3标准中最受欢迎的语言之一,它专门用于进行可视化编程。

它使用可视化元素,如函数块,变量,连线和区域等来组织代码,使编程变得更加简单,并且提高可读性、可维护性和可扩展性。

连续控制语言(LD)提供了一种便利的方法来编写复杂的控制算法和精确控制代码,尤其是在控制旋转和线性机械装置时用于显示数学算法。

LD语言提供了简洁的语法,可以写出复杂的命令,提高了编程的效率。

系统功能调度语言(SFC)用于开发工厂系统中的大型集中调度器程序,以及制造执行系统(MES)和其他系统的协调和控制程序。

SFC语言可以用于定义自动系统的控制根据应用程序的执行结果产生反馈,从而获得复杂控制任务的可靠结果。

IEC61131-3标准及其实现

IEC61131-3标准及其实现

IEC61131-3标准及其实现IEC61131-3标准的基本概念和定义IEC61131-3对下述三个方面进行了描述和定义:1、块的概念,2、PLC的配置,3、编程系统应具备的基本功能。

一、块的概念由POU(Program Organization Unit)构成的程序和项目称之为块(Blocks),POU与传统PLC世界中的程序块、组织块、顺序快、功能块相对应。

IEC61131-3标准的一个非常重要的目的就是限制块的种类及其隐含的意义,以便统一和简化它们的用法。

为此,标准定义了三种类型的POU,分别如下:POU类型意义程序(PROG)主程序,包括指定的I/O、全局变量和存取路径功能块(FB)拥有输入/输出变量的块,是最常用的POU类型函数(FUN)带有函数值的块,作为PLC基本操作集的扩展三种POU的区别在于:函数(FUN)函数POU可以指定参数,但没有静态变量也就是没有存储空间,在用相同的输入参数调用函数时总是返回相同的结果。

功能块(FB)功能块POU即可以指定参数,也有静态变量,在用相同的参数调用功能块时,返回值取决于内部变量和外部变量,并能将内部变量保持到下一个执行周期。

程序(PROG)此类POU代表“主程序”,整个程序的所有变量(包括指定的物理地址)都应该在此POU(或资源、配置)中声明,其他方面与功能块POU类似。

POU 是个封装的单元,可以独立地编译,并作为其他程序的部件,经编译的POU可以连接在一起组成完整的程序。

POU 的名字在整个项目中是唯一的、全局的。

局部子程序在IEC61131-3中是禁止的,经编程之后的POU,其名字和调用接口对项目中其他所有的POU是已知的。

POU 的这种独立性大大方便了自动化任务的模块化以及可以重复使用已经获得良好测试和执行的软件单元。

编写PLC程序实际上就是构造功能块(FB)和程序块。

大多数情况,PLC已经预先构造和测试好了大量的功能块(如:定时器和计数器),用户只要将系统提供的功能块按照逻辑要求组织成程序即可。

Bachmann-PLC-IEC61131-编程指导

Bachmann-PLC-IEC61131-编程指导

Bachmann-PLC-IEC61131-编程指导IEC61131-3编程标准化介绍(Bachmann PLC编程语言介绍)一,IEC61131-3编程语言的分类常用的PLC编程语言分为:IL(语句表),LD(梯形图),FBD(功能图),SFC(顺控图),CFC(改进的功能图),ST(类似于C 语言,可以用记事本文件打开)。

二,各种语言的功能使用列举1,IL语句表(没有实用价值,略)2,LD梯形图(1),实现逻辑运算与运算(当a1,a2全部为TRUE时候,b1为TRUE。

)或运算(当a1,a2有一个为TRUE时候,b1为TRUE。

)非运算(a1= =TRUE,a2= =FALSE,b1为TRUE)以上运算也可以用:AND,OR,来实现,如:RS,SR运算(有优先级的,RS为复位优先;SR置位优先)如:(a1= =TRUE,a2= =FALSE,b1为TRUE)(a1= =TRUE,a2= =TRUE,b1为FALSE)如:(a1= =TRUE,a2= =FALSE,b1为TRUE)(a1= =TRUE,a2= =TRUE,b1为TRUE)(2)实现算术运算其他常用的数学运算还有:EXP,EXPT,SIN,COS,TAN,ASIN,ACOS,ATAN。

还有常用的MOVE。

(3)脉冲运算F_TRIG,R_TRIG分别产生一个下降沿,上升沿;(4)计数器与定时器0001的含义是在程序上电时候,将a2置位为TRUE(第一个扫描周期,上电初始化程序可以参考该模式);当a2= =TRUE将其复位(第2及以后的扫描周期)。

0002的含义是:每3s钟t1导通一次(导通的次数由c1的设定来决定的),同时c1的次数当前数减少一次。

0003的含义是:t1导通一次以后,关断t1。

0004的含义是:导通次数达到设定数据以后,b2导通,同时关断t1。

TON:通电延时。

TOF:断电延时。

TP:产生一段时间脉冲,与R_TRIG相似(但TP有时间规定,R_TRIG为一个扫描周期)。

第6章工业控制编程语言标准IEC611313

第6章工业控制编程语言标准IEC611313
数字直接量 字符串直接量 时间直接量
➢标识符
标识符(identifier)是字母、数字和下划线字符的组合。 其开始必须是字母或下划线字符,并被命名为语言元素 (Language Element)。标识符对字母的大、小写不敏感, 所以标识符ABCD和abcD具有相同的意义。标识符用于表 示变量、标号,以及功能、功能块、程序组织单元等名称。
第6章工业控制编程语言标准 IEC611313
变量的类型和属性
第6章工业控制编程语言标准 IEC611313
变量的附加属性
第6章工业控制编程语言标准 IEC611313
三、程序组织单元
第6章工业控制编程语言标准 IEC611313
1、程序组织单元及其组成
图6.2 程序组织单元
第6章工业控制编程语言标准 IEC611313
第6章工业控制编程语言标准 IEC611313
➢对程序执行具有完全的控制能力。传统的PLC只 能按扫描方式顺序执行程序,对程序执行的其他要 求,如由事件驱动某一段程序的执行、程序的并行 处理等均无能为力。IEC 61131-3允许程序的不同 部分、在不同的条件(包括时间条件)下、以不同 的比率并行执行。 ➢结构化编程。对于循环执行的程序、中断执行的 程序、初始化执行的程序等可以分开设计。此外, 循环执行的程序还可以根据执行的周期分开设计。
➢关键字
关键字(keyword)是语言元素特征化的词法单元。关 键字是标准标志符。在IEC61131-3标准中,关键字是结构 声明和语句的固定符号表示法,其拼写和含义均由 IEC61131-3标准明确规定。因此,关键字不能用于用户定 义的变量或其他名称。这一点与高级编程语言是一致的。
关键字不区分字母的大、小写。例如,关键字“FOR” 和“for”是等价的。为了更好地进行区别,关键字通常以大 写字母表示。表6.3所示为关键字及其含义。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Beckhoff Image
2018/10/13
25
IEC61131-3编程标准
编程语言
IL指令表指令列表
Beckhoff Image
2018/10/13
26
IEC61131-3编程标准
编程语言
IL指令表修饰符
Beckhoff Image
2018/10/13
27
IEC61131-3编程标准
数据类型
基本数据类型 • 数据类型有布尔值,整数, 浮点数, 位和位组, 时间和日期值和字符串 基本数据类型 数值可以用二进制、八进制、十进制和十六进制数表示。示例: 14 (十进制数) 2#1001_0011 (二进制数) 8#67 (八进制数) 16#A (十六进制数) BOOL值 • 布尔值变量取值TRUE或FALSE,占用8位内存空间
Beckhoff Image
2018/10/13
21
IEC61131-3编程标准
用户自定义数据类型
枚举 句法: TYPE <牧举变量>:(<Enum_0> ,<Enum_1>, ...,<Enum_n>);END_TYPE 牧举变量可以取牧举值中的任何一个值。缺省情况下,第一个牧举值为零,其后依次递增。 结构 结构声明的句法如下: TYPE <结构名>: STRUCT <声明变量1> . . <声明变量n> END_STRUCT END_TYPE
Beckhoff Image
2018/10/13
4
IEC61131-3编程标准
主要特性
良好的结构 • 从上至下或从底向上的编程
• 以程序组织单元为单位 (POUs) Program Organization Unit • 逐级构建程序
强大的数据类型测定
• 编译器探测不同数据类型的分配
• 减少编程错误
浮点数据类型
REAL 和 LREAL 被称为浮点数类型。用于有理数表示。 REAL 占用32位内存空间,LREAL 占用64位。
Beckhoff Image 2018/10/13 16
IEC61131-3编程标准
数据类型
整形数据类型
当用大类型转换为小类型时,将导致丢失信息。
Beckhoff Image
Beckhoff Image
2018/10/13
24
IEC61131-3编程标准
编程语言
IL指令表 • • • • 低级语言(类似汇编程序) 面向累加器的 每行只允许一个操纵, 如存储一个值到累加寄存器 用跳转和标号控制流程
指令表(IL)由一系列指令组成。每条指令都由一个新行开始,包含一个操作符 以及和操作符类型相关的一个或多个操作数,并用逗号分开。在指令前可以有 标号,后接一个冒号。 注解必须在一行的最后,指令之间可以插入空行。
自动化新技术
IEC61131-3编程标准
Beckhoff Image
2018/10/13
1
IEC61131-3编程标准
介绍及特点
IEC(International Electrotechnical Commission)61131-3是 IEC 61131国际标准的第三部分,是第一个为工业自动化控制系统的软件设计提 供标准化编程语言的国际标准。
Beckhoff Image
2018/10/13
7
IEC61131-3编程标准
软件模型
Beckhoff Image
2018/10/13
8
IEC61131-3编程标准
软件模型说明
配置 Configuration • 最高层,描述了整个控制系统的架构。 •一个配置可被比作一个可编程控制器系统。 •在一个配置里可以定义一个或几个资源。 • 在TwinCAT 中 一个或多个PLC 资源 Resources • 一个配置有一个或多个资源 • “实质” PLC: 自己的全局变量, POU, 任务等. • 在 TwinCAT: 就是一个 PLC 运行核 (Runtime) 任务 Task • • • • • • 对一个相关程序的周期的执行,实施控制单元 一个资源有一个或多个任务 有优先级时序排列(0~3,共四个级别) 优先权和循环时间 任务调用一个或多个程序 任务决定了所关联程序的时间调度。
Beckhoff Image
2018/10/13
13
IEC61131-3编程标准
变量说明
变量命名规则 • 字母不分大小写 (abc = Abc = ABC) •第一个字符不能是数字 • 不能连续使用多于一个的下划线 (_) • 允许的: ab_c, AB_de, _AbC • 不允许的: 1abc, __abc, a__bc • 头 32 个字符有意义 •特殊字( 如 FUNCTION) 被保留 •语法术语关键字总是大写字母 • 不能使用语法术语关键字作标识符
函数Function
• • • •
程序或功能块可调用函数 函数有输入变量, 和一个输出变量 函数有运算法则:每次函数被执行,就是运行一段程序编码 函数可以调用另外的函数,但不能调用功能块
Beckhoff Image
2018/10/13
10
IEC61131-3编程标准
软件模型说明
功能块FB与函数的区别
2018/10/13
2
IEC61131-3编程标准
介绍及特点
• 支持安全和高质量编程设计 • 轻松和舒适的结构 • 数据类型避免了编程错误 • 对每个问题提供了最佳编程语言 • 一致的 6 种编程语言规范 • 文本和图形语言 • 高级语言的可用性 • 不同语言混合编程
Beckhoff Image
2018/10/13
3
IEC61131-3编程标准
介绍及特点
• 软件-, 通讯- 和 编程-模式
• 6 种内部连接编程语言的定义
• 四种文本和两种图形语言的语法和语句: 指令表 (IL), 结构化文本 (ST), 梯形图 (LD) 和功能块图(FBD)
• 顺序功能图 (SFC) -为组建程序结构
• 连续功能图(CFC)
Beckhoff Image
2018/10/13
5
IEC61131-3编程标准
主要特性
全执行控制
不同的任务具有不同的执行循环时间及不同的任务优先级
复杂的流程控制 • 功能流程图
• 具有步骤, 动作和转移的流序 • 可选分枝和同步分枝流程
Beckhoff Image
2018/10/13
6
IEC61131-3编程标准
Beckhoff Image
2018/10/13
14
IEC61131-3编程标准
变量说明
注释
• 注释语用 (* 和 *) 框住 • 可将注释语放在任何地方, 但不能插在语句中 • 注释语允许几行表示 • 注释语不允许嵌套
Beckhoff Image
2018/10/13
15
IEC61131-3编程标准
Beckhoff Image
2018/10/13
9
IEC61131-3编程标准
软件模型说明
程序 Program •程序,是根据控制器过程的需要,包含了函数和功能块的一个逻辑组合的POU。 •任务调用程序 • 程序调用功能块和函数 •TwinCAT: 程序调用其它程序 功能块 FBD • • • • 程序调用功能块 功能块可调用功能块或函数 FB 有输入, 输出变量 FB 有运算法则:每次FB被执行,就是运行一段程序编码
Beckhoff Image
2018/10/13
22
IEC61131-3编程标准
用户自定义数据类型
参考 可以使用用户定义的参考数据类型,创建已经更名的变量、常数或功能块。 句法: TYPE <标识符>: <分配项>; END_TYPE 示例: TYPE message:STRING[50]; END_TYPE;
• 国际上承认的标准
• 逐步的在不远的将来所有供应商将采用它 • 统一的结构, 语言和操作处理方式将来自所有供应商 • 它节省你的时间 • 统一的软件模式和数据类型概念 • 对来自不同的PLC类型你只需学习一次 • 减少了误解和错误 • 标准的函数和功能块 • 测试软件的可重复使用性
Beckhoff Image
Beckhoff Image
2018/10/1319IEC61Fra bibliotek31-3编程标准
数据类型
数据类型转换
Beckhoff Image
2018/10/13
20
IEC61131-3编程标准
用户自定义数据类型
数组 数组例子: test AT %I* : ARRAY[1..10] OF BOOL; 支持一维、二维和三维数组的成员数据类型。数组可在POU的声明部分和全局变量 表中定义。 数组初始化示例: arr1 : ARRAY [1..5] OF INT := 1,2,3,4,5; arr2 : ARRAY [1..2,3..4] OF INT := 1,3(7); (* 等同 1,7,7,7 *) arr3 : ARRAY [1..2,2..3,3..4] OF INT := 2(0),4(4),2,3; (* 等同0,0,4,4,4,4,2,3 *) 指针 当程序运行时,变量或功能块地址保存在指针中。指针声明为如下句法形式: <指针名> : POINTER TO <数据类型 / 功能块>; 指针可指向任何数据类型、功能块和用户定义的数据类型。对地址操作的 ADR 功能, 可将变量或功能块的地址指向指针。指针后加内容操作符”^”可取出指针中的数据。
Beckhoff Image
2018/10/13
相关文档
最新文档