关于S7-200中断的退出

我用下面中断程序接受9个字节的数据,我想问下这段程序是接受完9个字节才退出中断还是每接受一个字节就退出一次,如果是接受9个才退出,请问为啥顺序执行一遍但不退出中断?
 INT_0
 LD     SM0.0
 MOVB   SMB2, *VD256
 LD     SM0.0
 INCD   VD256
 INCW   VW200
 LD     SM0.0
 AW>=   VW200, 9
 S      M0.0, 1

问题补充:
3楼说的结束指令是RETI吗???STEP7在编译的时候自己会添上的,那是不是我可以理解为,我用VB连续发送几个字节,PLC每收一个字节退出一次中断,然后再进来???

最佳答案

我用VB连续发送几个字节,PLC每收一个字节退出一次中断,然后再进来???
 是的。

  
 当有一个字符到通讯口时,就会执行INT_0,怎么执行呢?从上到下,一个指令一个指令执行
 要执行多长时间呢?0.8+15+14+0.8+22+20+0.8+23+2.9=99.3微秒=0.0993毫秒
 当执行完S  M0.0, 1后,中断程序退出,返回到原点,继续执行原来的程序。

  
 INT_0
 LD     SM0.0                //执行所需的时间0.8us
 MOVB   SMB2, *VD256         //执行所需的时间15us+14us
 LD     SM0.0                //执行所需的时间0.8us
 INCD   VD256                //执行所需的时间22us
 INCW   VW200                //执行所需的时间20us
 LD     SM0.0                //执行所需的时间0.8us
 AW>=   VW200, 9             //执行所需的时间23us
 S      M0.0, 1              //执行所需的时间2.9us (VW200≥9)

 如果用VB发送10个字节,那么中断0执行10次。

 这样的中断程序是越短越好,防止中断程序还没执行完,通讯口又来字符了,假如波特率是9600,一个字符传送的时间是1.04毫秒(一个字符按10位计算),如果中断程序执行的时间大于1.04毫秒,那字符可能会丢失。

 如果中断程序里有CRETI(从中断有条件返回)指令,当条件满足时,CRETI后面的语句就不会被执行,退出中断程序,返回到原点,继续执行原来的程序。

  

 中断程序执行完了就退出。
 通讯口有字符来的时候,就执行这个中断。
 执行程序的时候不会等待通讯某个状态的,相反的是通讯的某个状态会产生中断。
 程序不会在某个点停留的。
 每个指令的执行时间在手册上都能查到,累加一下,就是中断执行的时间。

 另外可以用RCV指令执行接收数据,而不用字符中断方式,具体见手册。

提问者对于答案的评价:
谢谢您~~~~

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc353497.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午1:34
下一篇 2021年7月5日

相关推荐

  • em253请教

    用em253能否实现以下功能:向一个方向运动一定长度,如果运动中出现一个信号(不是每次都出现),立即反向运动到起点 最佳答案 1.  可以实现。 2.…

    SIMATIC S7-200 2021年7月4日
  • 关于顺序流程图

    在做顺序流程图,发现步上面还有一个条件才能输出,可是我看别人的顺序流程图,步后面就直接输出,这条件怎么加啊,有大神看图帮我解释一下吗 问题补充:感觉没说清楚,我又补充了一张图2,就…

    2017年5月29日
  • 200 smart有没有写好的官方例程

    200 smart有没有写好的官方例程这样可以更容易理解一些 最佳答案 S7-200 SMART 应用例程http://www.ad.siemens.…

    SIMATIC S7-200 2021年7月5日
  • 西门子200和300

    西门子PLC200和300的主要区别在哪里? 最佳答案 西门子PLC介绍小型系列S7-200(系列已经大规模停产,已经逐步被淘汰)编程软件STEP 7-Micro/WIN…

    SIMATIC S7-200 2021年7月5日
  • 数值转换

    请问如何将一个整数地址数值转换成二个整数地址数值,比如VW0=12,如何转换后使VW10=1,VW11=2,小弟新手,一直想不出,请各位帮忙 最佳答案 除以10,商放到vw10,余…

    SIMATIC S7-200 2021年7月5日
  • WINCC与S7200

    我用了TP270与S7200,用了后,发现屏上用IO域输入,第一次能弹出键盘,如果修改参数后,第二次就弹不出键盘了,如果不修改,每次都能弹出键盘,我又在屏上只做了两个输入输出域,情…

    SIMATIC S7-200 2021年7月5日
  • 求教S7200SMART的PT100信号采集

    各位高手:我以前做PT100信号采集,用的是温度变送起,直接采集4-20ma的电流信号;为方便我这次用了PT100专用模块ar04,采集到的信号转换为浮点数后除以10就是温度值,在…

    SIMATIC S7-200 2017年6月13日
  • EM231RTD故障,PLC200能判断?

    EM231RTD接了两个热电偶,运行过程中,不知道怎么回事,刚开始温度都能在触摸屏上显示,但是半夜突然BUG了,PLC200用的检测这个温度,然后进行加热控制,今天早上过来看,昨天…

    2021年7月5日
  • S7-200怎么接地?

    因找答案没法贴图,图片可查看同样问题的帖子http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=3&a_id=742459&s_i…

    SIMATIC S7-200 2020年11月1日
  • S7 200 后续配件问题

    听说 S7 200 PLC 今后不再生产了,那么以后用户需要更换PLC或者模块怎么办? 最佳答案 不需要听说,200于15年就停产了。一般西…

    SIMATIC S7-200 2017年6月1日

发表回复

登录后才能评论