西门子PLC停机软件原因汇总 点击:967 | 回复:4



Smile-lyc

    
  • [管理员]
  • 精华:114帖
  • 求助:50帖
  • 帖子:2793帖 | 22283回
  • 年度积分:311
  • 历史总积分:144042
  • 注册:2006年8月04日
发表于:2015-06-11 09:08:40
楼主

使cpu进入stop的情况很多,比如地址调用错误,没有下载需要DB块,编程错误等等,如果你想避免错误时不使CPU进入停止状态,你可以在程序中加入特殊的OB块,则出现相应问题,调用相应的OB块,虽然里面没程序,PLC将对错误错误不作任何处理,继续运行。否则PLC将进入停机状态可,比如:
OB73通讯冗余出错OB当容错S7连接中发生首次冗余丢失时,H CPU的操作系统将调用OB73(只有在S7通讯中才会有容错S7连接。更多信息,请参见“S7-400 H可编程控制器,容错系统。”)。如果其它容错S7连接发生了冗余丢失,则不会再有OB73启动。直到为具有容错功能的所有S7连接恢复冗余后,才会出现另一个OB73启动。如果发生了启动事件且OB73没有编程,CPU不会转为STOP模式。
OB80时间出错组织块无论何时执行OB时出错,S7-300 CPU的操作系统将调用OB80。此类错误包括:超出周期时间、执行OB时出现确认错误、提前了时间而使OB的启动时间被跳过、在CiR后恢复RUN模式。例如,如果在上一次调用之后发生了某一周期性中断OB的启动事件,而同一OB此时仍在执行中,则操作系统将调用OB80。如果OB80尚未编程,则CPU将转为STOP模式。可以使用SFC 39至42禁用或延迟和重新启用时间出错OB。
OB81电源出错组织块
只要发生由错误或故障所触发的事件,而此错误或故障又与电源(仅在S7-400上)或备用电池(当事件进入和离开时)有关,则S7-300 CPU的操作系统调用OB81。在S7-400中,如果已使用BATT.INDIC开关激活了电池测试功能,则只有在出现电池故障时才会调用OB81。如果OB81没有编程,则CPU不会转为STOP模式。可以使用SFC 39至42禁用或延迟,并重新启用电源出错OB。
OB82诊断中断组织块
如果具有诊断功能的模块(已为其启用了诊断中断)检测到错误,则它会输出一个诊断中断的请求给CPU(当事件进入和离开时)。则操作系统调用OB82。OB82的局部变量包含逻辑基址和四字节的故障模块的诊断数据(请参见下表)。如果OB82尚未编程,则CPU转为STOP模式。可以使用SFC 39至42禁用或延迟,并重新启用诊断中断OB。
OB83插入/删除模块中断组织块
在下列情况下,CPU操作系统会调用OB 83:

1、插入/删除已组态模块后
2、在STEP 7下修改模块参数以及在运行期间将更改下载至CPU后
可借助SFC 39至42禁用/延迟/启用插入/删除中断OB。
OB84CPU硬件故障组织块
在下列情况下,CPU中的OS将调用OB84:
1、 已检测到并更正了内存出错之后
2、 对于S7-400H:如果两个CPU之间的冗余链接的性能下降
可以使用SFC 39至42禁用或延迟CPU硬件出错OB,然后再次启用它。
OB85优先级出错组织块
只要发生下列事件之一,CPU的操作系统即调用OB85:
1、操作系统访问模块时出错。
2、在系统更新过程映像期间出现I/O访问错误(如果由于组态原因,未禁止OB85的调用)。
OB86机架故障组织块
只要在分布式I/O (PROFIBUS DP或PROFInet IO)中检测到中央扩展机架(不带S7-300)、DP主站系统或站故障(进入事件与离开事件时),CPU的操作系统调用OB86。如果OB86尚未编程,当检测到此种类型的出错时,CPU将转为STOP模式。可使用SFC 39至42禁用或延迟,并重新启用OB86。
OB87通讯出错组织块
只要发生由通讯出错导致的事件,CPU的操作系统就会调用OB87。
如果OB87尚未编程,CPU不会转为STOP模式。可以使用SFC 39至42禁用或延迟,并重新启用通讯出错OB。
OB 88处理中断OB
程序块执行被中止后,CPU操作系统将调用OB 88。导致此中断的原因可能是:
1、同步出错的嵌套深度过大
2、块调用(U堆栈)的嵌套深度过大
3、分配本地数据时出错
如果未对OB 88编程且程序块执行被中止,则CPU进入STOP模式
(事件ID W#16#4570)。如果在优先级28下中止了程序块执行,则CPU进入STOP模式。可借助于SFC 39至42禁用、延迟和启用处理中断OB。
OB121编程出错组织块
只要发生同程序处理相关的错误所导致的事件,CPU的操作系统即调用OB121。例如,如果用户程序调用了尚未装载到CPU中的块,将会调用OB121。
OB122I/O访问出错组织块
只要在访问模块上的数据时出错,C
PU的操作系统即调用OB122。例如,如果在访问I/O模块上的数据时,CPU检测到读取错误,操作系统将调用OB122.



楼主最近还看过



Smile-lyc

  • [管理员]
  • 精华:114帖
  • 求助:50帖
  • 帖子:2793帖 | 22283回
  • 年度积分:311
  • 历史总积分:144042
  • 注册:2006年8月04日
发表于:2015-06-11 15:26:40
1楼

希望对大家工作有所帮助!

13058529953

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 115回
  • 年度积分:0
  • 历史总积分:160
  • 注册:2016年3月30日
发表于:2018-11-12 01:08:32
2楼

好资料,先保存起来。

蓝天小子

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 546回
  • 年度积分:50
  • 历史总积分:827
  • 注册:2018年8月07日
发表于:2018-12-07 11:59:39
3楼

PLC各种停机的原因

zhouinb

  • 精华:0帖
  • 求助:2帖
  • 帖子:3帖 | 653回
  • 年度积分:0
  • 历史总积分:52
  • 注册:2010年4月30日
发表于:2019-02-12 17:14:10
4楼

好资料,先保存起来。


热门招聘
相关主题

官方公众号

智造工程师