西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型

上传人:小** 文档编号:61316177 上传时间:2018-11-28 格式:PPT 页数:26 大小:534.52KB
返回 下载 相关 举报
西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型_第1页
第1页 / 共26页
西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型_第2页
第2页 / 共26页
西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型_第3页
第3页 / 共26页
西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型_第4页
第4页 / 共26页
西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型》由会员分享,可在线阅读,更多相关《西门子s7-300-400高级编程培训教材-内部教材6、块调用和多重背景模型(26页珍藏版)》请在金锄头文库上搜索。

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

2、BOOL 0.1 in Stop BOOL 2.0 out Motor_on BOOL 4.0 out Speed INT 6.0 stat Speed_old INT 0.0 temp Calc_1 INT . . . A #Start AN #Stop = #Motor_on .,DB 2,OB 1,STEP 7 块概述,属性,组织块(OB),- 用户程序接口 - 优先级(0到27) - 在局部数据堆栈中指定开始信息,块的类型,功能块(FB),- 参数可分配(可以在调用时分配参数) - 具有(收回)存储空间(静态变量),功能(FC),- 参数可分配(必须在调用时分配参数) - 基本上没有存

3、储空间(只有临时变量),数据块(DB),- 结构化的局部数据存储(背景数据块DB) - 结构化的全局数据存储(在整个程序中有效),系统功能块(SFB),- FB(具有存储空间),存储在CPU的操作系统中并可由用户调用,系统功能(SFC),- FB(无存储空间),存储在CPU的操作系统中并可由用户调用,系统数据块(SDB),- 用于配置数据和参数的数据块,功能及功能块中的参数声明,“Motor“,EN,ENO,Start,地址 声明 名称 类型 初始化值 . 0.0 输入 Start BOOL FALSE 0.1 输入 Stop BOOL TRUE 2.0 输入 Speed INT 0 2.0

4、输出 Motor_on BOOL FALSE 8.0 输出 Setpoint INT 0 10.0 输入/输出 EMER_OFF BOOL FALSE . 静态 . . . . 临时 . .,Setpoint,EMER_OFF,Motor_on,Stop,输入 参数,输入/输出 参数,输出 参数,参数是信息传递的通道 输入参数: Caller - Block 输出参数: Block - Caller 输入/输出参数: Caller Block 参数形成了块的一个“shell”: 参数位于代码段 与“局部”变量类似 参数可以为任何数据类型 在调用期间进行数据类型检查 例外情况:POINTER,A

5、NY 调用接口与编程语言无关 PLC编程语言可以混合使用,Speed,功能的属性,参数可分配的块: 具有足够多的输入,输出,输入/输出参数 无存储区,也即只有临时变量 IEC 61131-3标准一致性要求: 足够多的输入参数 仅有一个输出参数RET_VAL 不允许访问全局变量和绝对地址 使用同一输入参数提供相同的结果 扩展了处理器的指令集,功能FC10,输入 On_1 BOOL 输入 On_2 BOOL 输出 Off BOOL .,. A #On_1 A #On_2 = #Off .,基本数据类型传送机理,OB1,功能FC10,程序 执行,CALL FC10 On_1 := I 0.1 On_

6、2 := I 0.2 Off := Q8.0,输入 On_1 BOOL 输入 On_2 BOOL 输出 Off BOOL .,. A #On_1 A #On_2 = #Off .,OB1,BLD 1 = L 20.0 UC FC 10 P#I 0.1 P#I 0.2 P#Q 8.0 BLD 2,.,IB0,基本类型实际参数位于于: 位存储地址区域 过程映像 调用的局部堆栈,块参数,实际参数,形式参数,复杂数据类型的功能调用,示例:向功能传递一个ARRAY,DB5 “Temperature“,FC21,只能通过符号来进行参数的赋值,Network(段) 1: 在功能FC21里,声明一个数组Mes

7、_Val CALL FC 21 Mes_Val:=“Temperature“.sequence,调用(主调)功能的特点,CALL指令 指令为宏指令 寄存器内容可能会被覆盖掉,甚至是DB寄存器 请注意B堆栈中内容的解释 调用之后,可能会打开另一个DB CALL指令的处理时间取决于实际参数的数目和存储单元位置 CALL指令确保了块参数被正确地赋予当前数据 示例: CALL FC10 On_1 := I 0.1 On_2 := I 0.2 Off := Q8.0 调用指令UC和CC 不依赖于RLO的块调用(UC)或取决于RLO的块调用 示例:UC FC20或CC FC20 当FC没有参数的时候,才可

8、使用这些指令,FB 5,输入 Start BOOL 输入 Stop BOOL 输出 Motor_on BOOL 输出 Speed INT 静态 . 临时.,. A #Start AN #Stop = #Motor_on .,功能块的属性,属于可分配参数的块: IEC 61131-3标准一致性块 有足够满足需要的输入,输出,输入/输出参数 有存储区域,即不仅有临时变量而且还有静态变量 使用本身数据区域进行调用 (创建背景) “数据封装” 应用: 定时器和计数器功能 使用内部状态控制过程设备 锅炉 电机,阀,等等。,CALL FB5, DB16 Start :=I 0.0 Stop :=I 0.1

9、 Motor_on :=Q8.0 Speed :=QW12,0.0 Start BOOL 0.1 Stop BOOL 2.0 Motor_on BOOL 4.0 Speed INT,DB 16,电机,构建功能块实例,Drive_1,FBx,+,DBy,Drive_1 状态数据,控制算法,OB, FB或FC,CALL FBx, DBy . .,使用背景DB的FB调用,CALL #Motor_1 . CALL #Motor_2,DBx,. stat Motor_1 FBx stat Motor_2 FBx,Drive_2 状态数据,Drive_3 状态数据,FBx,FB实例,控制算法,FB,Dri

10、ve_2,Drive_3,FB内的声明 (多重背景),在一个FB调用过程中的参数传递,OB1,FB10,程序执行,CALL FB10, DB16 Start :=I 0.4 Stop :=I 0.0 Motor_on :=Q8.1 Speed : =QW12,0.0 in Start BOOL 0.1 in Stop BOOL 2.0 out Motor_on BOOL 4.0 out Speed INT .,. A #Start AN #Stop = #Motor_on .,BLD 3 = L 24.0 TDB OPN DI 16 TAR2 LD 20 A I 0.4 = DIX 0.0 A

11、 I 0.0 = DIX 0.1 LAR2 P#DBX 0.0 UC FB 10 LAR2 LD 20 A DIX 2.0 = Q 8.1 L DIW 4 T QW 12 TDB BLD 4,.,IB0,1,0,0,1,0,0,1,0,QB8,DB16,0,1,1,1,2,3,. . .,块参数,实际参数,形式参数,. . .,使用复杂数据类型的FB调用过程,示例:将一个ARRAY传送到一个功能块,FB17,只允许用符号对复杂参数进行相关分配,Network 1: CALL FB 17, DB 2 Meas_1 :=“Temperature“.Cylinder Sum_1 :=MD20 Sum

12、_2 :=MD30 Meas_2 :=“Temperature“.Shaft,DB2 “Temperature“,功能块调用的特性,“按值” 传递参数(复制数值): CALL过程中FB参数的赋值: 无需为某些FB参数赋值 可以从“外部” 进行赋值和取消赋值 例如:直接通过操作面板进行 例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及 DATE_AND_TIME) 初始化: FB参数可以在声明部分进行初始化 例外:复杂数据类型的输入/输出参数(STRUCT,ARRAY,STRING以及 DATE_AND_TIME) 使用DI和AR2寄存器在内部访问形式参数 如果DI

13、或者AR2寄存器被覆盖,将不再允许访问背景数据。 附加调用指令UC和CC 示例:UC FB20或者CC FB20 只有当FB没有背景数据时才能使用(参数+静态变量),主罐,瓶子传感器 I 16.6,瓶子传感器 I 16.5,瓶子传感器 I 16.7,Q 9.0,漏斗,练习6:罐装生产线中的传送带模型,Q 20.5 传送带正转,Q 20.6 传送带反转,练习6.1a: 罐装生产线 工作模式选择,生产线 ON/OFF I 0.0: Start (NO, 瞬动开关) I 0.1: Stop (NC) Q8.1: Plant_on 手动/自动方式 I 0.4: 自动/手动 I 0.5: 确定模式 Q8

14、.2: 选定手动方式 A8.3: 选定自动方式,FB15: “模式选择“,EN Start Plant_on Stop OM_Man Auto_Man OM_Auto OM_activate ENO,DB15,. . . I 0.0 I 0.1 I 0.4 I 0.5,Q8.1 Q8.2 Q8.3,练习6.1b:罐装生产线 传送带,手动方式 I 0.5: 正向点动 I 0.6: 反向点动 Q20.5: 传送带正向运转 Q20.6: 传送带反向运转 自动方式 I 16.6: 传感器:罐装位置 I 16.7: 传感器:计算瓶数 Q9.0: 罐装启动 QW12: 满瓶显示,FB16: “传送带控制“

15、,EN OM_Man OM_Auto Conv_for Jog_for Conv_back Jog_back Filling_active Sensor_fill Full_bottles Sensor_full ENO,Q20.5 Q20.6 Q9.0 QW12,DB16,. . . Q8.2 Q8.3 I 0.2 I 0.3 I 16.6 I 16.7,多重背景模型的结构,FB10,钻床数据,FB10的背景DB,CALL Drill . CALL Motor_1 . CALL Motor_2,DB10,. stat Drill FB1 stat Motor_1 FB2 stat Motor_2 FB2,Motor_1的数据,Motor_2的数据,FB1,FB2,钻孔算法,马达控制,例如 OB1,. CALL FB10,DB10 .,使用多重

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

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号