您现在的位置是:首页 > PLC技术 > PLC技术
STEP 7中处理日历中断方式
来源:艾特贸易2018-04-21
简介1 .概述 要启动一个日历中断,必须首先设定启动时间,然后开放中断。可以通过硬件组态数据或者使用 SFC 分别执行这两步操作。需要注意,如果通过硬件组态数据触发中断的话,日
1.概述
要启动一个日历中断,必须首先设定启动时间,然后开放中断。可以通过硬件组态数据或者使用SFC分别执行这两步操作。需要注意,如果通过硬件组态数据触发中断的话,日历中断将按照所设定的CPU参数而自动启动。
可以用两种方式启动一个日历中断。
●单次触发:在设定的时间点相关的OB仅仅被调用一次。
●周期性触发:相关的OB在每小时、每天、每周、每月或者每年的所有这个时间点都能被启动,由参数的配置决定。
单次触发的日历中断OB调用后,日历中断就被撤销了,同样可以通过使用SFC 29 CAN_TINT来撤销一个日历中断。
如果想再次启动一个已经撤销了的日历中断,必须重新设置启动时间,然后触发中断。
可以用SFC 31QRY_TINT来查询一个日历中断的状态。
2.启动期间的性能特点
冷重启或者温重启期间,操作系统将清除所有使用SFC设定的配置,而保留通过硬件组态数据设定的配置。在热重启期间,CPU将在主程序第一个完整扫描周期内恢复日历中断的服务。
可以通过使用SFC 31来查询启动OB内的日历中断的状态,然后撤销中断,或者重新设置并且重新触发中断。日历中断只有在RUN模式下才能获得服务。
3.出错时的性能特点
如果一个日历中断OB被调用,但是OB没有编程,则操作系统调用OB85(程序执行错误)。如果OB 85也没有编程,CPU将跳转到STOP模式。
一些日历中断在设置CPU参数时未选择,尽管其相关的OB有效,它也不能获得服务。CPU将跳转到STOP模式。
如果触发了一个单次触发的日历中断,但是启动时间已经(从实时时钟的观点看)过去了,操作系统将调用OB 80(计时错误)。如果OB 80无效,CPU将跳转到STOP模式。
如果触发了一个周期性的日历中断,并且启动时间已经过去了(从实时时钟的观点看),日历中断OB将在下一次时间周期到达的时候被执行。
不管是出于校正或者同步的目的,如果设定实时时钟推后大约20s以上,跳过日历中断的启动时间,操作系统将调用OB 80(计时错误),接着日历中断OB将精确地执行一次。
不管是出于校正或者同步的目的,如果设定实时时钟提前大约20s以上,一个触发的日历中断OB在已经过去的那一刻将不再执行。
当下一次(周期性的)调用发生时,如果日历中断OB仍在执行,操作系统将调用OB 80(计时错误)。当OB 80和日历中断OB执行完成后,日历中断OB将重启。
4.禁止、延时和启用
日历中断OB的调用可以用SFC 39DIS_IRT和SFC40 EN_IRT来禁止和启用,用SFC 41 DIS AIRT和SFC 41 EN_AIRT来延迟和启用。
点击排行
