




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录第一章 功能块(FB)编程概述 11.1 功能块(FB)简介 11.2 功能块(FB)使用特点 11.3 功能块(FB)使用环境 21.3.1 支持FB功能的PLC类型 21.3.2 .支持FB功能的软件 21.3.3 CX-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.
2、3.3 保存梯形图 FB 112.3.4 调试梯形图FB 122.4 FB存分配注意事项 13第三章高级语言(ST语言)功能块153.1 ST语言功能块编程基础 153.1.1 高级语言编程概念 153.1.2 ST 语言编程特点 153.2 ST语言编程系统介绍 163.2.1 ST 语言常用运算符 173.2.2 ST 语言基本命令 183.2.3 ST 语言编程规则 213.3 创建ST语言FB 223.4 ST语言FB的使用 243.4.1 调用ST语言FB 243.4.2 ST语言FB的嵌套 243.4.3 ST语言FB的保存和调试 25第四章功能块一一FB库264.1 FB库概述
3、264.1.1 FB 库特点 264.1.2 FB库应用简介 264.2 FB库容介绍 284.2.1 FB库容简介 284.2.2 FB库功能分类 284.3 FB库功能块使用 294.3.1 创建FB库中的功能块 294.3.2 阅览FB库中的功能块程序 304.3.3 调用FB库中的功能块 30第五章功能块应用示例 31附录一:ST语言语法错误一览表 36第一章功能块(FB)编程概述OMRON编程软件CX-Programmer从5.0版本开始,增加了一个全新的编程功能一一功能块(Function Block ,简称FB)。CJ> CS CP1H系列的PLC可以使用这个功能进行编程,
4、它 大大增强了 CX-Programmer软件对PLC编程、控制和调试的能力。功能块(FB)主要提供了 梯形图和高级语言 2种编程方法,结合软件自带的功能库,给用户提供了全新的简单、高效、 集成化的编程方法和环境。1.1 功能块(FB)简介功能块(Function Block )是预先编辑或测试的程序集合,具有特定的功能要素,可嵌 入原有的梯形图中执彳T,并通过设置I/O来使用这个功能。CX-Programmer5.0以上的版本具有FB功能,并且CS CJ系列的PLC的CPim元版本号高于 3.0才支持该功能。用户可以使用2种语言创建功能块:梯形图语言和高级语言(ST语言)。1 .梯形图功能块
5、:熟悉使用梯形图编程的用户可以用这种方式创建功能块,这和使用 梯形图在CX-Programmer中编程的方式是一样的。对于熟悉CX-Programmer的用户 来说,这种编程方式是简单易学的。2 .高级语言(ST语言)功能块:ST语言是一种用于工业控制白高级语言,是类似 VR VC的高级语言。熟悉这种语言的用户同样可以用它创建ST功能块,用高级语言可以实现复杂的数据处理过程和控制过程。1.2 功能块(FB)使用特点1 .相似控制功能“模块”化。在一些繁冗的程序中,如果其中有一些控制过程是类似的,那么用户可以把这些类似的控制过程定义为“模块”。这样,每次需要实现这些控制功能时,就不用重复写很多条
6、程序,只要调用用户自定义的“模块”就可以了。 把这些控制功能“模块”化,使得编程工作更清晰,更简便,更易于管理。2 .数字运算过程简单化。 使用功能块中ST语言编程,能够处理更复杂的算术运算。原 来要在PLC中处理数字量,需要编写梯形图来进行算术运算,一步程序也只能完成 一个算法,要完成复杂的算法需要编写很多程序。现在用ST语言,就可以用精简的高级语言编写复杂的算术运算过程。3 . CX-P软件自带FB库。CX-Programmer软件自带FB库,用户可以根据需要调用FB库中自带的功能块。FB库让用户无需编辑梯形图,就可以使用PLC单元和元器件的基本功能,并且易于使用,无需程序调试,简单易懂,
7、具可扩展性。4 .编程操作更简单。 功能块的调用、编辑、删除就象对指令的操作一样简单。编辑功 能块部的程序也很简便,只需找到相对应的功能块,就可以在“块”的部进行程序 的编辑,而不需要在繁冗的程序中查找修改。5 .程序检查更容易。 功能块程序的检查很方便,只要在“块”中检查程序的流程和可 靠性即可,工作量小,检查简单。使用功能块缩短了主程序的大小,并且功能块的 查找也很简单,从而使得程序的检查工作变得更容易。上述功能块(FB)的这些特点给用户提供了一个易于编程、管理程序、调试程序的编程 环境。下面就详细介绍功能块功能的使用和操作。1.3功能块(FBB使用环境1.3.1 支持FB功能的PLC类型
8、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.3 CX-Programmer6.0 功能块特点在CX-
9、ON漱件中的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的部程序,在调用该功能 块的地方,只
10、需更新该功能块即可。第二章梯形图功能块2.1 梯形图功能块编程基础使用过 CX-Programmer的用户都非常熟悉梯形图编程模式和编程环境。因此,CX-Programmer仍然提供了老用户熟悉的梯形图语言来创建和编辑功能块的部程序。2.1.1 梯形图功能块结构介绍梯形图功能块是由完成特定功能的程序段组成的。组成程序的每一步都有输入和输出, 功能块中的输入和输出被定义成变量的这种特点,决定着它能够成为一个编程“元素”,而能够在不同的程序中被多次调用。总的来说,功能块是由变量+算法 构成的。1 .变量:变量是指输入、输出和部地址,在编辑功能块的时候给这些地址一个变量名。功能块运行时,它们对应着外
11、部的实际地址。2 .算法:算法是依靠梯形图的编程来完成的。依靠算法可以完成某个特定的控制功能。举个简单的例子说明。如下图2-1所示,要实现按下开0.00开关5秒后接通输出10.00, 梯形图程序如(a)图所示。如要把这个功能做成功能块的形式,以便今后编程时调用,必 须将其中的输入、输出甚至中间变量都定义称为变量,如(b)图所示。在每次调用功能块的时候,无需知道部结构,只要知道该FB能实现的控制功能,及输入、输出变量对应完成什么功能,就可以直接使用了(如图 2-1 (c)所示)。i.r m(b)(c)2.1.2 梯形图功能块编辑区介绍梯形图语言的编程界面如下图 2-2所示:从图上分界线来看, 可
12、以把整个操作界面分成 2个部分,上半部分 是变量设置区,下半部分 是梯形图编辑区。FB梯形图编辑区变量设置区图2-21 .变量设置区:定义变量名,包括输入变量,输出变量和部变量。其中外部变量和部 变量在使用中对应着实际的输入/输出地址。部变量是用来定义梯形图中中间变量的。外部地址提供了一些有特殊功能的,系统定义好的符号可供使用。2 .梯形图编辑区:在梯形图编辑区可以编写梯形图程序,其中的 I/O地址都使用变量 设置区设置好的变量名。2.2 创建功能块用户在编写主程序时,一旦要用到FB功能,需要根据要求先创建功能块。使用FB功能的步骤基本上为(如下图2-3所示):新建功能块一定义功能块变量一编写
13、FB部程序一调用功能块一定义功能块的 I/O地址。无论使用梯形图 FB还是ST语言FB,基本步骤都是相同 的,只是其中对程序的编辑方式会有所不同,下面将详细介绍一下如何使用FB功能。图2-32.2.1 新建梯形图FB在“新PLC'目录下,可以看到“功能块”子目录,包含有这个子目录的PLC才支持FB功能。右击“功能块”,选择“插入梯形图功能块”就创建了一个梯形图功能块,并且创建 的功能块就在“功能块”目录下。J闵-凄新工程-奖野PLCimM公线 城府耳 0ID. 面设置 内存-程庠-4奇程序1 oom 品符号 明匿1 日EUI国络柏文主卷> ?.t' Hl_从文件任).整贴
14、瑁除w;尤评得拓1,1电藤QO上窗口:部动色囱届性。图2-42.2.2定义功能块变量创建了一个梯形图 FB后,默认的FB名称为“功能块1”,双击它就进入梯形图 FB编程 界面。在编程界面的上方,是变量设置区。在功能块的程序中, 地址不是实际的I/O地址,而是使用变量名作为地址。在实际使用功能块的时候,再将实际的I/O地址和变量一一对应起来。在这点上功能块是不同与子程序 的,功能块中的地址是变量名,可以随着程序的改变,使用要求的改变而改变。图2-5变量设置区列出了变量的用法、名称、属性等信息。该区域包含了4个部分:部变量、输入变量、输出变量、外部变量。1 .部变量:部变量只被用于功能块程序部。它
15、不能够通过实际的I/O地址来进行动作。相当于常说的中间变量。2 .输入变量:输入变量可以和实际的I/O输入地址对应起来,通过实际的 I/O输入来控制功能块的输入。系统默认的输入变量是“EN',表示只有当“ EM条彳为ON的时候,功能块其它输入变量才得到外部的输入地址的输入信号。3 .输出变量:输出变量可以和实际的I/O输出地址对应起来,实际的 I/O输出可以通过输出变量得到输出信号。4 .外部变量:外部地址是常用的一些系统定义好的变量地址。它们在 CX-Programmer的程 序段中也可以使用。在“符号”中可以找到其中一些地址。当然,用户在“全局符号” 中定义的符号在“外部变量”中也
16、可以找到。在4类变量中可以定义各自的变量。定义变量时需要设置变量的属性,下面介绍一 下定义变量时的属性设置:图2-61)名称:即变量名,是用来定义功能块中变量的。在不同的功能块中可使用同样的变量名。2) 数据类型:功能块提供如下数据类型可供使用。表2-1定义变量可使用的数据类型列表数据类型类型含义数据占用空间输入变 量输出变 量部变 量BOOL位1位OKOKOKINT整型16位OKOKOKUNIT无符号整型16位OKOKOKDINT有符号双字32位OKOKOKUDINT无符号双字32位OKOKOKLINT有符号长整型(4字)64位OKOKOKULINT无符号长整型(4字)64位OKOKOKWO
17、RD字16位OKOKOKDWORD双字32位OKOKOKLWORD长字64位OKOKOKREAL实型32位OKOKOKLREAL长实型64位OKOKOKTIMER计时器型1字(标志位占1位)NONOOKCOUNTER '计数器型1字(标志位占1位)NONOOK3) 使用:定义变量为部变量、输入变量、输出变量、外部变量其中之一。4) 初始值:选择变量的初始状态。变量是位地址时,初始状态为 ON/OFE变量地址是字 地址时,初始状态是设定通道的初始值。5) 注释:可以为变量名添加一些注释。2.2.3 编写FB梯形图如图2-2所示,FB的梯形图需要在下方的梯形图编辑区中进行编写。FB的梯形图
18、和主程序中的梯形图的区别在于:FB梯形图中的地址都是以变量名的方式定义的,而主体程序中的地址都对应着实际的地址。现以图2-1的梯形图为例,说明如何创建实现该功能的FB梯形图。创建FB梯形图的步骤如下图 2-7所示:1 .列出输入/输出点:将原来梯形图中的表示输入和输出的地址列出来。2 .将输入/输出地址转换成变量名:将原来输入/输出的I/O地址定义一个变量名。不同的控制对象需要选择不同的数据类型。例如程序中定义输入点0.00的变量名为a,数据类型为BOOL T0000的变量名为b,数据类型为TIMER;输出点的变量名 为c,数据类型为BOOL3 .编写FB梯形图:编写的方式和主体程序的编写方式
19、几乎一样。区别在于,需要将原来的实际地址转换成变量名。例如 TIM指令,原来的写法是 TIM 0000 #50,FB程 序就应该写成TIM C #50。以上看来,在FB梯形图编辑区编写梯形图和主体程序编写梯形图的方法几乎一样,并且也可以调用工具栏上的快捷工具来进行程序的编写。只要在输地址的地方键入变量名即可。2.3使用功能块2.3.1 调用梯形图功能块创建好梯形图FB后,在主体程序中就可以调用该功能块了。下面将调用以上创建好的 梯形图FB作为例子进行说明。功福戮1图2-7(BOOL)(EOOL)图2-81 .先定义一个I/O地址用来启动梯形图 FB,所示的开关0.00用于启动功能块。如果0.0
20、0 为ON执行功能块中白程序,如果 0.00为OFR不执行功能块程序。2 .然后调用工具栏上的“功能块”按钮寻创建一个新功能块。选择已经创建好的功能块并取名“延时5秒”。因为功能块和开关、指令、输出线圈一样,在程序中就是一个“元 素”,所以这个起了名称的“元素”将会登记到“符号”目录的列表中。(所以,在删除创建的功能块的时候,必须在“符号”列表中将该功能块对应的“符号”删除,才能删 除梯形图FB这个对象。3 .调用好创建的功能块后,需要给输入、输出变量定义一个实际的I/O地址。使用“功能块参数”按钮 在给变量定义I/O地址。如图中 处,赋给输入变量 a地址1.00,处, 赋给输出变量c地址10
21、.00。由上述调用功能块的步骤可以看出:调用功能块首先要设置EN的控制地址用来启用功能块,然后定义输入、输出变量的地址就完成了调用。使用者不需要知道功能块部 的程序具体是怎样的,只要知道功能块的功能以及输入、输出控制的定义,即可使用。 并且一个功能块在同一个程序中可以被多次调用,只要将输入、输出的地址改变一下就 可以了,所以说 FB的调用是非常简便的。2.3.2 梯形图FB的嵌套编写好梯形图FB的部程序后,基本创建了一个完整的功能块。但在编写一些工业控制程序时,仅使用一个功能块的情况是非常少的。并且,如果控制功能多样复杂,简单的调用也 不能够满足需要,这时,功能块的嵌套功能就非常必要。下面主要
22、介绍一下如何使用功能块嵌套功能。要使用FB的嵌套功能,至少需要创建 2个或2个以上的功能块。下面创建 2个功能块: FB1要求:输入接通后延时 n秒后接通输出。FB2要求,对延时时间 n进行判断,如果超过 100秒,则报警输出接通。嵌套功能需实现在 FB1中嵌套FB2,完成输入接通n秒后接通输 出,如果用户输入的时间超过 100秒,输出报警。要实现在FB1中嵌套FB2,先要创建FB2,然后在创建FB1部程序中才可以调用 FB1。下 面列出FB2的变量和部程序:表2-2 功能块2变量列表功能块变量类别变量名数据类型变量说明功能块2输入变量aINT用户定义的延时时间输出变量bBOOL超时报警点CU
23、T D02»l-匕第*此现蟠;naw匕匕技僦?r_CT大于U标志图2-9 (FB2吾B程序)建立了 FB2后,开始创建FB1,在FB1中调用FB2,只需将FB2看成像“指令” 一样的FB1程序元素那样调用就可以了,调用的同时功能块会自动登陆到变量列表中。下面列出了 的变量和部程序:图2-10 (FB1部程序)至方瑞.定时期号表2-3 功能块1变量列表功能块变量类别变量名数据类型变量说明功能块1输入变量输入BOOL用来控制输出的输入点时间值INT用户定义的延时时间部变量nTIMER定时器号时间判断FB电能块2>调用的FB2输出变量输出BOOL延时输出点输出报警BOOL超时报警点F
24、BI, FB2的创建完成后,就可以在主程序中直接调用FB1。在输入时间的地址,一旦输入时间大于100秒,输出报警位就会置“ ONL主程序部分如下图 2-10所示,0.00延时接通1.00 , 0.01延时接通1.01。延时的时间值分别放在D0和D10通道中,当其中的时间值超过100秒,报警点50.00或者50.01就会输入报警。功能期20 »呼嘴1 1-0.00物嚼B1.00叫W.QO5 A:功能以1Z). 01髀唯1-l.Dl.既1 0Lmo图2-11 (主程序部分)2.3.3 保存梯形图FB如下图2-12所示,可以将编辑好的功能块单独保存起来,文件名为( *.cxf )。这样,
25、如果用户创建好功能块后,今后也可以在不同的程序中进行调用。-再鼾工程用再后yf TO 表避置菊问得-魄程可-西新号字:瓜言符导司制争加-0见.出蛔打开妙2.3.4 调试梯形图FB对于CJ、CS系列的PLC的程序调试,无需连接到真正的PLC上,在CX-Programmer软件中可以通过仿真功能,就可以对梯形图程序进行监控。监控功能不仅能实现对程序使用的位和通道进行监控,同样也能对调用的功能块进行监控。要监控功能块,在仿真状态,双击调用的功能块或者右击该功能块,选择监控功能块梯形图实例就可转换到监控 FB的界面。在监控FB的界面,可以完成监控FB中的位和通道, 改变PV值,强制置位/复位等操作。监
26、控的操作步骤如下:1 .选择PLC 一 工作在线仿真器,模拟下传程序后,就可以对程序进行在线仿真的 调试工作了;2 .选择视图一窗口 一查看,打开查看窗口。3 .在主程序中选择调用的功能块,在弹出的菜单中选择在查看窗口中注册,在弹出的对话框中“用法”和“数据类型”选择 全部。所有功能块中的变量都被登记在查 看窗口中,用户可以根据需要来进行调试。如图 2-13所示:访能战富罩注助皿VHri朝回磔T用二亶QJ盾噩爵房更型皿匡部TTHEE图 2-134 .双击主程序中的功能块实仞就可以进入监控FB的部程序的界面。5 .用户可根据需要对位进行置位/复位,改变通道的 PV值等操作。整个操作过程可以参考下
27、图2-14:吊岬口即in wmrh vrifKftwAc*Copy th* kiutMcafindpAEtsi I lntiiA WiitehW li dew.OfRWit-cIc*. m row h th£ WM6 WhMw 时idMlod 的E1伸,厢删i就图 2-142.4 FB存分配注意事项前面介绍了功能块的创建以及使用方法,在创建和使用的过程中,熟悉了FB的结构以后,下面介绍一下使用 FB功能的存分配需要注意的事项。创建了功能块以后,在主程序里调用创建的功能块,在主程序中被调用的FB我们称作“功能块实例”或者简称“实例”。并且要对引用的FB进行命名,如下图2-15所示:图
28、2-15创建的功能块如果没有被调用,那么执行主程序的时候不会执行该功能块,同时,PLC也不会分配该功能块的I/O地址。一旦程序中调用了功能块,那么PLC将会自动分配一部分I/O存供FB实例运行使用。主程序可以对同一个FB进行多次调用,如果实例的名称一样,则占用的I/O存一样,如果实例的名称不一致,则 PLC分配不同的I/O地址给不同的实例。所以说实例的I/O分配是否相同,是根据实例的名称决定的,具体情况如下图2-16所示:Not yet in program and memo yet oibcabed (BtatTM).Biock jnsiance hprogran with manwry a
29、llocated, (objscqIIIIFuidion Blcxc Definition FH1ProgramInscanceIrterra F0i中 理仙阳中 btogk definiicri F012. ParametersTM AlmguH 手M pHEAflM 0ItfBhIL-1. AlgcxilhnnOutput d9ta2 otjuncSpr btock dgftnifonAutomaliic aJlocationAmgiicalocatknV-rxr lor FB1_2Diifef ent JO data canbepwged with th Barns function.图
30、 2-16PLC 自动分配一部分存给 FB实例供其运行,并且自动分配 H区的I/O供功能块实例运 行。用户也也可自己设定供 FB实例使用的I/O地址。选择PLC 一功能块存一功能块存 分配来进行设定,如下图 2-17所示:图 2-18图 2-17双击“起始地址”或者“结束地址”,就可选择分配给功能块实例的存区,然后输入起 始地址和结束地址。 然后在主程序编程中, 就需要注意不要使用这些已经分配给功能块实例 的地址作为编程的部地址来使用。在编程时,主程序编写完成后,可以查看当前程序占用了多少存。通过视图一存视图一功能块存分配,可以查看当前程序占用了多少存,其中功能块占用了多少以及还剩 下多少存。
31、如下图 2-18所示:第三章高级语言(ST语言)功能块3.1 ST语言功能块编程基础3.1.1 高级语言编程概念ST语言(Structure Text Language)是一种用于工业控制的高级语言。它类似于PASCAL语言,有选择语句或者循环语句等这些语言结构。通过使用这些语言结构来编写控制程序。一个的ST程序由多条语句组成,一个语句由变量和表达式组成。1 .表达式:表达式是包含着算法和操作数的序列。算法包括逻辑运算、算术运算、比较运 算等算法。2 .语句:语句是由表达式构成的,可以分为赋值语句或者控制语句。赋值语句中包含着表达式的计算结果这个信息。控制语句包含选择语句、循环语句、条件语句等
32、。卜面举例说明上述概念,图3-13.1.2 ST语言编程特点用户除了可以创建梯形图 FB之外,熟悉高级语言编程的技术人员还可以创建ST语言的FB。CX-Programmer为熟悉不同编程语言的用户提供了不同的编程平台。这样,懂 得高级语言的用户编写好复杂的ST语言功能块后,其它用户甚至是不熟悉 ST语言的操作人员也可以使用该功能块,这样就大大降低了操作人员对编程语言的限制。另外,使用高级语言编程,可以轻松完成复杂的算术运算。如果用梯形图语言编辑复杂的算术运算功能,会写很多条程序,占用更多的程序容量。如果用ST语言来写,用表达式就可以代替梯形图复杂的程序。例如:圆柱体容器的体积公式为V= r2h
33、,如果要计算其中液体的体积,用梯形图编程程序如下图所示:图3-2hhxr2r2h如果改用ST语言编写的话,程序如下:V: ( *(expt(r,2)* h);公式(3-1 )用梯形图语言编程,需要写 4-6步程序,而且操作数较多,不便于管理和修改。而 使用ST语言,只要写好表达式即可。所以说,对于含有复杂的算术运算的控制程序, 使用ST语言编程有着一定的优势。下面,我们就来学习如何使用这一功能。3.2 ST语言编程系统介绍一般来说,一段程序总是由表达式和语句构成的。了解 ST语言的编程系统,就 要从表达式和语句开始。对于表达式,需要从操作符号和变量入手;而对于语句,需 要掌握它的功能和语言结构
34、。下面,我们就来介绍一下ST语言的常用运算符及基本命令。3.2.1 ST语言常用运算符ST语言能够实现的算术运算除了基本的加、减、乘、除之外,还能实现一些复杂的函数 运算,例如指数、正(余)弦函数、对数函数等。下面我们就来熟悉一下这些运算符号及用 法。1 .基本运算符基本运算符包括简单的加、减、乘、除、比较及一些逻辑关系的表达符号。这些符 号的使用比较简单,使用这些符号可以实现一些不太复杂的运算要求。具体的规则及使 用方法可以参考下表:表3-1基本运算符运算功能操作符号应用示例加十A+B (其中A,B为变量)减一A-B乘*A*B除/A/B比较<,>,<=,>=A>
35、B, A<B, A<=B, A>=B=A=B逻辑与&,ANDA&B, A AND B补NOTA NOT B逻辑或ORA OR B异或XORA XOR B这些运算符的使用是很简单的,但在使用这些运算的过程中要注意参加运算的变量的类型。例如除法运算,如果 A、B为INT类型,A=3,B=2,那么A/B的结果就是1;如果A、B为 REAL类型,那么运算结果就为1.5。所以要根据运算要求选择适当的变量类型。2 .函数运算符函数运算符包括指数运算、正(余)弦运算、对数函数等符号。这些符号的使用相对复杂,使用这些符号可以实现要求更高的运算。具体的规则及使用方法可以参考下表
36、:表3-2函数运算符函数功能函数符号应用示例功能绝对值ABSa:=ABS(b)a=|b|方根运算SQRTa:=SQRT(b)a = b b自然指数EXPa:=EXP(b)b a = e常用指数EXPTa:=EXPT(b,c)ca= b自然对数LNa:=LN(b)a= log eb常用对数LOGa:=LOG(b)a= log 10b正弦函数SINa:=SIN(b)a = sin (b)余弦函数COSa:=COS(b)a= cos (b)正切函数TANa:=TAN(b)a = tan (b)反正弦ASINa:=ASIN(b)_ _ - -1 a = sin(b)反余弦ACOSa:=ACOS(b)-
37、1 a= cos(b)二反正切ATANa:=ATAN(b)-1a = tan(b)3 .常数表达方法熟悉了基本的运算符后,就可以编写一些表达式了。表达式中可以用变量、常量结合运算符来传递数字信息。前面我们介绍过变量的类型及表达,现在我们来了解一下 ST语言中常量的几种表示方式。常量可以用十进制、十六进制、八进制、二进制来表示,表示方法如下表所示:表3-3常量表布方法进制表达方式示例十进制数字12十六进制16#数字16#C八进制8#数字8#14二进制2#数字2#11004 .2.2 ST语言基本命令ST语言是类似于 Pascal的高级语言。只要在编辑区编写ST语言的高级程序,就可以用来实现某段控
38、制功能。对于熟悉高级语言的用户,ST语言提供了很好的编程界面,只需稍微了解一下编程规则即可掌握;对于不熟悉高级语言编程的用户,ST语言的入门也是比较容易的。下面我们介绍一下ST语言编程常用的命令。1. 求和语句(Summary求和语句是个等式,用于表达把运算总和的值赋予一个变量。表达式: 变量:=表达式/变量/常量举例:A:=X+1 ;A:=B ;A:=20;2. 条件语句(IF语句)IF语句适用于当一个特定的条件满足的时候,去执行相应的控制。如果条件不满 足,则执行另外的控制。IF语句有简单的对一个条件进行判断的程序,也有复杂的对 多个条件进行判断的程序,即嵌套语句。1) IF语句(单一条件
39、)表达式:IF<条件>THEN< 执行表达式1>ELSE< 执行表达式2>END_IF;执行流程图:图3-4举例:如果A>0,则B等于A的值,并且线圈 C有信号输出,否则 B等于0,线圈C 无信号输出。IF A>0 THENB:=A;C:=TRUE;ELSEB:=0 ;C:=FALSE;END_IF;2)IF语句(多条件嵌套)表达式1: IF<条件1> THENIF< 条件 2> THEN< 表达式1>ELSE< 表达式2>END_IF ;END_IF ;流程图1:图3-5表达式2: IF<条
40、件1> THEN表达式1;ELSIF <条件 2> THEN表达式 2;ELSIF < 条件 3> THEN表达式 3>.ELSIF < 条件 n> THEN表达式 n>ELSE表达式m>END_IF;流程图2:图3-6举例:要求如下,如果 A>0,X=10。否则, 先参考参数 B,如果B= 1,则X= 1,如果B= 2,则X=2,如果都不是,X=0.IF A>0 THEN X:=10 ;ELSIF B=1 THEN X:=1 ;ELSIF B=2 THEN X:=2 ;ELSE X:=0 ;END_IF;3 . 选择语句
41、(CASEg句)这类语句适中有一个变量, 它可选择多个值,如果选择的值不同会执行不同的控制。 我们可以这样理解, 在工业控制中要控制对某一材料的切割,由于材料硬度不同, 需要不同刀具进行切割。如:材料 1,需要用1号刀具进行切割;材料 2,需要用2号刀具进 行切割,材料3,需要用3号刀具进行切割。例如这样的控制情况就可以选用CASE语句。表达式: CASE整型变量> OF1:<表达式1>2:<表达式2>N:表达式N>ELSE表达式M>END_CAS; E举例:CASE A OF 1:X:=1 ;2:X:=2 ;3:X:=3 ;ELSE Y:=0 ;EN
42、D_CASE4 .2.3 ST语言编程规则ST 语言编程有一些规则需要注意。在我们学会写一些简单的控制语句后,编译功能块后仍然会出现错误,所以在掌握了基本的编程符号和语句之后,也需要知道ST语言的编程语法和规则。1 .每个完整的表达式后要用“;”号结尾。而对于语句来说,不是每句后面都要加“;”,所以需要注意什么地方应该加“;”,什么地方不该加“;2 .如果一个变量被定义成整型,那么不能被写成有小数点的形式。如果一个变量被定义成 实型,那么这个变量不能被写成整数类型。例如:如果A为整型,就不能写成 A:=2.0。如果A为实型,就不能写成 A:二2。3 .布尔类型的变量的 ON OFF状态要用TR
43、UE FALSE来表示。如果 a是BOO域量,不能 用 a:=ON(OFF), a:=1(0) 来表示它的状态,要写成 a:=TRUE(FALSE)。4 .表达式前后的变量类型要一致。例如C=A+B,如果A B、C都是整型,就不会有错误。如果C是实型,则会出现语法错误。当功能块程序不能通过编译的话,也可以通过查询错误代码来判断发生了什么语法错 误。详细情况,可以参考 附录一:ST语言错误代码。3.3创建ST语言FBST 语言功能块的创建和梯形图功能块的调用基本一样,基本步骤为:新建 ST语言功能块一定义功能块变量一编写 FB部程序一调用功能块一定义功能块的 I/O地址,如下图3-7 所示。和创
44、建梯形图FB的步骤基本一致,唯一不同的是编写 FB部程序需要是使用 ST语言。新建功能块创建一个新的FB项目1Frr定义FB变量定义FB程序地址变量11编写FB程序一用ST语言编写程序:可1F调用FB在主程序中调用功能块L.1定义I/O -定义主程序FB的变量地址LST语言图3-73.3.1 新建ST语言FB新建ST语言功能块与新建梯形图功能块的过程类似,只需在创建功能块的时候,选择 “结构文本”,即选择用ST语言建立FB部程序。如下图3-8所示。因迪新工程-D 硼LCIHT1N富诺品百十0叩表 国班%朝程星:dtn .W杼号推,珈歌(I)可梯空曲区格:折咕豆M.从文行值,他期吧!此施展jy把
45、卉麻肿皿1灯需回主窗口上浮却欠1&屉性|Q)|图3-83.3.2 定义ST语言FB变量ST语言功能块的编辑区如下图所示。J.M 击亘1月密阳* flu t Q 0 O内即/砂守新程序1 Hr 1修: 国QUD. Q ItKif.野荒朝11;优IKMNJOPJX曰阻工rKEa0。Lg0 0尸辱T N 月E夕前 变量设置区ST语言编程区图3-9ST语言的变量设置和梯形图FB中参数设置一致。此处不再赘述。3.3.3 编写ST语言FB程序ST语言的编辑写在变量设置区的下方。原来在梯形图FB的编辑界面是梯形图编辑界面, 在ST语言功能块的编辑区是文本区,可以编写高级语言程序。例如:要计算的圆柱体
46、容积,数学公式为V= r2h,除了定义变量r和h之外,根据前面学的 ST语言符号和函数,在 ST 语言编程区写入如下公式即可:V: ( *(expt(r,2)* h);公式(3-1 )3.4 ST语言FB的使用3.4.1 调用ST语言FBST 语言功能块的调用和梯形图功能块的调用基本一致。只要给出功能块的输入地址和输出地址即可。如调用上述计算圆柱体容积的功能块,如图 3-10所示:调用功能块后,给出变量 r的地址DQ h的地址D5,体积V的地址为D1Q需要注意, 示例中变量类型为实型,不同变量的地址不能使用同一存区中连续的地址,如:r、h、V不能使用DR D1、D2,因为实型数据要占用连续 2
47、-8个通道(根据实型类型不同,数据长度 有所变化),所以需要适当的分配输入、输出通道。3.4.2 ST语言FB的嵌套梯形图FB的嵌套前面已经学习过, ST语言FB同样也支持嵌套功能。在梯形图 FB中可 以嵌套ST语言FB;同样,在ST语言FB中也可以嵌套梯形图 FB。如下图3-11所示:主程 序调用FB1,在FB1中嵌套FB2。FB1为ST语言功能块,FB2为ST语言FB或者梯形图FB。Ptogramlnslance_FBl一.FBI (ST)Example: Imstanra.Feaf|;111FB1-图 3-11但是ST语言FB调用嵌套FB的语法和使用梯形图 FB嵌套的语法是不一样的。 下
48、面列出使用ST语言FB嵌套的语法:1 .需要使能位(EN)FB2 名称(EN:=A,FB2_IN1:= FB1_IN1, FB2_IN2:= FB1_IN2 FB2_OUT1=> FB1_OUT1, FB2_OUT2=> FB1_OUT2);2 .不需要使能位(EN)FB2 名称(FB2_IN1:= FB1_IN1, FB2_IN2:= FB1_IN2 FB2_OUT1=> FB1_OUT1, FB2_OUT2=> FB1_OUT2);3 .4.3 ST语言FB的保存和调试ST 语言FB的保存、调试和梯形图语言FB的保存、调试的操作步骤是一样的。需要注意的是:在主程序中
49、调用 ST语言功能块的话,双击主程序中的FB,进入监控FB的界面后,ST语言的运行过程是无法监控的。如果ST语言FB中有嵌套梯形图FB的话,可以使用工具栏上“监视功能块梯形图实例”图标 痣来实现对嵌套梯形图 FB的监控。第四章功能块一一FB库4.1 FB库概述CX-Programmer6.0软件有自带的功能块,当用OMRONj PLC和FA元器件以不同的联网方式通信,来完成一些控制功能的时候,就可以直接调用这些已经做好的功能块。这些 CX-P自带的功能块,我们称为 FB库。4.1.1 FB库特点CX-P 提供的标准FB库便于OMRON PLC连接到元器件产品, 提高了 PLC单元和元器件之间的
50、连贯性。下面我们了解一下使用FB库的特点:1 .编程简化。用户无需再去编写程序来实现FB库可以实现的功能,只要直接调用FB库中的文件即可。节省了编程的时间,使得编程更容易。2 .使用简单,容易理解。即使用户不知道FB文件的程序是如何编写的,只要了解输入、输出地址的定义, 正确的分配功能块的控制地址就可以了。FB库中的文件明确、 详细的列出了每个变量的控制定义,和整个功能块实现的控制功能。用户使用中一有疑问,查 阅相关帮助即可理解。输入、输出分列在两边,清 晰易见。变量定义也分别给出,容易解读。油晋福品 UKI J No皿喂NO 01BIN)图4-13 .无需测试。FB库中的功能块程序都通过了O
51、MRO的检测,用户无需测试直接可以使用。4.1.2 FB库应用简介CJ/CS1系列的PLC,通过串行通信的方式(RS232 RS422/485)或者DeviceNet网络到OMRONJ元器件(如温控器)。如果要对元器件进行读操作(如读取温控器当前温度值PV)或者写操作(如设定温控器的温度设定值SV),可以在FB库中调用该元器件实现该功能的功能块。例如(如下图4-2所示):要实现PLC读取温控器的 PV值,直接调用 FB库中的“_E5xx202_ReadPV10功能块,设置对应读取地址即可。无需再编写相应的通信程序。同 样,(如图4-3所示)PLC以DeviceNet的方式链和变频器从站进行通信
52、,也可以通过调用 功能块直接实现。S*rjl oomnw 匚汨门置Conipowa-y.F pracOwon Componsfiis图4-2DevnzeHe4图4-34.2 FB库容介绍4.2.1 FB库容简介的文件。FB库中的功能块能够实现欧姆龙的PLC对元器CX-Programmer的安装目录下,下面列出了FB库的FB库中功能块文件都是*.cxf件基本和重要的控制要求。这些文件在 容及基本结构。FBLDlWOffOiCodeReacer2DCRInverterINVRTMetZXLLaserSensar CLKCPUETNSCxUNITPos:iDn ConlrollerNCFNCxRem
53、otelOSmartEORFIDSRVSeruDCrverE5DRE5CNE5ZNVisionSenscrT emperalureContra erSerialDNetSerialSerialNetSerial图4-44.2.2 FB库功能分类各个目录下的功能块完成的FB 库的结构是按照元器件及各种联网方式来进行分类的。卜面对各个目录下功能块功能也不一样。用户可以参考对应功能块的参考手册来进行使用。 实现的功能进行分类介绍。1. CodeReader目录:包含对二维读码器的基本读操作。2. Inverter目录:控制变频器(3G3MV 3G3RV的起停,读取或者设置变频器的参数。3. Laser Sensor目录:读取光电传感器的参数,或者设置光电传感器。4. PLC目录:PLC目录有5个子目录,包含了 PLC可以通过不同的联网方式和元器件进行 通信的功能块。CLK :对PLC的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 探讨2025年公共营养师考试中的食品安全问题试题及答案
- 系统规划与管理师考试中的团队协作能力培养试题及答案
- 初二物理训练试题及答案
- 情感能力测试题及答案
- 2025年公共卫生执业医师考试突破瓶颈试题及答案
- 税收征管信息化建设试题及答案
- 分子免疫学试题及答案
- 教师资格笔试考试复习试题及答案研究
- 母猪病理特征与护理措施测试题及答案
- 应对职业倦怠的心理策略测试题试题及答案
- 日常安全生产检查记录表格
- 第二讲旧石器时代课件
- GB/T 12227-2005通用阀门球墨铸铁件技术条件
- GA/T 1769-2021移动警务PKI系统总体技术要求
- 实相般若波罗蜜经
- (更新版)中国移动政企行业认证题库大全-下(判断题汇总)
- 上海交通大学医学院附属仁济医院-日间手术管理信息化实践与发展
- 2021年湖北理工学院辅导员招聘考试题库及答案解析
- 消防设备设施维护保养台账
- 员工岗位技能考核评定表
- 普通冲床设备日常点检标准作业指导书
评论
0/150
提交评论