技术论坛

300的PLC 通讯中断,停止运行,怎么能自复位??

作者 主题
侠客

经验值: 994
发帖数: 198
精华帖: 2
主题:【探讨】300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 楼主 2019-01-21 07:31:31

 如题,PLC 因外部故障导致中断运行,处于停止状态,怎么能不让其停止运行 ,或者自动复位呢?


我是一个电工,但我修的不仅是灯泡……
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1538419&b_id=4&s_id=0&num=16

至圣

经验值: 43597
发帖数: 15780
精华帖: 61
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 1楼 2019-01-21 08:36:13

项目中插入故障处理的ob。


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
侠客

经验值: 926
发帖数: 77
精华帖: 0
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 2楼 2019-01-21 08:41:29

插入组织块就行了


 
以下网友喜欢您的帖子:

  
至圣

经验值: 69058
发帖数: 12268
精华帖: 59
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 3楼 2019-01-21 11:19:15

相关的组织块插入了没?

看看诊断信息提示的什么


Q群:https://jq.qq.com/?k=9BDuEgf6
以下网友喜欢您的帖子:

  
侠圣

经验值: 2440
发帖数: 467
精华帖: 6
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 5楼 2019-01-21 11:30:21

插入相关故障处理OB即可,另外在插一句,这些东西西门子的帮助里都有详细说明,怎么现在的程序员都没有看帮助的习惯了吗?


 
以下网友喜欢您的帖子:

  
侠圣

经验值: 4092
发帖数: 565
精华帖: 4
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 6楼 2019-01-21 11:35:59

OB80,  OB82  ,OB121,  OB122把这些块下载到CPU


 
以下网友喜欢您的帖子:

  
侠士

经验值: 1896
发帖数: 313
精华帖: 0
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 7楼 2019-01-21 14:49:43

下载相应的故障处理组织块就可以了。。。。


借鉴昨天!驾驭今天!成就明天!
以下网友喜欢您的帖子:

  
奇侠

经验值: 6042
发帖数: 939
精华帖: 4
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 8楼 2019-01-21 14:58:38

下载相应的组织块,在线诊断非常好用,要养成诊断的好习惯


不患无位,患所以立
以下网友喜欢您的帖子:

  
至圣

经验值: 12787
发帖数: 3407
精华帖: 3
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 9楼 2019-01-22 18:46:32

1、自由循环组织块OB1

S7CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。除OB90以外,OB1优先级最低,可以被其他OB中断。OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式。

2、日期中断组织块OB10~OB17

在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。

3、时间延迟中断组织块OB20~OB23

时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。

4、循环中断组织块OB30~OB38

循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需在循环中断中调用以处理积分时间的计算。

5、硬件中断组织块OB40~OB47

硬件中断也叫过程中断,由外部设备产生,例如功能模块FM、通信处理器CP及数字量输入、输出模块等。通常使用具有硬件中断的数字量输入模块触发中断响应,然后为每一个模块配置相应的中断OB(一个模块只能良一个中断OB,S7-300系列PLCCPU只能触发硬件中断OB40),在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断OB的事件。配置中的中断事件出现,中断主程序,执行中断OB中的用户程序一个周期,然后跳回中断处继续执行主程序。使用中断与普通输入信号相比,没有主程序扫描和过程映像区更新时间,适合需要快速响应的应用。

如果输入模块中的一个通道触发硬件中断,操作系统将识别模块的槽号及触发相应的OB,中断OB执行之后发送与通道相关的确认。在识别和确认过程中,该通道再次触发的中断事件将丢失;如果模块其他通道触发中断事件,中断不会丢失,在当前正在运行的中断确认之后触发;如果是不同的模块触发的中断事件,中断请求被记录,中断OB在空闲(没有模块其他通道的中断请求)时触发。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能硬件中断的调用。

6、DPV1中断组织块OB55~OB57

CPU响应PROFIBUS-DPV1从站触发的中断信息。

7、多处理器中断组织块OB60

用于S7-400系列PLC多CPU(一个机架中最多插入4个CPU完成同一个复杂任务)处理功能,通过调用SFC35,可以触发OB60在多个CPU中同时执行。

8、时钟同步中断组织块OB61~OB64

用于处理PROFIBUS-DPV1等时钟同步,从采集各个从站的输入到逻辑结果输出,需要经过从站输入信号采样循环(信号转换)、从站背板总线循环(转换的信号从模块传递到从站接口)、PROFIBUS-DP总线循环(信号自从站传递到主站)、程序执行循环(信号的程序处理)、PROFIBUS-DP总线循环(信号从主站传递到从站)、从站背板总线循环(信号从从站接口传递到输出柜块)及模块输出循环(信号转换)7个循环,时钟同步中断将7个循环同步,优化数据的传递并保证PROFIBUS-DP各个从站数据处理的同步性。PROFIBUS时钟同步中断只能用于S7-400系列PLCCPU(具有DPV2功能)。

9、工艺同步处理中断组织块OB65

用于T-CPU(具有运动控制功能的CPU)工艺块与开始程序的同步处理。

10、冗余故障中断组织块OB70、OB72

用于S7-400H冗余系统,当I/O冗余故障,例如冗余的PROFIBUS-DP从站故障时,触发OB70的调用,当CPU冗余故障,如CPU切换、同步故障时,触发OB72的调用。如果I/O冗余,或者CPU冗余故障而在CPU中没有创建OB70、OB72,CPU不会进入停止模式。

11、异步故障中断组织块OB80~OB87

异步故障中断用于处理各种故障事件。

OB80:处理时间故障、CIR(ConfigurationInRun)后的重新运行等功能,例如OB1或OB35运行超时,CPU自动调用OB80报错,如果程序中没有创建OB80,CPU进入停止模式。

OB81:处理与电源相关的各种信息(S7-400系列PLCCPU只有电池故障时调用),出现故障,CPU自动调用OB81报错,如果程序中没有创建OB81,CPU不会进入停止模式。

OB82:诊断中断,如果使能一个具有诊断中断模块的诊断功能(例如断线、传感器电源丢失),出现故障时调用OB82,如果程序中没有创建OB82,CPU进入停止模式。诊断中断还对CPU所有内外部故障,包括模块前连接器拔出、硬件中断丢失等作出响应。

OB83:用于模块插拔事件的中断处理,事件出现,CPU自动调用OB83报警,如果程序中没有创建OB83,CPU进入停止模式。

OB84:用于处理存储器、冗余系统中两个CPU的冗余连接性能降低等事件。

OB85:用于处理操作系统访问模块故障、更新过程映像区时I/O访问故障、事件触发但相应的OB没有下载到CPU等事件,事件出现,CPU自动调用OB85报错,如果程序中没创建OB85,CPU进入停止模式。

OB86:用于处理扩展机架(不适用于S7-300系列)、PROFIBUS-DP主站、PROFIBUS-DP或PROFINETI/O分布I/O系统中站点故障等事件,事件出现,CPU自动调用OB86报错,如果程序中没有创建,CPU进入停止模式。

OB87:用于处理MPIGD通信及时钟同步故障,事件出现,CPU自动调用OB87报错,如果程序中没有创建,CPU不会进入停止模式。

12、处理中断组织块OB88

用于处理程序嵌套、区域数据分配故障,故障出现,CPU自动调用OB88报错,如果程序中没有创建,CPU进入停止模式。

13、背景循环中断组织块OB90

优先级最低,保证CPU最短的扫描时间,避免过程映像区更新过于频繁。程序的下载和CPU中程序的删除触发OB90的调用。只能用于S7-400系列PLCCPU。

14、启动中断组织块OB100~OB102

用于处理CPU启动事件,暖启动CPU调用OB100,热启动CPU调用OB101(不适合S7-300系列PLC和S7-400H),冷启动CPU调用OB102,温度越低,CPU启动时清除存储器中数据区的类型越多。

15、同步错误中断组织块OB121、OB122

OB121处理与编程故障有关的事件,例如调用的函数没有下载到CPU中、BCD码出错等,OB122处理与I/O地址访问故障有关的事件,例如访问一个I/O模块时,出现读故障等。如果上述故障出现,在程序中没有创建OB121、OB122,CP进入停止模式。

注意:不是所有的OB都可以在S7CPU中使用,例如S7-300系列PLCPU中只有暖启动OB100,操作系统不能调用OB101、OB102,CPU中可以使用的OB请参考CPU选型手册。

S7-300系列PLC中组织块的优先级是固定的,不能修改,在S7-400系列PLC中下列组织块的优先级可以进行修改:

OB10~OB47:优先级修改范围2~23。

OB70~OB72:优先级修改范围2~38。

OB81~OB87:优先级修改范围2~26,优先级24~26确保异步故障中断不被其他的事件中断。

几个组织块可以具有相同的优先级,当事件同时出现时,组织块按事件出现的先后顺序触发,如果超过12个相同优先级的OB同进触发,中断可能丢失。

 

 

 

 

 



学无止境
以下网友喜欢您的帖子:

  
版主

经验值: 76240
发帖数: 19148
精华帖: 378
回复:300的PLC 通讯中断,停止运行,怎么能自复位??
推荐帖


只看楼主 10楼 2019-01-23 22:59:42

建议楼主看一下这个帖子,他山之石是否可以攻玉?


http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1536480&b_id=81&b_sid=18&s_id=&num=15#anch


Zane 注册自动化系统工程师 Always save before download
以下网友喜欢您的帖子:

  
侠客

经验值: 994
发帖数: 198
精华帖: 2
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 楼主 11楼 2019-01-24 07:33:46
以下是引用zhangli0在2019-01-21 08:36:13的发言 >1楼

项目中插入故障处理的ob。

目前插入一个 OB122 ,但是里面没有编写程序


我是一个电工,但我修的不仅是灯泡……
以下网友喜欢您的帖子:

  
侠客

经验值: 994
发帖数: 198
精华帖: 2
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 楼主 12楼 2019-01-24 07:35:02
以下是引用RENHQ在2019-01-21 11:19:15的发言 >3楼

相关的组织块插入了没?

看看诊断信息提示的什么

故障缓存区是 DP 分站丢失,又返回,然后I/O报错,插入OB122后仍然有这情况


我是一个电工,但我修的不仅是灯泡……
以下网友喜欢您的帖子:

  
侠客

经验值: 994
发帖数: 198
精华帖: 2
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 楼主 13楼 2019-01-24 07:36:54
以下是引用lf184452在2019-01-21 11:30:21的发言 >5楼

插入相关故障处理OB即可,另外在插一句,这些东西西门子的帮助里都有详细说明,怎么现在的程序员都没有看帮助的习惯了吗?

只能说,二流的程序员编辑的程序用在设备上,4流的维护人员发现的问题,系统除了OB1之外,就是FB,我当时就纳闷了,不用FC 也行???


我是一个电工,但我修的不仅是灯泡……
以下网友喜欢您的帖子:

  
侠客

经验值: 994
发帖数: 198
精华帖: 2
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 楼主 14楼 2019-01-24 07:37:24
以下是引用sangshunyang在2019-01-21 11:35:59的发言 >6楼

OB80,  OB82  ,OB121,  OB122把这些块下载到CPU

好的,再增加几个


我是一个电工,但我修的不仅是灯泡……
以下网友喜欢您的帖子:

  
侠客

经验值: 994
发帖数: 198
精华帖: 2
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 楼主 15楼 2019-01-24 07:38:24
以下是引用zhd216在2019-01-22 18:46:32的发言 >9楼

1、自由循环组织块OB1

S7CPU启动完成后,操作系统循环执行OB1,OB1执行完成后,操作系统再次启动OB1。在OB1中可以调用FB、SFB、FC、SFC等用户程序使其循环执行。除OB90以外,OB1优先级最低,可以被其他OB中断。OB1默认扫描监控时间为150ms(可设置),扫描超时,CPU自动调用)B80报错,如果程序中没有建立OB80,CPU进入停止模式。

2、日期中断组织块OB10~OB17

在CPU属性中,可以设置日期中断组织块OB10~OB17触发的日期、执行模式(到达设定的触发日期后,OB只执行一次或按每分、每小时、每周、每月周期执行)等参数,当CPU的日期值大于设定的日期值时,触发相应的OB并按设定的模式执行。在用户程序中也可以通过调用SFC28系统函数设定CPU日期中断的参数,调用SFC30激活日期中断投入运行,与在CPU属性中的设置相比,通过用户程序,可以在CPU运行时灵活地修改设定的参数,两种方式可以任意选择,也可以同时对一个OB进行设置。

3、时间延迟中断组织块OB20~OB23

时间延迟中断组织块OB20~OB23的优先级及更新过程映像区的参数需要在CPU属性中设置,通过调用系统函数SFC32触发执行,OB号及延迟时间在SFC32参数中设定,延迟时间为1~60000ms,大大优于定时器精度。

4、循环中断组织块OB30~OB38

循环中断组织块OB30~OB38按设定的时间间隔循环执行,循环中断的间隔时间在CPU属性中设定,每一个OB默认的时间间隔不同,例如)B35默认的时间间隔为100ms,在OB35中的用程序将每隔100ms调用一次,时间间隔可以自由设定,最小时间间隔不能小于55ms。OB中的用户程序执行时间必须小于设定的时间间隔,如果间隔时间较短,由于循环中断OB没有完成程序扫描而被再次调用,从而造成CPU故障,触发OB80报错,如果程序中没有创建OB80,CPU进入停止模式。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能循环中断的调用。循环中断组织块通常处理需要固定扫描周期的用户程序,例如PID函数块通常需在循环中断中调用以处理积分时间的计算。

5、硬件中断组织块OB40~OB47

硬件中断也叫过程中断,由外部设备产生,例如功能模块FM、通信处理器CP及数字量输入、输出模块等。通常使用具有硬件中断的数字量输入模块触发中断响应,然后为每一个模块配置相应的中断OB(一个模块只能良一个中断OB,S7-300系列PLCCPU只能触发硬件中断OB40),在模块配置中可以选择输入点的上升沿、下降沿或全部作为触发中断OB的事件。配置中的中断事件出现,中断主程序,执行中断OB中的用户程序一个周期,然后跳回中断处继续执行主程序。使用中断与普通输入信号相比,没有主程序扫描和过程映像区更新时间,适合需要快速响应的应用。

如果输入模块中的一个通道触发硬件中断,操作系统将识别模块的槽号及触发相应的OB,中断OB执行之后发送与通道相关的确认。在识别和确认过程中,该通道再次触发的中断事件将丢失;如果模块其他通道触发中断事件,中断不会丢失,在当前正在运行的中断确认之后触发;如果是不同的模块触发的中断事件,中断请求被记录,中断OB在空闲(没有模块其他通道的中断请求)时触发。通过调用SFC39~SFC42系统函数可以禁止、延迟、使能硬件中断的调用。

6、DPV1中断组织块OB55~OB57

CPU响应PROFIBUS-DPV1从站触发的中断信息。

7、多处理器中断组织块OB60

用于S7-400系列PLC多CPU(一个机架中最多插入4个CPU完成同一个复杂任务)处理功能,通过调用SFC35,可以触发OB60在多个CPU中同时执行。

8、时钟同步中断组织块OB61~OB64

用于处理PROFIBUS-DPV1等时钟同步,从采集各个从站的输入到逻辑结果输出,需要经过从站输入信号采样循环(信号转换)、从站背板总线循环(转换的信号从模块传递到从站接口)、PROFIBUS-DP总线循环(信号自从站传递到主站)、程序执行循环(信号的程序处理)、PROFIBUS-DP总线循环(信号从主站传递到从站)、从站背板总线循环(信号从从站接口传递到输出柜块)及模块输出循环(信号转换)7个循环,时钟同步中断将7个循环同步,优化数据的传递并保证PROFIBUS-DP各个从站数据处理的同步性。PROFIBUS时钟同步中断只能用于S7-400系列PLCCPU(具有DPV2功能)。

9、工艺同步处理中断组织块OB65

用于T-CPU(具有运动控制功能的CPU)工艺块与开始程序的同步处理。

10、冗余故障中断组织块OB70、OB72

用于S7-400H冗余系统,当I/O冗余故障,例如冗余的PROFIBUS-DP从站故障时,触发OB70的调用,当CPU冗余故障,如CPU切换、同步故障时,触发OB72的调用。如果I/O冗余,或者CPU冗余故障而在CPU中没有创建OB70、OB72,CPU不会进入停止模式。

11、异步故障中断组织块OB80~OB87

异步故障中断用于处理各种故障事件。

OB80:处理时间故障、CIR(ConfigurationInRun)后的重新运行等功能,例如OB1或OB35运行超时,CPU自动调用OB80报错,如果程序中没有创建OB80,CPU进入停止模式。

OB81:处理与电源相关的各种信息(S7-400系列PLCCPU只有电池故障时调用),出现故障,CPU自动调用OB81报错,如果程序中没有创建OB81,CPU不会进入停止模式。

OB82:诊断中断,如果使能一个具有诊断中断模块的诊断功能(例如断线、传感器电源丢失),出现故障时调用OB82,如果程序中没有创建OB82,CPU进入停止模式。诊断中断还对CPU所有内外部故障,包括模块前连接器拔出、硬件中断丢失等作出响应。

OB83:用于模块插拔事件的中断处理,事件出现,CPU自动调用OB83报警,如果程序中没有创建OB83,CPU进入停止模式。

OB84:用于处理存储器、冗余系统中两个CPU的冗余连接性能降低等事件。

OB85:用于处理操作系统访问模块故障、更新过程映像区时I/O访问故障、事件触发但相应的OB没有下载到CPU等事件,事件出现,CPU自动调用OB85报错,如果程序中没创建OB85,CPU进入停止模式。

OB86:用于处理扩展机架(不适用于S7-300系列)、PROFIBUS-DP主站、PROFIBUS-DP或PROFINETI/O分布I/O系统中站点故障等事件,事件出现,CPU自动调用OB86报错,如果程序中没有创建,CPU进入停止模式。

OB87:用于处理MPIGD通信及时钟同步故障,事件出现,CPU自动调用OB87报错,如果程序中没有创建,CPU不会进入停止模式。

12、处理中断组织块OB88

用于处理程序嵌套、区域数据分配故障,故障出现,CPU自动调用OB88报错,如果程序中没有创建,CPU进入停止模式。

13、背景循环中断组织块OB90

优先级最低,保证CPU最短的扫描时间,避免过程映像区更新过于频繁。程序的下载和CPU中程序的删除触发OB90的调用。只能用于S7-400系列PLCCPU。

14、启动中断组织块OB100~OB102

用于处理CPU启动事件,暖启动CPU调用OB100,热启动CPU调用OB101(不适合S7-300系列PLC和S7-400H),冷启动CPU调用OB102,温度越低,CPU启动时清除存储器中数据区的类型越多。

15、同步错误中断组织块OB121、OB122

OB121处理与编程故障有关的事件,例如调用的函数没有下载到CPU中、BCD码出错等,OB122处理与I/O地址访问故障有关的事件,例如访问一个I/O模块时,出现读故障等。如果上述故障出现,在程序中没有创建OB121、OB122,CP进入停止模式。

注意:不是所有的OB都可以在S7CPU中使用,例如S7-300系列PLCPU中只有暖启动OB100,操作系统不能调用OB101、OB102,CPU中可以使用的OB请参考CPU选型手册。

S7-300系列PLC中组织块的优先级是固定的,不能修改,在S7-400系列PLC中下列组织块的优先级可以进行修改:

OB10~OB47:优先级修改范围2~23。

OB70~OB72:优先级修改范围2~38。

OB81~OB87:优先级修改范围2~26,优先级24~26确保异步故障中断不被其他的事件中断。

几个组织块可以具有相同的优先级,当事件同时出现时,组织块按事件出现的先后顺序触发,如果超过12个相同优先级的OB同进触发,中断可能丢失。

 

 

 

 

 


详细至极,感谢!


我是一个电工,但我修的不仅是灯泡……
以下网友喜欢您的帖子:

  
侠客

经验值: 994
发帖数: 198
精华帖: 2
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 楼主 16楼 2019-01-24 07:39:57
以下是引用Zane在2019-01-23 22:59:42的发言 >10楼

建议楼主看一下这个帖子,他山之石是否可以攻玉?


http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1536480&b_id=81&b_sid=18&s_id=&num=15#anch

谢谢大神


我是一个电工,但我修的不仅是灯泡……
以下网友喜欢您的帖子:

  
游侠

经验值: 383
发帖数: 24
精华帖: 0
回复:300的PLC 通讯中断,停止运行,怎么能自复位??


只看楼主 17楼 2019-01-25 08:15:44

在项目中插入相应的组织块,


向前
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
300的PLC 通讯中断,停止运行,怎么能自复位??
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。