上篇文章中我们介绍了西门子S7-200 SMART的中断及中断指令,本篇我们通过一个简单的例子来学习中断指令的使用,并练习编写中断程序,在I0.0的上升沿通过中断使Q0.0立即置位,在I0.1的下降沿通过中断使Q0.0立即复位。我们来编写程序,启动STEP7-Micro/WIN SMART创建一个新项目,创建新项目后首先编写处理I0.0上升沿事件的中断程序,在指令树的位逻辑中拖放一个常开触点到中断程序INT_0,输入地址SM0.0,再拖放一个立即置位指令,输入地址Q0.0,置位个数为1。
![b3360f299c3b650b3f87f93b753fe004.png](https://i-blog.csdnimg.cn/blog_migrate/35cbc21a0cec3b5921ab2521e624d882.jpeg)
编写中断程序INT_0
我们再来编写一个处理I0.1下降沿事件的中断程序,插入一个新的中断程序INT_1,拖放一个常开触点SM0.0,再拖放一个立即复位指令,输入地址Q0.0,复位个数为1。
![f1fe9ef9b82d1c74d694378582a1ae1b.png](https://i-blog.csdnimg.cn/blog_migrate/91285c0954dee7941c9c77a4b4f58a46.jpeg)
编写中断程序INT_1
回到主程序,拖放一个常开触点输入地址SM0.1,在指令树的中断文件夹中拖放中断连接指令到编程区域,INT处输入0号中断程序名,EVNT处输入I0.0上升沿事件号0,向下分支,再拖放一个中断连接指令,INT处输入1号中断程序名,EVNT处输入I0.1下降沿事件3,继续向下分支,拖放一个中断允许指令,这样在程序第一次扫描时就关联了中断事件以及相应的中断服务程序并允许全局中断,程序编写完成后保存项目。
![467efedf2ed901f40ab1510d7ff44ed8.png](https://i-blog.csdnimg.cn/blog_migrate/8f897df93aa13e58663c854b37e519b1.jpeg)
编写主程序调用中断程序
下载并测试。将项目编译并下载到PLC,在状态图表中输入地址Q0.0,启动对状态图表变量的持续监视,拨动外接开关使I0.0产生上升沿,Q0.0立即变为1,拨动外接开关使I0.1产生下降沿,Q0.0立即变为0。
![b244ed31c9435c13480b8e7b065691b6.png](https://i-blog.csdnimg.cn/blog_migrate/11a54b662effe8dbaa5635f31103d2f5.jpeg)
测试程序
本篇我们通过一个实例学习了中断指令的使用,并编写测试了中断程序,下篇文章我们继续学习西门子S7-200 SMART的相关内容,欢迎持续关注。号内私信发送关键字“200”获取一套西门子S7-200视频教程。