西门子功能块的调用与多重背景数据模型-PPT.ppt

上传人:可**** 文档编号:92785865 上传时间:2023-06-14 格式:PPT 页数:26 大小:488KB
返回 下载 相关 举报
西门子功能块的调用与多重背景数据模型-PPT.ppt_第1页
第1页 / 共26页
西门子功能块的调用与多重背景数据模型-PPT.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《西门子功能块的调用与多重背景数据模型-PPT.ppt》由会员分享,可在线阅读,更多相关《西门子功能块的调用与多重背景数据模型-PPT.ppt(26页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、西门子功能块的调用与多重背景数据模型西门子功能块的调用与多重背景数据模型用于结构化编程的块用于结构化编程的块整个任务的整个任务的 模块化模块化:l单个任务在各自块中单个任务在各自块中予以解决予以解决 l参数分配法使得参数分配法使得 使用更加灵活使用更加灵活示例:钻孔循环程序的钻孔深度为可分配参数块的可再利用性能:块的可再利用性能:l块可以按需要随时块可以按需要随时 加以调用加以调用 l限制因素:限制因素:不允许访问 全局地址空间只能通过参数列表 进行通信OB 1电机电机1FB1阀阀FB2控制器控制器FB10FC 5限制限制 阀阀复制复制SFC.CALL FB1,DB2 Start:=I 0.0

2、 Stop:=I 0.1 Motor_on:=Q12.0 Speed:=QW14.FB 1地址声明名称类型0.0inStartBOOL0.1inStopBOOL2.0outMotor_onBOOL4.0outSpeedINT6.0statSpeed_oldINT0.0temp Calc_1INT.A#StartAN#Stop=#Motor_on.DB 2OB 1STEP 7 块概述块概述属性属性组织块(OB)-用户程序接口-优先级(0到27)-在局部数据堆栈中指定开始信息块的类型块的类型功能块(FB)-参数可分配(可以在调用时分配参数)-具有(收回)存储空间(静态变量)功能(FC)-参数可分配

3、(必须在调用时分配参数)-基本上没有存储空间(只有临时变量)数据块(DB)-结构化的局部数据存储(背景数据块DB)-结构化的全局数据存储(在整个程序中有效)系统功能块(SFB)-FB(具有存储空间),存储在CPU的操作系统中并可由用户调用系统功能(SFC)-FB(无存储空间),存储在CPU的操作系统中并可由用户调用系统数据块(SDB)-用于配置数据和参数的数据块功能及功能块中的参数声明功能及功能块中的参数声明MotorENENOStart地址地址声明声明名称名称类型类型初始化值初始化值.0.0输入输入StartBOOLFALSE0.1输入输入StopBOOLTRUE2.0输入输入SpeedIN

4、T02.0输出输出Motor_onBOOLFALSE8.0输出输出SetpointINT010.0输入输入/输出输出 EMER_OFF BOOLFALSE.静态静态.临时临时.SetpointEMER_OFFMotor_onStop输入输入参数参数输入输入/输出输出参数参数输出输出参数参数参数是信息传递的通道参数是信息传递的通道l输入参数:输入参数:Caller-Blockl输出参数:输出参数:Block-Callerl输入输入/输出参数:输出参数:Caller Block参数形成了块的一个参数形成了块的一个“shell”:l参数位于代码段参数位于代码段 与与“局部局部”变量类似变量类似 l参

5、数可以为任何数据类型参数可以为任何数据类型在调用期间进行数据类型检查例外情况:POINTER,ANYl调用接口与编程语言无关调用接口与编程语言无关PLC编程语言可以混合使用 Speed功能的属性功能的属性参数可分配的块:参数可分配的块:l具有足够多的输入,输出,输入具有足够多的输入,输出,输入/输出参数输出参数l无存储区,也即只有临时变量无存储区,也即只有临时变量IEC 61131-3标准一致性要求:标准一致性要求:l足够多的输入参数足够多的输入参数l仅有一个输出参数仅有一个输出参数RET_VALl不允许访问全局变量和绝对地址不允许访问全局变量和绝对地址l使用同一输入参数提供相同的结果使用同一

6、输入参数提供相同的结果扩展了处理器的指令集扩展了处理器的指令集程序程序执行执行CALL FC10On_1:=I 0.1On_2:=I 0.2Off:=Q8.0功能功能FC10输入输入On_1BOOL输入输入On_2BOOL输出输出OffBOOL.A#On_1A#On_2=#Off.基本数据类型传送机理基本数据类型传送机理 OB1功能功能FC10程序程序执行执行CALL FC10On_1:=I 0.1On_2:=I 0.2Off:=Q8.0输入输入On_1BOOL输入输入On_2BOOL输出输出OffBOOL.A#On_1A#On_2=#Off.OB1BLD 1=L 20.0UC FC 10P#

7、I0.1P#I 0.2P#Q 8.0BLD21 0 0 1 0 0 1 0.IB0基本类型实际参数位于于:基本类型实际参数位于于:l位存储地址区域位存储地址区域l过程映像过程映像l调用的局部堆栈调用的局部堆栈块参数块参数 实际参数实际参数形式参数形式参数大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点可以互相讨论下,但要小声点复杂数据类型的功能调用复杂数据类型的功能调用示例:向功能传递一个示例:向功能传递一个ARRAYDB5 TemperatureFC21只能通过符号来进行参数的赋值只能通过符号来进行参数的赋

8、值Network(段)1:在功能FC21里,声明一个数组Mes_Val CALL FC 21 Mes_Val:=Temperature.sequence调用(主调调用(主调)功能的特点功能的特点CALL指令指令l指令为宏指令指令为宏指令寄存器内容可能会被覆盖掉,甚至是DB寄存器请注意B堆栈中内容的解释调用之后,可能会打开另一个DBCALL指令的处理时间取决于实际参数的数目和存储单元位置lCALL指令确保了块参数被正确地赋予当前数据指令确保了块参数被正确地赋予当前数据l示例:示例:CALL FC10On_1:=I 0.1On_2:=I 0.2Off:=Q8.0调用指令调用指令UC和和CCl不依赖

9、于不依赖于RLO的块调用的块调用(UC)或取决于或取决于RLO的块调用的块调用示例:UC FC20或CC FC20l当当FC没有参数的时候,才可使用这些指令没有参数的时候,才可使用这些指令FB 5输入输入 StartBOOL输入输入 StopBOOL输出输出 Motor_on BOOL输出输出 SpeedINT静态静态.临时临时.A#StartAN#Stop=#Motor_on.功能块的属性功能块的属性属于可分配参数的块:属于可分配参数的块:lIEC 61131-3标准一致性块标准一致性块l有足够满足需要的输入,输出,输入有足够满足需要的输入,输出,输入/输出参数输出参数l有存储区域,即不仅有

10、临时变量而且有存储区域,即不仅有临时变量而且还有静态变量还有静态变量l使用本身数据区域进行调用使用本身数据区域进行调用(创建背景)创建背景)l“数据封装数据封装”应用:应用:l定时器和计数器功能定时器和计数器功能l使用内部状态控制过程设备使用内部状态控制过程设备锅炉电机,阀,等等。CALL FB5,DB16 Start:=I 0.0 Stop:=I 0.1 Motor_on:=Q8.0 Speed:=QW120.0 StartBOOL0.1 StopBOOL2.0 Motor_onBOOL4.0 SpeedINTDB 16电机电机构建功能块实例构建功能块实例Drive_1FBx+DByDriv

11、e_1 状状态数据态数据 控制算法控制算法OB,FB或或FC CALL FBx,DBy.l使用背景使用背景DB的的FB调用调用CALL#Motor_1.CALL#Motor_2DBx.stat Motor_1 FBxstat Motor_2 FBxDrive_2 状状态数据态数据 Drive_3 状态状态数据数据FBxFB实例实例控制算法控制算法FBDrive_2Drive_3lFB内的声明内的声明(多多重背景)重背景)在一个在一个FB调用过程中的参数传递调用过程中的参数传递 OB1 FB10程序执行程序执行CALL FB10,DB16Start:=I 0.4Stop:=I 0.0Motor_

12、on:=Q8.1Speed:=QW120.0 inStartBOOL0.1 inStopBOOL2.0 outMotor_onBOOL4.0 outSpeedINT.A#StartAN#Stop=#Motor_on.BLD3=L24.0TDB OPNDI16TAR2LD20AI0.4=DIX0.0AI0.0=DIX0.1LAR2P#DBX 0.0UCFB10LAR2LD 20ADIX 2.0=Q8.1LDIW 4TQW12TDB BLD41 0 0 1 0 0 1 0.IB01 0 0 1 0 0 1 0QB8 DB16.0 1.1123.块参数块参数实际参数实际参数形式参数形式参数.使用复杂

13、数据类型的使用复杂数据类型的FB调用过程调用过程示例:将一个示例:将一个ARRAY传送到一个功能块传送到一个功能块FB17只允许用符号对复杂参数进行相关分配只允许用符号对复杂参数进行相关分配Network 1:CALL FB 17,DB 2 Meas_1:=Temperature.Cylinder Sum_1:=MD20 Sum_2:=MD30 Meas_2:=Temperature.ShaftDB2 Temperature功能块调用的特性功能块调用的特性“按值按值”传递参数(复制数值传递参数(复制数值):):lCALL过程中过程中FB参数的赋值:参数的赋值:无需为某些FB参数赋值可以从“外部

14、”进行赋值和取消赋值 例如:直接通过操作面板进行例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及 DATE_AND_TIME)l初始化:初始化:FB参数可以在声明部分进行初始化例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及 DATE_AND_TIME)l使用使用DI和和AR2寄存器在内部访问形式参数寄存器在内部访问形式参数如果DI或者AR2寄存器被覆盖,将不再允许访问背景数据。l附加调用指令附加调用指令UC和和CC示例:UC FB20或者CC FB20只有当FB没有背景数据时才能使用(参数+静态变量)主罐瓶子传感器I 16.6瓶子传

15、感器I 16.5瓶子传感器I 16.7Q 9.0漏斗练习练习6:罐装生产线中的传送带模型:罐装生产线中的传送带模型Q 20.5 传送带正转Q 20.6 传送带反转练习练习6.1a:罐装生产线罐装生产线 工作模式选择工作模式选择生产线 ON/OFFI 0.0:Start (NO,瞬动开关)I 0.1:Stop (NC)Q8.1:Plant_on手动/自动方式I 0.4:自动/手动I 0.5:确定模式Q8.2:选定手动方式A8.3:选定自动方式FB15:“模式选择模式选择ENStart Plant_onStop OM_ManAuto_Man OM_AutoOM_activateENODB15.I

16、0.0I 0.1I 0.4I 0.5 Q8.1Q8.2Q8.3练习练习6.1b:罐装生产线罐装生产线 传送带传送带 手动方式I 0.5:正向点动I 0.6:反向点动Q20.5:传送带正向运转Q20.6:传送带反向运转自动方式I 16.6:传感器:罐装位置I 16.7:传感器:计算瓶数Q9.0:罐装启动QW12:满瓶显示FB16:“传送带控制传送带控制ENOM_Man OM_AutoConv_forJog_for Conv_backJog_backFilling_activeSensor_fillFull_bottlesSensor_fullENOQ20.5Q20.6Q9.0QW12DB16.Q

17、8.2Q8.3I 0.2I 0.3I 16.6I 16.7多重背景模型的结构多重背景模型的结构FB10钻床数据钻床数据FB10的背景的背景DBCALL Drill.CALL Motor_1.CALL Motor_2DB10.stat DrillFB1stat Motor_1 FB2stat Motor_2 FB2Motor_1的的数据数据Motor_2的的数据数据FB1FB2钻孔算法钻孔算法马达控制马达控制例如例如 OB1.CALL FB10,DB10.使用多使用多重背景模型重背景模型实现面向对象的编程实现面向对象的编程Press_2Press_1传送传送示例:冲压生产线示例:冲压生产线技术划

18、分技术划分通过通过FB背景,对程序进行背景,对程序进行技术划分技术划分FB:Press lineFB:#TransportFB:#Press_1冲压头冲压头防护装置防护装置FB:#PunchFB:#GuardFB:#Press_2FB:#PunchFB:#Guard用用STEP 7来实现一个来实现一个“冲压生产线冲压生产线”FB10:Press lineFB10的的背景背景DBCALL#Press_1.CALL#Press_2.CALL#TransportDB10.stat Press_1FB1stat Press_2FB1stat TransportFB2.FB1:Press.stat Pu

19、nchFB4stat GuardFB5.CALL#Punch.CALL#Guard.stat PunchFB4stat GuardFB5.CALL#Punch.CALL#Guard.FB2:TransportFB4:PunchFB5:GuardCALL FB10,DB10OB1FB1:PressFB4:PunchFB5:GuardPress_1的数据的数据传送带的数据传送带的数据Press_1.GuardPress_2.PunchPress_2.GuardPress_2的数据的数据FB10的数据的数据Press_1.Punch多多重背景重背景模型的属性模型的属性多多重背景重背景模型的优点:模型

20、的优点:l多个实例只需要多个实例只需要 一个一个 DBl在为各个实例创建在为各个实例创建“private”数据区时,无需任何额外的管理工作数据区时,无需任何额外的管理工作l多重多重背景背景模型使得模型使得“面向对象的编程风格面向对象的编程风格”成为可能成为可能(通过通过“集合集合”的方式的方式实现可重用性实现可重用性)l最大嵌套深度为最大嵌套深度为8级级FB的必备条件:的必备条件:l在在FB内不允许直接访问过程信号(内不允许直接访问过程信号(I,Q)l只有使用只有使用FB参数访问过程信号,或者与其它过程单元进行通讯参数访问过程信号,或者与其它过程单元进行通讯lFB只能使用静态变量来记忆其过程状

21、态,而不使用全局只能使用静态变量来记忆其过程状态,而不使用全局DB或者位存储器。或者位存储器。注意事项:注意事项:l背景背景数据还可以从数据还可以从“外部外部”进行访问进行访问 例如在例如在OB1中:中:L Press line.Press_2.Punch.练习练习 6.2:生产线中的传送带模型生产线中的传送带模型H4LED接近开关接近开关 INI1,INI2,INI3 光栅光栅 LB1“S4”确认开关确认开关工位的处理顺序工位的处理顺序l工件的处理工件的处理l成形处理成形处理l向传送带上放置工件向传送带上放置工件l等待原材料工件等待原材料工件l从传送带中取原材料工件从传送带中取原材料工件传送

22、带的处理顺序传送带的处理顺序l等待成型的工件等待成型的工件l传送到总装线传送到总装线l总装,插入原材料工件总装,插入原材料工件l传送到工作站传送到工作站“S1”,“S2”,“S3”确认开关确认开关H1,H2,H3LED练习练习 6.2a:一个工作站的程序结构一个工作站的程序结构程序的技术划分程序的技术划分传送带传送带工作站工作站1工作站工作站2工作站工作站3OB1CALL FB1,DB1.CALL FB2,DB2FB1:StationInitial LEDProxy_switch Transp_reqAcknowledge Clock_bit_qClock_bit_sConv_busyDB1M

23、10.1S1INI1I 0.0H1DB2FB2:TransportInitialLEDL_BarrierConv_rightAcknowledgeConv_leftTransp_reqClock_bitH4K1_CONVRK2_CONVLI 0.0LB1S4M10.1M10.3FB1“Station”的工作原理的工作原理 FB1:StationTake_piece_from_conv:LED 快速闪烁Piece_finished:LED 慢速闪烁Process_pieceLED 连续点亮IN 参数参数:数据类型数据类型:InitialBOOLProxy_switchBOOLAcknowledg

24、eBOOLClock_bit_qBOOLClock_bit_sBOOLOUT 参数参数:LEDBOOLTransp_reqBOOLI/O 参数参数:Conv_busyBOOL静态变量静态变量:State STRUCTProcess_pieceBOOLPiece_finishedBOOLPlace_part_on_convBOOLWait_for_pieceBOOLTake_piece_from_conv BOOLEND_STRUCTl状态模型状态模型:A AcknowledgeAN Proxy_switchA Transp_reqlFB1中的声明中的声明:Wait_for_piece:LED熄

25、灭Place_part_on_conv:LED快速闪烁 AN Conv_busyAProxy_switchAN Proxy_switchA InitialFP.FB2“Transport”的工作原理的工作原理Conv_leftLED 闪烁Conv_rightLED 闪烁A#Transp_reqWaitingLED熄灭AN#Tansp_reqAN#LBarrierAssemblyLED连续点亮A#Acknowledgel状态模型:状态模型:lFB2的接口的接口:IN 参数参数:数据类型数据类型:InitialBOOLL_BarrierBOOLAcknowledgeBOOLTransp_reqBO

26、OLClock_bitBOOLOUT 参数参数:LEDBOOLConv_rightBOOLConv_leftBOOL静态变量静态变量:StateSTRUCTWaitingBOOLConv_rightBOOLAssemblyBOOLConv_leftBOOLEND_STRUCT FB2:TransportA InitialFP.练习练习6.2b:扩展到扩展到3个站个站FB10Station_1的数据的数据FB10的背景数据块的背景数据块CALL Station_1CALL Station_2CALL Station_3CALL TransportDB10.stat Station_1FB1stat Station_2FB1stat Station_3FB1stat Transport FB2Transport的数据的数据FB1FB2OB1.CALL FB10,DB10.Station_2的数据的数据Station_3的数据的数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com