中断控制——西门子S7-300PLC组织块OB及其应用 点击:1292 | 回复:2



PLC酷客

    
  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2012-11-09 18:31:26
楼主

中断控制——西门子S7-300PLC组织块OB及其应用

 

OB可以分为两类:执行周期性工作的OB(日时钟中断)和响应错误的OB(错误中断)。

 

执行周期性工作的OB(日时钟中断)

 

在特定的日期或时间执行

 

   从一个编程事件开始一段特定延时后执行

 

   按特定周期循环执行

 

响应错误的OB(错误中断)

 

   CPU检测到一个过程/硬件错误时执行

 

   CPU检测到一个不依赖于程序指令的错误时执行

 

   CPU检测到一个与程序指令处理有关的错误时执行

 

 

 

中断过程——西门子S7-300PLC组织块OB及其应用

 

系统检测到一个OB块中断时,则被中断块的累加器和寄存器上的当前信息将被作为一个中断堆栈存起来(I堆栈)。

 

I堆栈中保存的内容有:

 

F     累加器及地址寄存器的内容;

 

F     数据块寄存器的内容;

 

F    局部数据堆栈,状态字,MCR寄存器和B堆栈指针。

 

如果新的OB块调用FBFC,则每一个块的处理数据将被存储堆栈中(B堆栈)

 

B堆栈中保存的内容有:

 

F     DBDI寄存器;

 

F     临时数据(L堆栈)的指针;

 

F     块的号码及返回地址。

 



楼主最近还看过



PLC酷客

  • [版主]
  • 精华:9帖
  • 求助:31帖
  • 帖子:1460帖 | 7990回
  • 年度积分:457
  • 历史总积分:59176
  • 注册:2004年7月13日
发表于:2012-11-09 18:32:07
1楼

中断优先级——西门子S7-300PLC组织块OB及其应用

中断优先级——西门子S7-300PLC组织块OB及其应用

OB类型(优先级)

 

说明

 

OB1主程序循环(1

 

在上一循环结束时启动

 

OB10时间中断(2

 

在程序设置的日期和时间启动

 

OB20延时中断(3

 

SFC32控制启动,在一特定延时后运行

 

OB35循环中断(12

 

运行在一特定时间间隔内(1ms-1min

 

OB40硬件中断(16

 

当检测到来自外部模块的中断请求时启动

 

OB80OB87响应异步错误(26/启动时28

 

当检测到模块诊断错误或超时错误时启动

 

OB100启动(27

 

CPUSTOPRUN状态时启动

 

OB121OB122响应同步错误(与被中断OB相同)

 

当检测到程序错误或接受错误时启动

 

 

 

 

板砖拍你脸

  • 精华:1帖
  • 求助:3帖
  • 帖子:18帖 | 290回
  • 年度积分:0
  • 历史总积分:554
  • 注册:2012年9月26日
发表于:2012-11-09 21:51:53
2楼
好东西,果断复制收藏。。。。

热门招聘
相关主题

官方公众号

智造工程师