欢迎来到天天文库
浏览记录
ID:33662473
大小:48.50 KB
页数:5页
时间:2019-02-28
《西门子fb块如何使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、西门子S7-300中FB功能块的使用方法:1.创建功能块FB1准备完成如下功能:将“整型”变量转换成“实型”变量2.打开功能块FB13.在功能块FB1中添加入口参数、出口参数、静态变量入口参数=IN0--->整型(INT)出口参数=OUT1--->实型(REAL)静态变量=STAT2--->整型(INT)局部变量=TEMP3--->长整型(DINT)4.创建背景数据块DB25.打开DB2背景数据块,可以看到系统默认建立了三个数据IN0--->入口参数(整型)OUT1--->出口参数(实型)STAT2--->静态变量(整型)6.打
2、开FB1功能块,编写如下代码,实现将“整型”变量转换成“实型”变量同时再编写一段静态变量自加1代码7.打开OB1主程序,添加FB1功能块如何确定程序参数类型的块编号并传送给FC?介绍使用以下程序代码可确定参数类型(BLOCK_FC,BLOCK_FB,TIMERorCOUNTER)的编号。例1:FB块FB1变量声明中定义了“Timer”类型的变量“Time_1”,FB2中调用FB1,在将定时器“T5”传递给变量“Time_1”。如图01所示程序代码中数值5表示“T5”。图.01例2FCFC1变量声明中定义了“Timer”类型的变量
3、“Time_1”,FC2中调用FC1,在将定时器“T8”传递给变量“Time_1”。如图02所示程序代码中数值8表示“T8”。图.02在使用多重实例时,需要在图01所示程序中增加以下代码:TAR2LAR1P##Time_1+AR1LW[AR1,P#0.0]TMW00//多重实例偏移地址//多重实例偏移地址与当前地址相加“BLOCK_DB”类型参数在调用FC时不可以直接传送给FC。如果在调用功能时试图使用此参数类型,将产生如下的错误消息:“非法的参数传输<参数名>”非法的参数传输<参数名>“BLOCK_DB”类型参数仅在FB被调用
4、(从一个FB或FC中)时可被传送。“BLOCK_DB”类型参数不可以在FC被调用(从一个FB或FC中)时可被传送。相关详细信息可参考STEP7在线帮助中“合法的传输参数类型”。然而,如果希望将BLOCK_DB参数类型传送给FC,DB块的编号可以通过基本数据类型(例如WORD)传送。在下面的例子中,FB100拥有一个“BLOCK_DB”的输入参数类型。为了在调用FC101时将参数传送给它,“BLOCK_DB”中的DB块编号被传送给WORD临时变量(DB_No)。FC被当调用,数据块序号以一个WORD参数类型替代BLOCK_DB参数
5、类型。图.03如果FB的接口参数能被定义成WORD参数类型来传送DB块编号,当FC被调用时,此参数可以被直接传送给FC。如何生成和更新多重背景?显示订货号说明:如果在结构化编程时经常使用功能块,那么在每次调用FB时都要为其指定一个单独的背景数据块。对于非常小的FB,它的背景数据块经常由很少的几个字组成。当频繁调用和指定背景数据块给这些小的FB时,程序会变得非常不清晰,或者DB块的数量会达到CPU所支持的最大数量。由于一个背景数据块可以长于FB实际需要的长度,因此多个背景数据块可以合并成一个多重背景。但是,这种合并必须在一个FB中
6、通过编程完成。1.表1:编程多重背景和更新修改过的背景2.表2:对已经存在的FB多重背景能力的后续声明表1:编程多重背景和更新修改过的背景步过程:骤1在SIMATICManager中,打开你希望生成多重背景的FB。在静态变量定义部分,输入多重背景的名字,数据类型为FB或SFB。图12在程序中调用多重背景,可以在多重背景中的目录中选择托拽它到NETWORK中,也可以用CALL指令调用它。图2STEP在STEP7V5.4SP2中请注意:如果在LAD/FBD编辑器的目录视图中多重背景未被列出,推荐在静态变量声明中先插入一个功能块,然后
7、再删除它。这样多重背景就再次可以被选择。3现在设置程序块的输入和输出并保存。就可以在程序(例如OB1)中使用多重背景来调用FB。创建一个背景数据块以供监控。注意:当生成多重背景时,如其在FB中作为一个多重背景被调用,注意要首先生成它,然后再指定一个多重背景调用。如果不遵从这个顺序,程序中将会出现不一致的情况,这种不一致的情况也有可能在修改多重背景后出现。4一旦修改过了多重背景,并打开调用它的功能块。当功能块被打开时,会出现一个消息显示在FB接口声明中有一个UDT或本地标签的被修改,并显示在功能块调用中至少有一个时间标签冲突。确认
8、此信息,修改过的背景调用在LAD/STL/FBD编辑器中将会以亮红色显示。为了更新功能块调用,右击功能块,然后在弹出菜单中选择“UpdateBlockCall...”。图35在后续的对话框中,点击OK来执行接口更新。图4在STEP7V5.3中的注意事项:当尝试通
此文档下载收益归作者所有