登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:中断初始化的疑虑

点击:876 回复:6

下面是网友给出的S7-200的中断程序和提出的疑问:
主程序:
Network 1
LD     SM0.1
CALL   SBR7
子程序 SBR7:
LD     SM0.0
MOVB   200, SMB34
ATCH   INT1, 10
ENI
中断程序:
Network 1 // 网络标题
LD     SM0.0
MOVW   AIW0, VW300
主程序用SM0.1调用中断的初始化子程序,中断程序采集AIW0的数据并存储到VW300。我的疑虑是既然用SM0.1,说明在首次扫描后就不再调用子程序了,不调用子程序就达不到中断的功能,每200ms会采集一次AIW0吗?
下面是emil128的回帖:
你头一天上班(LD     SM0.1),BOSS把你叫到办公室给你安排个任务(CALL   SBR7)
要求你每个星期五下午(MOVB   200, SMB34),放下手里的活,去一次分公司(ATCH   INT1, 10), 把分公司这周的业绩报表拿回来(MOVW   AIW0, VW300)
 首次扫描时调用了一次子程序,目的是设置中断如何工作。
设定完了,中断程序当然就按照设定的方式开始工作了,直到重新设置该中断。
 所以就算之后BOSS没有再跟你提要求,你仍旧要在每周五把报表拿回来了。
[/URL] [/URL]
13-03-14 09:38
这个网友的比喻不错
13-03-15 05:52
麻烦廖老师给讲解一下我不明白的问题。
网络3里的SM0.1=1 时(即在首次扫描周期里)将0送入VW260与VB262,而NOT为求反指令,故使 首次扫描周期里( 即SM0.1=1 时 )由于NOT求反使其输出=0,而不执行PID程序,首次扫描过后, SM0.1=0,执行网络1的JMP指令,直接跳到网络4了,也没执行PID程序。这个PID指令是不是没执行啊?
附件
附件
附件
13-03-15 12:40

引用 足不出户 在 2013/3/15 12:40:51 发言【内容省略】

看来是没有执行。
13-03-17 19:28
可是这段程序是PID向导自动生成的,既然不执行,那有什么作用呢?
13-03-17 19:59
继续等答案!
13-03-18 19:41

引用 足不出户 在 2013/3/18 19:41:22 发言【内容省略】

向导生成的初始化程序是加密的,不用管它内部的代码,能用就行。
13-03-19 09:55

工控新闻

更多新闻资讯