| 作者 | 主题 |
|---|---|
|
合 奇侠 经验值:6044 发帖数:3917 精华帖:20 |
楼主
主题:产品技术介绍——Step7 OB组织块介绍和使用技巧
组织块(OB)表示操作系统和用户程序之间的接口。组织块由操作系统调用,控制循环和中断驱动的程序执行、PLC启动特性和错误处理。STEP7中除了常用的的OB1、OB100、OB35等组织块,还有哪些组织块可以被用在用户程序中?本话题主要探讨以下内容:
1、STEP 7 提供了哪些类型的OB,它们的优先级是怎样的? 2、针对每种类型的OB块的深入分析及其使用方法探讨 活动奖励: 此次集中交流将持续至6月2日,其中所有精华帖作者将获得加倍精华奖励积分;最终所有有效留帖的网友将获得加倍发帖积分。更多积分带给您更多奖品兑换的自由。 对于有突出发言贡献的网友,还可以在当前的可兑换奖品中免费挑选任一款奖品。 交流结束后也将专门整理重要内容,供广大网友分享参考。 预祝大家交流愉快,收获丰富! |
|
Automann 至圣 经验值:18299 发帖数:6168 精华帖:137 |
35楼
主题:回复:产品技术介绍——Step7 OB组织块介绍和使用技巧
根据OB86的局部变量诊断和显示有故障的PROFIBUS-DP从站
一直想编这样一个程序,用仿真调试完后,发现程序很短,功能很强,有较大的实用价值。 S7-300/400的OB86的局部变量OB86_EV_CLASS(LB0)为16#39和16#38分别表示故障出现和故障消失。OB86_FLT_ID(LB1)为16#C3和16#C4分别表示DP主站系统(DP网络)故障和DP从站故障。LB10是DP主站系统的ID(网络的编号),LB11是有故障的DP从站的编号。 假设项目中只有一个DP网络,12个DP从站的编号分别为3~14,它们分别对应于M10.3~M11.6。 出现DP主站系统故障时(LW0为W#16#39C3),将M10.3~M11.6全部置为1(将W#16#F87F送MW10)。 某个DP从站出现故障时(LW0为W#16#39C4),将故障从站编号和M10.0的地址相加,计算出故障从站对应的地址,然后用间接寻址点亮故障从站对应的指示灯。 某个DP从站故障消失时(LW0为W#16#38C4),将故障从站编号和M10.0的地址相加,计算出故障从站对应的地址,然后用间接寻址熄灭故障从站对应的指示灯。 在SIMATIC管理器中生成一个人机界面的站点,双击站点中的画面1,打开WinCC flexible的项目,在画面中生成12个指示灯。它们分别通过M10.3~M11.6来显示3~14号从站的状态。 下面是OB86中的程序。 L W#16#39C3 L LW 0 ==I JCN m001 //不是主站系统故障则跳转 L W#16#F87F T MW 10 //点亮3~14号从站的指示灯 m001: L W#16#39C4 L LW 0 ==I JCN m002 //不是从站故障出现则跳转 L LB 11 //故障从站编号送累加器1 L P#10.0 //起始地址送累加器1 +D T LD 20 //故障从站地址送地址指针 S M [LD 20] //点亮故障从站对应的指示灯 m002: L W#16#38C4 L LW 0 ==I JCN m003 //不是从站故障消失则跳转 L LB 11 //故障从站编号送累加器1 L P#10.0 //起始地址送累加器1 +D T LD 20 //故障从站地址送地址指针 R M [LD 20] //熄灭故障从站对应的指示灯 m003: NOP 0 下图是5号和13号从站有故障时指示灯的状态。 使用16个字节(例如MB10~MB25),最多可以用画面上的指示灯显示120多个从站的状态。 此程序稍作修改,可以显示多个网络的从站故障。
追求完美
|