一、常用组织块的简要说明:
何为组织块呢?
组织块(OB)是指 CPU 的操作系统与用户程序之间的接口。OB 用于执行特定的程序段:
• 启动 CPU 时
• 在循环或定时执行过程中
• 出错时
• 发生硬件中断时。
组织块按照已分配的优先级来执行。
STEP7中常用的组织块:
1、程序循环组织块:OB1
2、时间中断组织块(OB10 到 OB17)
3、延时中断组织块(OB20 至 OB23)
4、周期性/循环中断组织块(OB30 至 OB38)
5、硬件中断组织块(OB40 至 OB47)
6、诊断中断组织块(OB82)
7、机架故障组织块(OB86)
8、启动组织块(OB100、OB101 和 OB102)
当然了这里并没有罗列所有的组织块,这里仅仅对常用的组织块进行举例讲解,对于其他的组织块大家可以去官网找手册查看对应的使用说明。
1、程序循环组织块OB1,
S7 CPU 的操作系统定期执行 OB1。执行 OB1 后,操作系统将再次启动它。完成启动后,将启动 OB1 的循环执行。可调用 OB1 中的其它功能块(FB、SFB)或功能(FC、SFC) 。
这里要说明的就是OB1在所有的OB中的优先级是最低的,换句话说就是除了OB90(后台组织块)的其他所有组织块均可以中断OB1的执行。
1.1 那么什么事件可以让操作系统调用OB1呢?
• 完成启动。
• 已完成 OB1 的执行(上一循环)。
执行 OB1 后,操作系统发送全局数据。重新启动 OB1 之前,操作系统会将过程映像输出表写入输出模块中、更新过程映像输入表以及接收 CPU 的任何全局数据。
S7 监视最大的扫描时间,并确保最大的响应时间。最大扫描时间的值预置为150ms。用户可设置一个新值,也可在用户程序中的任意位置使用SFC43 "RE_TRIGR" 来重新启动时间监视。如果用户程序超出了 OB1 的最大周期,则操作系统将调用 OB80 (时间错误 OB);如果 OB80 没有编程,则 CPU 将转为 STOP 模式。
除了监视最大扫描时间外,还可以保证最小扫描时间。操作系统将延迟启动新循环(将过程映像输出表写入输出模块中),直至达到最小扫描时间为止。
1.2 下面举例来说明
1.2.1 首先硬件组态
新建一个项目(我这里名为OB study),在项目中插入300站,然后插入315-2DP的CPU,保存编译。如下图所示
1.2.2 OB1程序执行
OB1的程序是循环执行的,可以在STEP7中监控程序的运行。打开OB1,并编写如下程序:
当然了可以通过视图转换成LAD。
然后将程序下载到CPU中。这里将MB100设置为时钟存储器,设置方法如下图所示:
STEP7时时监控画面如下:
前期文章回顾:#
电气相关知识和经验是用来分享,希望本文能对你有帮助。与人玫瑰,手留余香。
欢迎大家关注,点赞,评论及转发。