西门子S7-1200PLC教程 课件 第6章 中断_第1页
西门子S7-1200PLC教程 课件 第6章 中断_第2页
西门子S7-1200PLC教程 课件 第6章 中断_第3页
西门子S7-1200PLC教程 课件 第6章 中断_第4页
西门子S7-1200PLC教程 课件 第6章 中断_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章中断

程序循环OB延时中断OB循环中断OB硬件中断OB1程序循环OB程序循环OB在CPU处于RUN模式时,周期性地循环执行。可在程序循环OB中放置控制程序的指令或调用其他功能块(FC或FB)。主程序(Main)为程序循环OB,要启动程序执行,项目中至少有一个程序循环OB。操作系统每个周期调用该程序循环OB一次,从而启动用户程序的执行。1程序循环OB操作系统的执行过程,如图所示。(1)操作系统启动扫描循环监视时间。(2)操作系统将输出过程映像区的值写到输出模块。(3)操作系统读取输入模块的输入状态,并更新输入过程映像区。(4)操作系统处理用户程序并执行程序中包含的运算。(5)当循环结束时,操作系统执行所有未决的任务,如加载和删除块,或调用其他循环OB。(6)最后,CPU返回循环起点,并重新启动扫描循环监视时间。1程序循环OB程序循环OB的实操如下:在程序循环OB123中调用FC1。(1)创建程序循环OB123(2)创建FC1(3)在OB123中调用FC12延时中断OB

延时中断OB在经过一段指定的时间延时后,才执行相应的OB中的程序。西门子S7-1200PLC最多支持4个延时中断OB,通过调用SRT_DINT指令启动延时中断OB。在使用SRT_DINT指令编程时,需要提供OB号和延时时间,当到达设定的延时时间时,操作系统将启动相应的延时中断OB;尚未启动的延时中断OB也可以通过CAN_DINT指令取消执行,同时还可以使用QRY_DINT指令查询延时中断的状态。延时中断OB的编号必须为20~23,或大于/等于123。2延时中断OB

中断程序的输出是可以保持的。延时中断可以使中断很准时,可以实现一键启停。延时中断最大的意义是能实现比较准确的定时。因为定时器都是在一定范围内且受扫描周期的影响。但是中断不受扫描周期的影响。所以延时中断的定时时间要比普通定时器的定时时间准确很多。2延时中断OB

延时中断OB的实操如下:当I0.0由1变0时,延时5s后启动延时中断OB20,并将MD200自动加1。(1)创建延时中断OB20(见图6-5)。2延时中断OB

延时中断OB的实操如下:当I0.0由1变0时,延时5s后启动延时中断OB20,并将MD200自动加1。(2)在OB20中编程,当执行延时中断OB20时,MD200自动加1(见图6-6)。2延时中断OB

(3)在OB1中编程调用“SRT_DINT”指令启动延时中断;调用“CAN_DINT”指令取消延时中断;调用“QRY_DINT”指令查询中断状态。在"指令->扩展指令->中断->延时中断"中可以找到相关指令(见图6-7)。2延时中断OB

(4)当M100.0由1变0时,延时5s后执行中断,可看到MD200自动加1;当M100.0由1变0时,在延时的5s到达之前,如果M100.1由0变1则取消延时中断,OB20将不会执行(见图6-8)。

3循环中断OB

循环中断OB在经过一段固定的时间间隔后执行相应的中断OB中的程序。S7-1200PLC最多支持4个循环中断OB,在创建循环中断OB时设定固定的间隔扫描时间。在CPU运行期间,可以使用SET_CINT指令重新设置循环中断的间隔扫描时间、相移时间(当使用多个时间间隔、相同的循环中断事件时,设置相移时间可使时间间隔相同的循环中断,彼此错开一定的相移时间执行。);同时还可以使用QRY_CINT指令查询循环中断的状态。循环中断OB的编号必须为30~38,或大于/等于123。

3循环中断OB

相移是为了防止两个中断之间排队影响计时的精度,避免两个同时产生中断的优先级之间的排队,从而影响二者中一个计时的精度。利用循环中断可以执行一些不需要实时执行的程序,隔一段时间采集,隔一段时间执行。可以放在循环程序中去做的,放在OB30~OB38中。比如数据的采集,通信、PID。

3循环中断OB

循环中断OB的实操如下:运用循环中断,使Q0.0由0.5s输出为1,由0.5s输出为0,即实现周期为1s的方波输出。(1)创建循环组织块OB30,扫描时间为500ms(见图6-9)。

3循环中断OB

循环中断OB的实操如下:运用循环中断,使Q0.0由0.5s输出为1,由0.5s输出为0,即实现周期为1s的方波输出。(2)在OB30中编程(见图6-10),当循环中断执行时,Q0.0以方波形式输出。

3循环中断OB

从图6-11中可以看到CPU的输出Q0.0指示灯0.5s亮、0.5s灭交替切换。若要重新设置循环中断时间,可以在OB1中编程调用SET_CINT指令,如CYCLE=1s(即周期为2s);调用QRY_CINT指令可以查询中断状态。在“指令→扩展指令→中断→循环中断”中可以找到相关指令,如图6-12所示。

4硬件中断OB

硬件中断OB在发生相关硬件事件时执行,可以快速响应并执行硬件中断OB中的程序(如立即停止某些关键设备)。硬件中断一般用作紧急事件的处理,比如故障、过热、过载、过流等。硬件中断事件包括内置数字输入端的上升沿和下降沿事件及HSC(高速计数器)事件。当发生硬件中断事件时,硬件中断OB将中断正常的循环程序而优先执行。S7-1200PLC可以在硬件配置的属性中预先定义硬件中断事件,一个硬件中断事件只允许对应一个硬件中断OB,而一个硬件中断OB可以分配给多个硬件中断事件。在CPU运行期间,可使用“ATTACH”附加指令和“DETACH”分离指令对中断事件重新分配。硬件中断OB的编号必须为40~47,或大于/等于123。

4硬件中断OB

硬件中断OB的实操如下:当硬件输入I0.0上升沿时,触发硬件中断OB40(执行累加程序),当硬件输入I0.1上升沿时,触发硬件中断OB41(执行递减程序)。(1)创建硬件中断OB40(见图6-13)。

4硬件中断OB

硬件中断OB的实操如下:当硬件输入I0.0上升沿时,触发硬件中断OB40(执行累加程序),当硬件输入I0.1上升沿时,触发硬件中断OB41(执行递减程序)。(2)在OB40中编程。当硬件输入I0.0上升沿时,触发硬件中断执行MD0自动加1(见图6-14)。

4硬件中断OB

硬件中断OB的实操如下:当硬件输入I0.0上升沿时,触发硬件中断OB40(执行累加程序),当硬件输入I0.1上升沿时,触发硬件中断OB41(执行递减程序)。(4)在OB41中编程。当硬件输入I0.1上升沿时,触发硬件中断执行MD100自动减1(见图6-16)。。

4硬件中断OB

硬件中断OB的实操如下:当硬件输入I0.0上升沿时,触发硬件中断OB40(执行累加程序),当硬件输入I0.1上升沿时,触发硬件中断OB41(执行递减程序)。(3)创建硬件中断OB41(见图6-15)。

4硬件中断O

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论