找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问
题。
悬赏西币:2 问题为何被关闭
定时中断0和定时中断1,是不是都是只有在EN为零的情况下才会去执行中断程序?
问题补充:我的意思是想请教:中断事件10和中断事件11是否都是在中断程序指令的EN使能端为零的实况下才能够实现中断。因为我在编程的时候发现使能端EN为1时并没有实现中断
产品版区:SIMATIC S7-200
提问时间:2019-06-30 21:47:44 提问者: kaiseng - 新生  第1级
问题ID: 219232
定时中断,定时中断,需要在SMB34/SMB35中定义定时中断时间周期,并连接定时中断子程序,启动中断后,才能够生效。
不理解你描述的EN,这个你指的是什么指令?
假设,定义一个定时中断,程序:
LD SM0.1
MOVB 10, SMB34 //定义10mS中断时间
ATCH INT_0:INT0, 10 //连接中断子程序int_0,及中断事件10(定时中断0)
ENI //开中断
这样,plc会自动在按10mS的时间周期循环触发一次中断,直到plc停止。
补充问题回复:
不是。定时中断是按定义好的时间周期循环重复进行的。
如上述定时中断例子程序中,定时中断会循环的按10mS周期重复进行,这样的程序一般用于数据采集等。
回答者: WWCWWC- 元老  第16级
2019-07-02 07:51:05
你对中断不是很了解,定时中断的含义是在设定定中断时间到了,就会去执行以下中断程序,等执行完中断程序后在跳到主程序里面去执行主程序,等中断时间再次计时到达后又去执行中断程序,中断和主程序就是这交替执行。在规定中断时间没计时到达一次就跳到中断程序执行一次,等中断时间执行完了就会跳到主程序里面来执行,中断时间每到达计时时间就会将中断计时清零,同时再次计时。
关于补充问题回答:定时中断是循环中断,比如你定义定时中断时间为1ms的话,没计时1ms就中断一次,每次中断的同时,计时会清零从新计时,定时中断的工作原理是在规定的时间到达后就执行中断,同时及时清零后再次计时,每次计时到达后就会中断,这样往复循环来执行中断程序。
中断及子程序__SIMATIC S7-200:http://www.ad.siemens.com.cn/productportal/prods/s7-200-portal/micropower2013/smart%20sms/009.html
回答者: Siemens automation- 资深顾问  第13级
2019-07-02 14:07:19
简单来说,对于定时中断程序,重要的是你为其设置的中断时间,比如10ms,那么在主程序执行的过程中,每隔10ms,主程序停止执行、进入中断程序、执行中断程序、完成中断程序、回到主程序执行,其中“进入中断程序”的时候就是你所说的中断程序的EN为1的时候,定时时间到达、进入中断程序,EN为1,其余时间EN为0
如果你遇到的是中断程序不执行的问题,请检查对于中断时间的设置
回答者: xywy- 新生  第1级
2019-07-02 16:39:14