西门子S7-300+400高级编程培训教材,内部教材6、块调用和多重背景模型.ppt_第1页
西门子S7-300+400高级编程培训教材,内部教材6、块调用和多重背景模型.ppt_第2页
西门子S7-300+400高级编程培训教材,内部教材6、块调用和多重背景模型.ppt_第3页
西门子S7-300+400高级编程培训教材,内部教材6、块调用和多重背景模型.ppt_第4页
西门子S7-300+400高级编程培训教材,内部教材6、块调用和多重背景模型.ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

块调用与多重背景模型 用于结构化编程的块 整个任务的模块化 单个任务在各自块中予以解决参数分配法使得使用更加灵活示例 钻孔循环程序的钻孔深度为可分配参数块的可再利用性能 块可以按需要随时加以调用限制因素 不允许访问全局地址空间只能通过参数列表进行通信 OB1 电机1 FB1 阀 FB2 控制器 FB10 FC5 限制阀 复制 SFC CALLFB1 DB2Start I0 0Stop I0 1Motor on Q12 0Speed QW14 FB1 地址声明名称类型0 0inStartBOOL0 1inStopBOOL2 0outMotor onBOOL4 0outSpeedINT6 0statSpeed oldINT0 0tempCalc 1INT A StartAN Stop Motor on DB2 OB1 STEP7块概述 属性 组织块 OB 用户程序接口 优先级 0到27 在局部数据堆栈中指定开始信息 块的类型 功能块 FB 参数可分配 可以在调用时分配参数 具有 收回 存储空间 静态变量 功能 FC 参数可分配 必须在调用时分配参数 基本上没有存储空间 只有临时变量 数据块 DB 结构化的局部数据存储 背景数据块DB 结构化的全局数据存储 在整个程序中有效 系统功能块 SFB FB 具有存储空间 存储在CPU的操作系统中并可由用户调用 系统功能 SFC FB 无存储空间 存储在CPU的操作系统中并可由用户调用 系统数据块 SDB 用于配置数据和参数的数据块 功能及功能块中的参数声明 Motor EN ENO Start 地址声明名称类型初始化值 0 0输入StartBOOLFALSE0 1输入StopBOOLTRUE2 0输入SpeedINT02 0输出Motor onBOOLFALSE8 0输出SetpointINT010 0输入 输出EMER OFFBOOLFALSE 静态 临时 Setpoint EMER OFF Motor on Stop 输入参数 输入 输出参数 输出参数 参数是信息传递的通道输入参数 Caller Block输出参数 Block Caller输入 输出参数 CallerBlock参数形成了块的一个 shell 参数位于代码段与 局部 变量类似参数可以为任何数据类型在调用期间进行数据类型检查例外情况 POINTER ANY调用接口与编程语言无关PLC编程语言可以混合使用 Speed 功能的属性 参数可分配的块 具有足够多的输入 输出 输入 输出参数无存储区 也即只有临时变量IEC61131 3标准一致性要求 足够多的输入参数仅有一个输出参数RET VAL不允许访问全局变量和绝对地址使用同一输入参数提供相同的结果扩展了处理器的指令集 功能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 OB1 BLD1 L20 0UCFC10P I0 1P I0 2P Q8 0BLD2 IB0 基本类型实际参数位于于 位存储地址区域过程映像调用的局部堆栈 块参数 实际参数 形式参数 复杂数据类型的功能调用 示例 向功能传递一个ARRAY DB5 Temperature FC21 只能通过符号来进行参数的赋值 Network 段 1 在功能FC21里 声明一个数组Mes ValCALLFC21Mes Val Temperature sequence 调用 主调 功能的特点 CALL指令指令为宏指令寄存器内容可能会被覆盖掉 甚至是DB寄存器请注意B堆栈中内容的解释调用之后 可能会打开另一个DBCALL指令的处理时间取决于实际参数的数目和存储单元位置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标准一致性块有足够满足需要的输入 输出 输入 输出参数有存储区域 即不仅有临时变量而且还有静态变量使用本身数据区域进行调用 创建背景 数据封装 应用 定时器和计数器功能使用内部状态控制过程设备锅炉电机 阀 等等 CALLFB5 DB16Start I0 0Stop I0 1Motor on Q8 0Speed QW12 0 0StartBOOL0 1StopBOOL2 0Motor onBOOL4 0SpeedINT DB16 电机 构建功能块实例 Drive 1 FBx DBy Drive 1状态数据 控制算法 OB FB或FC CALLFBx DBy 使用背景DB的FB调用 CALL Motor 1 CALL Motor 2 DBx statMotor 1FBxstatMotor 2FBx Drive 2状态数据 Drive 3状态数据 FBx FB实例 控制算法 FB Drive 2 Drive 3 FB内的声明 多重背景 在一个FB调用过程中的参数传递 OB1 FB10 程序执行 CALLFB10 DB16Start I0 4Stop I0 0Motor on Q8 1Speed QW12 0 0inStartBOOL0 1inStopBOOL2 0outMotor onBOOL4 0outSpeedINT A StartAN Stop Motor on BLD3 L24 0TDBOPNDI16TAR2LD20AI0 4 DIX0 0AI0 0 DIX0 1LAR2P DBX0 0UCFB10LAR2LD20ADIX2 0 Q8 1LDIW4TQW12TDBBLD4 IB0 1 0 0 1 0 0 1 0 QB8 DB16 0 1 1 1 2 3 块参数 实际参数 形式参数 使用复杂数据类型的FB调用过程 示例 将一个ARRAY传送到一个功能块 FB17 只允许用符号对复杂参数进行相关分配 Network1 CALLFB17 DB2Meas 1 Temperature CylinderSum 1 MD20Sum 2 MD30Meas 2 Temperature Shaft DB2 Temperature 功能块调用的特性 按值 传递参数 复制数值 CALL过程中FB参数的赋值 无需为某些FB参数赋值可以从 外部 进行赋值和取消赋值例如 直接通过操作面板进行例外 复杂数据类型的输入 输出参数 STRUCT ARRAY STRING以及DATE AND TIME 初始化 FB参数可以在声明部分进行初始化例外 复杂数据类型的输入 输出参数 STRUCT ARRAY STRING以及DATE AND TIME 使用DI和AR2寄存器在内部访问形式参数如果DI或者AR2寄存器被覆盖 将不再允许访问背景数据 附加调用指令UC和CC示例 UCFB20或者CCFB20只有当FB没有背景数据时才能使用 参数 静态变量 主罐 瓶子传感器I16 6 瓶子传感器I16 5 瓶子传感器I16 7 Q9 0 漏斗 练习6 罐装生产线中的传送带模型 Q20 5传送带正转 Q20 6传送带反转 练习6 1a 罐装生产线 工作模式选择 生产线ON OFFI0 0 Start NO 瞬动开关 I0 1 Stop NC Q8 1 Plant on手动 自动方式I0 4 自动 手动I0 5 确定模式Q8 2 选定手动方式A8 3 选定自动方式 FB15 模式选择 ENStartPlant onStopOM ManAuto ManOM AutoOM activateENO DB15 I0 0I0 1I0 4I0 5 Q8 1Q8 2Q8 3 练习6 1b 罐装生产线 传送带 手动方式I0 5 正向点动I0 6 反向点动Q20 5 传送带正向运转Q20 6 传送带反向运转自动方式I16 6 传感器 罐装位置I16 7 传感器 计算瓶数Q9 0 罐装启动QW12 满瓶显示 FB16 传送带控制 ENOM ManOM AutoConv forJog forConv backJog backFilling activeSensor fillFull bottlesSensor fullENO Q20 5Q20 6Q9 0QW12 DB16 Q8 2Q8 3I0 2I0 3I16 6I16 7 多重背景模型的结构 FB10 钻床数据 FB10的背景DB CALLDrill CALLMotor 1 CALLMotor 2 DB10 statDrillFB1statMotor 1FB2statMotor 2FB2 Motor 1的数据 Motor 2的数据 FB1 FB2 钻孔算法 马达控制 例如OB1 CALLFB10 DB10 使用多重背景模型实现面向对象的编程 Press 2 Press 1 传送 示例 冲压生产线 技术划分 通过FB背景 对程序进行技术划分 FB Pressline FB Transport FB Press 1 冲压头防护装置 FB Punch FB Guard FB Press 2 FB Punch FB Guard 用STEP7来实现一个 冲压生产线 FB10 Pressline FB10的背景DB CALL Press 1 CALL Press 2 CALL Transport DB10 statPress 1FB1statPress 2FB1statTransportFB2 FB1 Press statPunchFB4statGuardFB5 CALL Punch CALL Guard statPunchFB4statGuardFB5 CALL Punch CALL Guard FB2 Transport FB4 Punch FB5 Guard CALLFB10 DB10 OB1 FB1 Press FB4 Punch FB5 Guard 多重背景模型的属性 多重背景模型的优点 多个实例只需要一个DB在为各个实例创建 private 数据区时 无需任何额外的管理工作多重背景模型使得 面向对象的编程风格 成为可能 通过 集合 的方式实现可重用性 最大嵌套深度为8级FB的必备条件 在FB内不允许直接访问过程信号 I Q 只有使用FB参数访问过程信号 或者与其它过程单元进行通讯FB只能使用静态变量来记忆其过程状态 而不使用全局DB或者位存储器 注意事项 背景数据还可以从 外部 进行访问例如在OB1中 L Pressline Press 2 Punch 练习6 2 生产线中的传送带模型 H4 LED 接近开关 INI1 INI2 INI3 光栅 LB1 S4 确认开关 工位的处理顺序工件的处理成形处理向传送带上放置工件等待原材料工件从传送带中取原材料工件 传送带的处理顺序等待成型的工件传送到总装线总装 插入原材料工件传送到工作站 S1 S2 S3 确认开关 H1 H2 H3 LED 练习6 2a 一个工作站的程序结构 程序的技术划分 传送带 工作站1 工作站2 工作站3 OB1 CALLFB1 DB1 CALLFB2 DB2 FB1 Station InitialLEDProxy switchTransp reqAcknowledgeClock bit qClock bit sConv busy DB1 M10 1 S1 INI1 I0 0 H1 DB2 FB2 Transport InitialLEDL BarrierConv rightAcknowledgeConv leftTransp reqClock bit H4 K1 CONVR K2 CONVL I0 0 LB1 S4 M10 1 M10 3 FB1 Station 的工作原理 FB1 Station Take piece from conv LED快速闪烁 Piece finished LED慢速闪烁 Process pieceLED连续点亮 IN参数 数据类型 InitialBOOLProxy switchBOOLAcknowledgeBOOLClock bit qBOOLClock bit sBOOLOUT参数 LEDBOOLTransp reqBOOLI O参数 Conv busyBOOL静态变量 StateSTRUCTProcess pieceBOOLPiece finishedBOOLPlace part on convBOOLWait for pieceBOOLTake piece from convBOOLEND STRUCT 状态模型 AAcknowledge ANProxy switchATransp req FB1中的声明 Wait for piece LED熄灭 Place part on conv LED快速闪烁 ANConv busy AProxy switch ANProxy switch AInitialFP FB2 Transport 的工作原理 Conv leftLED闪烁 Conv rightLED闪烁 A Transp req WaitingLED熄灭 AN Tansp req AN LBarrier AssemblyLED连续点亮 A Acknowledge 状态模型 FB2的接口 IN参数 数据类型 InitialBOOLL BarrierBOOLAcknowledgeBOOLTransp reqBOOLClock bitBOOLOUT参数 LEDBOOLConv rightBOOLConv leftBOOL静态变量 StateSTRUCTWaitingBOOLConv rightBOOLAssemblyBOOLConv leftBOOLEND STRUCT FB2 Transport AInitialFP 练习6 2b 扩展到3个站 FB10 Station 1的数据 FB10的背景数据块 CALLStation 1CALLStation 2CALLStation 3CALL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论