关于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日 上午1:34

相关推荐

  • CP243联网下载问题?

    CP243模块放在第6个模块的位置,下载程序的时候老是弹出错误,但是现在可以连接上PLC,也可以通过PC ACCESS 采集到数据,但是只要下载程序就会出现如下…

    2020年10月31日
  • 一个按钮两种工作状态

    我见过一个设备上一个按钮做两种状态,第一次按下这个按钮时这个设备开,第二次按下时这个设备关。请问在PLC程序里是怎么实现的? 最佳答案 LZ你这种是一个按钮实现启停 你可…

    SIMATIC S7-200 2021年7月5日
  • V4.0 STEP 7 MicroWIN SP3

    我在windows10上安装了V4.0 STEP 7 MicroWIN SP3,无法设置PG/PC接口(见上传图片),怎么解决? 图片说明:…

    2021年7月5日
  • S7200.串口设置不了187.5k,我可以买个usb转接器转一下吗?

    我的224xp通讯不上,9.6 19.2都不行!所以只能试试187.5。但是串口选项里面没有187.5,我可以买个usb转232的转换器,然后装驱动,这样可以实现187.…

    SIMATIC S7-200 2017年5月29日
  • s7-200 plc的ppi口支持modbus通信吗?

    s7-200 plc的ppi口支持modbus-RTU的通信协议吗,s7-200内部的地址如何与modbus-RTU中的地址相对应? 最佳答案 支持的。如果将prot0或…

    SIMATIC S7-200 2017年8月16日
  • S7 200PLC 与smarter 700IE问题

    先说PLC吧!之前用USB/PPI电缆下载程序没问题的,可是自从下了一次触摸屏的程序就不行啦!下载不了啦!(触摸屏下载程序,用的网线,设置更改了ip地址,设置PC/PG口,可是下载…

    2017年6月10日
  • S7-200和smart700IE通讯

    S7-200通过PPI协议与smart700IE在波特率为19200或187500情况下进行通讯,怎么样才能实现? 问题补充:我自己接的线(3接3 ,8接8),在波特率为…

    2017年12月21日
  • 倒计时的程序

    在TD400C上显示一个数值为300秒的倒计时,这个值为0时电机启动.每次减少1最后为0. 在程序中用TON作为启动电机的延时吸合继电器,这个300是定时器TON里的定值…

    SIMATIC S7-200 2021年7月5日
  • 求助S7200于条码扫描枪通讯程序

    各位大师好,我用条码扫描枪鉴别四中标有不同标签的产品外壳,当扫描枪扫到相应的产品时,PLC对应一个输出Q(即Q0.0 ,Q0.1,Q0.2,Q0.3),从而判断是哪类产品…

    SIMATIC S7-200 2021年7月5日
  • s7-200模拟电位器的作用及使用

    请问s7-200模拟电位器的作用及使用? 最佳答案 一般也就是做实验的时候用用. 或者你在程序中需要得到一个给定的常量,可以通过模拟电位器得到. 编程是一个人创…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论