盐城市西门子中国(授权)一级代理商-西门子选型-西门子技术支持-西门子维修服务
- 供应商
- 湖南西控自动化设备有限公司
- 认证
- 联系电话
- 15344432716
- 手机号
- 15386422716
- 销售顾问
- 杨本刚
- 所在地
- 中国(湖南)自由贸易试验区长沙片区开元东路1306号开阳智能制造产业园(一期)4#栋301
- 更新时间
- 2024-12-29 08:50
单按钮启停的程序有很多种实现方式,今天给大家介绍如何用中断实现这一功能。首先我们了解一下中断的概念,plc一般在主程序或子程序中扫描,不管扫描到哪个地方,只要当中断事件到来时,plc会立刻停止主程序或子程序的扫描,而跳转到指定的中断程序中,优先执行中断中程序,并且立刻将运算的结果刷新输出,而不需要等到扫描周期刷新输出阶段统一刷新,这样响应速度才可以不受扫描周期长短的影响,中断程序执行完毕会返回到之前中断的地方,继续扫描其它程序。在s7-200smart plc中,中断事件有很多,因此不同的中断事件开发成不同编号(evnt)来区分。和普通子程序一样,中断程序也可以有128个,用中断程序号区分(int_x)。中断事件触发时进入哪个中断程序,系统并没有进行关联,而是需要我们编写程序进行中断连接,提示该事件到来时执行对应的中断程序的动作。了解了中断的相关概念后我们再来看一下中断中常用的指令。
中断连接(atch)指令:建立中断事件号与中断程序的连接。需注意连接并不代表产生了中断事件。产生中断时立刻执行中断程序,且只执行一遍。
多个事件号可以连接同一个中断程序,但一个事件号不能同时连接多个中断程序。如果连接到第二个中断程序,第一个将自动断开。
中断允许(eni)指令:全局性启用所有附加中断事件进程。
s7-200smart中断功能默认是禁止状态,需要使用中断功能,应使用eni指令编写程序允许开放中断功能。只需要执行一次,即可将所有中断启用。一般用sm0.1或边沿执行,且不能写在中断里面。如下所示程序为第一次按下i0.0,q0.0点亮,第二次按下i0.0,q0.0熄灭,如此循环。
这是主程序,建立中断连接,0号事件为i0.0上升沿,和中断程序int_0建立连接,开放中断。第一次按下i0.0,执行中断程序0。
在中断程序0中,点亮q0.0,同时把0号事件和中断程序1建立连接,自动会和0号中断程序断开连接,再次按下i0.0时会执行中断程序1中的程序。
在中断程序1中,复位q0.0,同时把0号事件和中断程序0建立连接,自动和1号中断程序断开连接,下次按i0.0时执行中断程序0中的程序。