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已经预先构造和测试好了大量的功能块(如:定时器和计数器),用户只要将系统提供的功能块按照逻辑要求组织成程序即可。
编写POU的语言种类
   IEC61131-3推荐了五种语言来构造POU,分别是:IL(Instruction List)-指令表、FBD(Function Block Diagram)-功能块图(或方块图)、LD(Ladder Diagram)-梯形图、SFC(Sequence Function Chart)-顺序功能图,ST(Structured Text)-结构化语言。
   每一种语言都有其优点和适用的人群,梯形图直观明了,为大多数的工程人员所喜用,是编写PLC的首选语言。
POU之间的关系
 (1), POU 可以互相调用;
 (2), 禁止递归调用;
(3), 梯形图(LD)、方块图(FBD)、顺序功能图(SFC)通常是能相互转换的;
(4), 由梯形图(LD)转换成的指令表(IL)通常也可以由指令表(IL)转回梯形图(LD);
(5),用指令表(IL)编写的程序块通常是不能转换成梯形图(LD)的,除非结构很简单。
(6),用结构化语言(ST)编写的程序块不能转换成其他四种的任何一种。
标准函数
IEC61131-3只定义了约46个函数,分别是:
数字运算 ABS、SQRT、LOG、LN、EXP、SIN、COS、TAN、ASIN、ACOS、ATAN;
算术运算 ADD、SUB、MUL、DIV、MOD、EXPT、MOVE;
位移与位运算 SHL、SHR、ROR、ROL、AND、OR、XOR、NOT;
选择   SEL、MAX、MIN、LIMIT、MUX;
比较   GT、GE、LT、LE、EQ、NE;
字符串操作 LEN、LEFT、RIGHT、MID、CONTACT、INSERT、DELETE、RAPLACE、FIND;
标准功能块
IEC61131-3只定义了5个功能块,分别是:双稳触发器、边沿触发器、定时器、计数器、通讯功能块;
实际的PLC中这些函数和功能块是远远不够用的。
 
二、PLC的配置
  用IEC61131-3推荐的语言(一种或多种)编写的程序型POU(程序块)通常是相互独立的,如何将各个程序块组成完整的程序就需要对程序块进行配置,IEC61131-3中引入配置元素的概念,通过声明和定义配置元素将程序块紧密地联系在一起。
  配置元素有四种,分别是:配置(Configuration)、资源(Resource)、任务(Task)和运行程序(Run-Time Program),它们之间是按层次划分的。
  四种配置元素的作用如下:
配置元素               描述
Configuration (配置)     定义全局变量(在本配置内有效)
                        组合PLC系统内的所有资源
                        定义配置之间的存取路径
                        声明直接表示的变量
Resource (资源)    定义全局变量(在本资源内有效)
                        给任务和程序指定资源
                        用输入/输出参数调用程序
                        声明直接表示的变量
Task (任务)    定义运行属性
Run-Time Program (运行程序) 给程序块或功能块指定运行属性

   直接表示的变量声明将整个配置映射到PLC的硬件地址,这些声明可以在配置级、资源级或程序级实现,POU通过外部变量声明存取这些变量。
   当将为所有的POU声明的直接表示的变量放在一起时就组成PLC应用的定位表。再重新布线时只要简单地修改这个表,将符号地址重新指到PLC的绝对地址即可。

  配置元素通常是以文字形式声明的。
配置元素之间的关系
   配置元素之间是按层次分级的,配置定义了资源和存取路径,资源定义了任务并将任务分派到PLC的物理资源,任务定义了程序运行时的属性,由此构成了完整的声明链。
三、PLC编程系统应具备的基本功能
创新的PLC编程系统应具备下列模块:
(1),语言编辑器;
(2),编译器、连接器、系统配置器;
(3),测试与授权、通信管理;
(4),项目管理器;
(5),器件管理器;
1,语言编辑器
   IL、ST语言编辑器是文本的,LD、FBD、SFC是图形的。
2,编译器、连接器
   编译器、连接器在结构化文本语言中是需要的,在LD、FBD、SFC并不时必需的。
3,系统配置器
系统配置器实现资源和任务的管理。
4,测试与授权、通信管理
  测试与授权、通信管理部分应具备的功能如下:
(1),下载整个项目或个别POU到PLD;
(2),从PLC上传项目到PC;
(3),修改PLC中的程序(在“运行”或“停止”模式);
(4),启动和停止PLC;
(5),显示变量的值(状态);
(6),在测试期间,为防止现场不安全的条件,PLC的输出应不会动作,只有在正常操作时,程序才能执行,其值才能赋给直接变量。附加的软件和硬件能确保写到输出变量的值不影响物理输出。
(7),从PLC中取回系统数据,通信和网络信息;
(8),程序的执行控制(断点、单步…);
(9),在线修改程序;
(10),功率流显示;
5,器件管理器
   器件管理器管理除CPU之外的所有扩展模块和接口。
6,项目管理器
   项目管理器是功能强大的管理器,要求能对系统中的所有资源进行统一的管理,其应具备的功能如下:
(1),登记新创建的文件;
(2),从其他项目导入文件;
(3),显示所有已经存在的POU;
(4),更名或删除POU;
(5),整个项目的信息结构;

PLC StudioV1.10实现的功能

1,PLC StudioV1.10完全实现了IEC61131-3标准中的POU的概念,将程序型的POU称为程序块,函数和功能块统称为指令并用图形块的方式在梯形图中直观地显示。将函数和功能块统称为指令是为了与指令表中的称谓统一。
2,每个程序块用一个“视”(View)来显示和编辑;
3,在梯形图中同时实现了“网络”(Network)的概念;
4,扩充了标准中的函数和功能块;
5,对标准中使用的文本配置方法进行了重大改进,用完全图形化的界面代替了文本描述,减少了错误,提高了效率;
6,支持程序的下载和上传,并增加了程序的比较功能;
7,在PLC的工作模式(“编程”、“监控”、“运行”)中增加了“调试”模式,确保在调试期间不会导致设备的误动作;
8,支持在线修改、编辑程序;
9,支持在线修改变量值、强制变量状态;
10,支持在线观察变量值,并以可选择的格式显示;
11,支持符号变量的使用;
12,支持用户自定义喜好的编辑环境;
13,强化的安全管理;
14,即时编译技术、自验证技术能及早发现错误;
15,高效、直观的外部(扩展)资源管理;
16,层次分明的程序块(POU)管理;
17,直观的在线状态、功率流显示;
18,支持梯形图(LD)、指令表(IL)、及改进的方块图(FBD)三种语言,并可以在同一界面中混合显示和编辑;
19,支持多PLC项目的统一管理;

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
IEC 61131-3标准包括两部分:编程和变量。编程部分描述了两个重要模型:IEC 软件模型和通讯模型。变量定义编程系统中需要的的数据类型。 IEC61131-3是当今世界第一个为工业自动化控制系统的软件设计提供标准编程语言 的国际标准。此前,国际上没有出现过有实际意义、为制定通用的控制语言而开展的标准化 活动。这显然是注意到由于DCS等以数字技术为基础的控制装置在发展进程中过于专有化,给用户带来的大量不便。这个标准将现代软件的概念和现代软件工程的机制与传统的PLC编程语言成功地结合,又对当代种类繁多的工业控制器中的编程概念及语言进行了标准化。它为可编程控制器软件技术的发展,乃至整个工业控制软件技术的发展,起着举足轻重的推动作用。可以说,没有编程语言标准化便没有今天 PLC走向开放式系统的坚实基础。为了使标准的规定适用于广泛的应用范围,又能为 PLC制造厂商所接受和支持,IEC61131-3规定了二大类编程语言即文本化编程语言和图形化编程语言。前者包括指令清单语 言(IL)和结构化文本语言(ST);后者则有梯形图语言(LD)和功能块图语言(FBD)。在 标准的文本中没有把顺序功能图(SFC)单独列入编程语言,而是将它在公用元素中予以规范。这就是说,不论在文本化语言中,或者在图形化语言中,都可以运用 SFC的概念、句法 和语法。但习惯上也把它叫做另一种编程语言。 这五种编程语言都是依据工业控制的基本元器件及由其构成的网络或电路,采用某种在计算机上仿真它们的工作原理和功能而形成的。梯形图(LD)语言是将并行动作的机电元件(诸如继电器触点和线圈、定时器、计数器等)网络加以模型化。功能块图(FBD)语言 则是将并行动作的电子元件(诸如加法器、乘法器、移位寄存器、逻辑运算门等)的网络予以模型化。而结构化文本(ST)语言将典型的信息处理任务(如在通用的高级语言 Pascal 中的使用数值算法)予以模型化。指令表(IL)语言却是将汇编语言中控制系统的低层编程 予以模型化。顺序功能图(SFCs)将时间驱动和事件驱动的顺序控制设备和算法模型化。 值得注意的是,IEC 61131-3 允许在同一个 PLC中使用多种编程语言,允许程序开发人员对每一个特定的任务选择最合适的编程语言,还允许在同一个控制程序中其不同的程序模 块用不同的编程语言编制。这些规定妥善继承了 PLC发展历史中形成的编程语言多样化的现实,又为 PLC软件技术的进一步发展提供了足够的空间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值