1、IEC61131-3标准及其实现IEC61131-3标准的基本概念和定义 IEC61131-3对下述三个方面进行了描述和定义:1、块的概念,2、PLC的配置,3、编程系统应具备的基本功能。一、块的概念由POU(Program Organization Unit)构成的程序和项目称之为块(Blocks),POU与传统PLC世界中的程序块、组织块、顺序快、功能块相对应。IEC61131-3标准的一个非常重要的目的就是限制块的种类及其隐含的意义,以便统一和简化它们的用法。为此,标准定义了三种类型的POU,分别如下:POU类型 意义程序(PROG) 主程序,包括指定的I/O、全局变量和存取路径功能块(
2、FB) 拥有输入/输出变量的块,是最常用的POU类型函数(FUN) 带有函数值的块,作为PLC基本操作集的扩展三种POU的区别在于:函数(FUN) 函数POU可以指定参数,但没有静态变量也就是没有存储空间,在用相同的输入参数调用函数时总是返回相同的结果。功能块(FB) 功能块POU即可以指定参数,也有静态变量,在用相同的参数调用功能块时,返回值取决于内部变量和外部变量,并能将内部变量保持到下一个执行周期。程序(PROG) 此类POU代表“主程序”,整个程序的所有变量(包括指定的物理地址)都应该在此POU(或资源、配置)中声明,其他方面与功能块POU类似。POU 是个封装的单元,可以独立地编译,
3、并作为其他程序的部件,经编译的POU可以连接在一起组成完整的程序。POU 的名字在整个项目中是唯一的、全局的。局部子程序在IEC61131-3中是禁止的,经编程之后的POU,其名字和调用接口对项目中其他所有的POU是已知的。POU 的这种独立性大大方便了自动化任务的模块化以及可以重复使用已经获得良好测试和执行的软件单元。编写PLC程序实际上就是构造功能块(FB)和程序块。大多数情况,PLC已经预先构造和测试好了大量的功能块(如:定时器和计数器),用户只要将系统提供的功能块按照逻辑要求组织成程序即可。编写POU的语言种类IEC61131-3推荐了五种语言来构造POU,分别是:IL(Instruc
4、tion 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)通常也可以由
5、指令表(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;字符串操
6、作 LEN、LEFT、RIGHT、MID、CONTACT、INSERT、DELETE、RAPLACE、FIND;标准功能块IEC61131-3只定义了5个功能块,分别是:双稳触发器、边沿触发器、定时器、计数器、通讯功能块;实际的PLC中这些函数和功能块是远远不够用的。 二、PLC的配置用IEC61131-3推荐的语言(一种或多种)编写的程序型POU(程序块)通常是相互独立的,如何将各个程序块组成完整的程序就需要对程序块进行配置,IEC61131-3中引入配置元素的概念,通过声明和定义配置元素将程序块紧密地联系在一起。配置元素有四种,分别是:配置(Configuration)、资源(Resour
7、ce)、任务(Task)和运行程序(Run-Time Program),它们之间是按层次划分的。四种配置元素的作用如下:配置元素 描述Configuration (配置) 定义全局变量(在本配置内有效) 组合PLC系统内的所有资源 定义配置之间的存取路径 声明直接表示的变量Resource (资源) 定义全局变量(在本资源内有效) 给任务和程序指定资源 用输入/输出参数调用程序 声明直接表示的变量Task (任务) 定义运行属性Run-Time Program (运行程序) 给程序块或功能块指定运行属性 直接表示的变量声明将整个配置映射到PLC的硬件地址,这些声明可以在配置级、资源级或程序级实
8、现,POU通过外部变量声明存取这些变量。 当将为所有的POU声明的直接表示的变量放在一起时就组成PLC应用的定位表。再重新布线时只要简单地修改这个表,将符号地址重新指到PLC的绝对地址即可。 配置元素通常是以文字形式声明的。配置元素之间的关系 配置元素之间是按层次分级的,配置定义了资源和存取路径,资源定义了任务并将任务分派到PLC的物理资源,任务定义了程序运行时的属性,由此构成了完整的声明链。三、PLC编程系统应具备的基本功能创新的PLC编程系统应具备下列模块:(1),语言编辑器;(2),编译器、连接器、系统配置器;(3),测试与授权、通信管理;(4),项目管理器;(5),器件管理器;1,语言
9、编辑器 IL、ST语言编辑器是文本的,LD、FBD、SFC是图形的。2,编译器、连接器 编译器、连接器在结构化文本语言中是需要的,在LD、FBD、SFC并不时必需的。3,系统配置器系统配置器实现资源和任务的管理。4,测试与授权、通信管理 测试与授权、通信管理部分应具备的功能如下: (1),下载整个项目或个别POU到PLD;(2),从PLC上传项目到PC;(3),修改PLC中的程序(在“运行”或“停止”模式);(4),启动和停止PLC;(5),显示变量的值(状态);(6),在测试期间,为防止现场不安全的条件,PLC的输出应不会动作,只有在正常操作时,程序才能执行,其值才能赋给直接变量。附加的软件
10、和硬件能确保写到输出变量的值不影响物理输出。(7),从PLC中取回系统数据,通信和网络信息;(8),程序的执行控制(断点、单步);(9),在线修改程序;(10),功率流显示;5,器件管理器 器件管理器管理除CPU之外的所有扩展模块和接口。6,项目管理器 项目管理器是功能强大的管理器,要求能对系统中的所有资源进行统一的管理,其应具备的功能如下:(1),登记新创建的文件;(2),从其他项目导入文件;(3),显示所有已经存在的POU;(4),更名或删除POU;(5),整个项目的信息结构;PLC StudioV1.10实现的功能1,PLC StudioV1.10完全实现了IEC61131-3标准中的P
11、OU的概念,将程序型的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项目的统一管理。