OMRON功能块(FB)教材I目录第一章功能块(FB)编程概述.......................11.1功能块(FB)简介....................................11.2功能块(FB)使用特点................................11.3功能块(FB)使用环境................................21.3.1支持FB功能的PLC类型..............................................21.3.2.支持FB功能的软件..................................................21.3.3CX-Programmer6.0功能块特点........................................2第二章梯形图功能块..............................32.1梯形图功能块编程基础................................32.1.1梯形图功能块结构介绍...............................................32.1.2梯形图功能块编辑区介绍.............................................42.2创建功能块..........................................42.2.1新建梯形图FB......................................................52.2.2设置功能块变量.....................................................62.2.3编写FB内梯形图....................................................72.3使用功能块..........................................82.3.1调用梯形图功能块...................................................82.3.2梯形图FB的嵌套....................................................92.3.3保存梯形图FB.....................................................112.3.4调试梯形图FB.....................................................122.4FB内存分配注意事项................................13第三章高级语言(ST语言)功能块................153.1ST语言功能块编程基础............................153.1.1高级语言编程概念..................................................153.1.2ST语言编程特点...................................................15OMRON功能块(FB)教材II3.2ST语言编程系统介绍..............................163.2.1ST语言常用运算符.................................................173.2.2ST语言基本命令...................................................183.2.3ST语言编程规则...................................................213.3创建ST语言FB...................................223.4ST语言FB的使用.................................243.4.1调用ST语言FB....................................................243.4.2ST语言FB的嵌套..................................................243.4.3ST语言FB的保存和调试............................................25第四章功能块——FB库..........................264.1FB库概述..........................................264.1.1FB库特点.........................................................264.1.2FB库应用简介.....................................................264.2FB库内容介绍......................................284.2.1FB库内容简介.....................................................284.2.2FB库功能分类.....................................................284.3FB库功能块使用....................................294.3.1创建FB库中的功能块...............................................294.3.2阅览FB库中的功能块程序...........................................304.3.3调用FB库中的功能块...............................................30第五章功能块应用示例...........................31附录一:ST语言语法错误一览表...................36OMRON功能块(FB)教材1第一章功能块(FB)编程概述OMRON编程软件CX-Programmer从5.0版本开始,增加了一个全新的编程功能——功能块(FunctionBlock,简称FB)。CJ、CS、CP1H系列的PLC可以使用这个功能进行编程,它大大增强了CX-Programmer软件对PLC编程、控制和调试的能力。功能块(FB)主要提供了梯形图和高级语言2种编程方法,结合软件自带的功能库,给用户提供了全新的简单、高效、集成化的编程方法和环境。1.1功能块(FB)简介功能块(FunctionBlock)是预先编辑或测试的程序集合,具有特定的功能要素,可嵌入原有的梯形图中执行,并通过设置I/O来使用这个功能。CX-Programmer5.0以上的版本具有FB功能,并且CS、CJ系列的PLC的CPU单元版本号高于3.0才支持该功能。用户可以使用2种语言创建功能块:梯形图语言和高级语言(ST语言)。1.梯形图功能块:熟悉使用梯形图编程的用户可以用这种方式创建功能块,这和使用梯形图在CX-Programmer中编程的方式是一样的。对于熟悉CX-Programmer的用户来说,这种编程方式是简单易学的。2.高级语言(ST语言)功能块:ST语言是一种用于工业控制的高级语言,是类似VB、VC的高级语言。熟悉这种语言的用户同样可以用它创建ST功能块,用高级语言可以实现复杂的数据处理过程和控制过程。1.2功能块(FB)使用特点1.相似控制功能“模块”化。在一些繁冗的程序中,如果其中有一些控制过程是类似的,那么用户可以把这些类似的控制过程定义为“模块”。这样,每次需要实现这些控制功能时,就不用重复写很多条程序,只要调用用户自定义的“模块”就可以了。把这些控制功能“模块”化,使得编程工作更清晰,更简便,更易于管理。2.数字运算过程简单化。使用功能块中ST语言编程,能够处理更复杂的算术运算。原来要在PLC中处理数字量,需要编写梯形图来进行算术运算,一步程序也只能完成一个算法,要完成复杂的算法需要编写很多程序。现在用ST语言,就可以用精简的高级语言编写复杂的算术运算过程。3.CX-P软件自带FB库。CX-Programmer软件自带FB库,用户可以根据需要调用FB库中自带的功能块。FB库让用户无需编辑梯形图,就可以使用PLC单元和元器件的基本功能,并且易于使用,无需程序调试,简单易懂,具可扩展性。4.编程操作更简单。功能块的调用、编辑、删除就象对指令的操作一样简单。编辑功能块内部的程序也很简便,只需找到相对应的功能块,就可以在“块”的内部进行程序的编辑,而不需要在繁冗的程序中查找修改。5.程序检查更容易。功能块程序的检查很方便,只要在“块”中检查程序的流程和可靠性即可,工作量小,检查简单。使用功能块缩短了主程序的大小,并且功能块的查找也很简单,从而使得程序的检查工作变得更容易。OMRON功能块(FB)教材2上述功能块(FB)的这些特点给用户提供了一个易于编程、管理程序、调试程序的编程环境。下面就详细介绍功能块功能的使用和操作。1.3功能块(FB)使用环境1.3.1支持FB功能的PLC类型CJ、CS、CP1H系列的PLC才支持FB功能,并且CJ、CS的CPU单元版本号需要在3.0或3.0以上。具体机型可参考下表:PLC类型CPU型号CS1G-HCS1G-CPU42H/43H/44H/45HCS1H-HCS1H-CPU63H/64H/65H/66H/67HCJ1G-HCJ1G-CPU42H/43H/44H/45HCJ1H-HCJ1H-CPU65H/66H/67HCJ1MCJ1M-CPU11/12/13/21/22/231.3.2.支持FB功能的软件需使用CX-Programmer5.0及以上版本。1.3.3CX-Programmer6.0功能块特点在CX-ONE软件中的CX-Programmer6.0,其中的FB功能有很多先进的功能,现简单介绍如下:1.在线可以察看功能块的内部程序运行情况。在CX-Programmer6.0中,用户是可以查看FB内部程序运行情况的,提高了用户对程序的查错能力。2.功能块支持嵌套。在CX-Programmer6.0中,如果创建了多个功能块,如FB1、FB2、FB3,则可以实现FB1的内部程序中调用FB2,FB2的内部程序调用FB3。梯形图FB最多支持8层嵌套,而ST语言FB则可以自由的嵌套。3.FB支持程序更新。CX-Programmer6.0中,如果更改了FB的内部程序,在调用该功能块的地方,只需更新该功能块即可。OMRON功能块(FB)教材3第二章梯形图功能块2.1梯形图功能块编程基础使用过CX-Programmer的用户都非常熟悉梯形图编程模式和编程环境。因此,CX-Programmer仍然提供了老用户熟悉的梯形图语言来创建和编辑功能块的内部程序。2.1.1梯形图功能块结构介绍梯形图功能块是由完成特定功能的程序段组成的。组成程序的每一步都有输入和输出,功能块中的输入和输出被定义成变量的这种特点,决定着它能够成为一个编程“元素”,而能够在不同的程序中被多次调用。总的来说,功能块是由变量+算法构成的。1.变量:变量是指输入、输出和内部地址,在编辑功能块的时候给这些地址一个变量名。功能块运行时,它们对应着外部的实际地址。2.算法:算法是依靠梯形图的编程来完成的。依靠算法可以完成某个特定的控制功能。举个简单的例子说明。如下图2-1所示,要实现按下开0.00开关5秒后接通输出10.00,梯形图程序如(a