欢迎来到天天文库
浏览记录
ID:59807283
大小:488.50 KB
页数:26页
时间:2020-11-25
《西门子功能块的调用与多重背景数据模型讲解学习.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、西门子功能块的调用与多重背景数据模型STEP7块概述属性组织块(OB)-用户程序接口-优先级(0到27)-在局部数据堆栈中指定开始信息块的类型功能块(FB)-参数可分配(可以在调用时分配参数)-具有(收回)存储空间(静态变量)功能(FC)-参数可分配(必须在调用时分配参数)-基本上没有存储空间(只有临时变量)数据块(DB)-结构化的局部数据存储(背景数据块DB)-结构化的全局数据存储(在整个程序中有效)系统功能块(SFB)-FB(具有存储空间),存储在CPU的操作系统中并可由用户调用系统功能(SFC)-FB(无存储空间),存储在CPU的操作系统中并
2、可由用户调用系统数据块(SDB)-用于配置数据和参数的数据块功能及功能块中的参数声明"Motor"ENENOStart地址声明名称类型初始化值...0.0输入StartBOOLFALSE0.1输入StopBOOLTRUE2.0输入SpeedINT02.0输出Motor_onBOOLFALSE8.0输出SetpointINT010.0输入/输出EMER_OFFBOOLFALSE...静态............临时........SetpointEMER_OFFMotor_onStop输入参数输入/输出参数输出参数参数是信息传递的通道输入参数:C
3、aller->Block输出参数:Block->Caller输入/输出参数:Caller<->Block参数形成了块的一个“shell”:参数位于代码段与“局部”变量类似参数可以为任何数据类型在调用期间进行数据类型检查例外情况:POINTER,ANY调用接口与编程语言无关PLC编程语言可以混合使用Speed功能的属性参数可分配的块:具有足够多的输入,输出,输入/输出参数无存储区,也即只有临时变量IEC61131-3标准一致性要求:足够多的输入参数仅有一个输出参数RET_VAL不允许访问全局变量和绝对地址使用同一输入参数提供相同的结果扩展了处理器的指
4、令集程序执行CALLFC10On_1:=I0.1On_2:=I0.2Off:=Q8.0功能FC10输入On_1BOOL输入On_2BOOL输出OffBOOL......A#On_1A#On_2=#Off...基本数据类型传送机理OB1功能FC10程序执行CALLFC10On_1:=I0.1On_2:=I0.2Off:=Q8.0输入On_1BOOL输入On_2BOOL输出OffBOOL......A#On_1A#On_2=#Off...OB1BLD1=L20.0UCFC10P#I0.1P#I0.2P#Q8.0BLD210010
5、010...IB0基本类型实际参数位于于:位存储地址区域过程映像调用的局部堆栈块参数实际参数形式参数复杂数据类型的功能调用示例:向功能传递一个ARRAYDB5"Temperature"FC21只能通过符号来进行参数的赋值Network(段)1:在功能FC21里,声明一个数组Mes_ValCALLFC21Mes_Val:="Temperature".sequence调用(主调)功能的特点CALL指令指令为宏指令寄存器内容可能会被覆盖掉,甚至是DB寄存器请注意B堆栈中内容的解释调用之后,可能会打开另一个DBCALL指令的处理时间取决于实际参数的数目和存
6、储单元位置CALL指令确保了块参数被正确地赋予当前数据示例:CALLFC10On_1:=I0.1On_2:=I0.2Off:=Q8.0调用指令UC和CC不依赖于RLO的块调用(UC)或取决于RLO的块调用示例:UCFC20或CCFC20当FC没有参数的时候,才可使用这些指令FB5输入StartBOOL输入StopBOOL输出Motor_onBOOL输出SpeedINT静态...临时......A#StartAN#Stop=#Motor_on...功能块的属性属于可分配参数的块:IEC61131-3标准一致性块有足够满足需要的输入,输出,输入
7、/输出参数有存储区域,即不仅有临时变量而且还有静态变量使用本身数据区域进行调用(创建背景)“数据封装”应用:定时器和计数器功能使用内部状态控制过程设备锅炉电机,阀,等等。CALLFB5,DB16Start:=I0.0Stop:=I0.1Motor_on:=Q8.0Speed:=QW120.0StartBOOL0.1StopBOOL2.0Motor_onBOOL4.0SpeedINTDB16电机构建功能块实例Drive_1FBx+DByDrive_1状态数据控制算法OB,FB或FCCALLFBx,DBy......使用背景DB的FB调用CALL
8、#Motor_1.CALL#Motor_2DBx...statMotor_1FBxstatMotor_2FBxDrive_
此文档下载收益归作者所有