自由口通讯RCV指令不结束?


1. 一台电脑监控程序及状态表,另一台电脑用串口调试助手监控串口数据。电脑,电缆,串口等都没有问题。
2. 手册上的自由口通讯例程已经做通的。
3. 我现在要做一个自由口通讯,发送和接收均是 以7e开始 以5e结束。
4. 我的程序是首先PLC发送一个数据包,然后接收。
5. 本来已经提了一个问题,结果在问题补充的时候,补充了好几次都弄不上去。就新建了问题。


下午题的问题中,程序有点问题,用的手册上的例程,本来想屏蔽的,结果没有把NOT指令屏蔽掉,因为在NOT指令后面有一个RCV指令。现将新的程序贴上
主程序:
网络1
LD     SM0.1
MOVB   16#09, SMB30                //初始化自由口
MOVB   16#9C, SMB87                // 16#B2.16#B0 均设置过,没有成功
MOVB   16#7E, SMB88                //起始字符
MOVB   16#5E, SMB89                ///结束字符
MOVW   25, SMW90                   ///空闲超过5毫秒
MOVW   50, SMW92                   ///计时器超过15毫秒
MOVB   100, SMB94                  ////最大接收100个字符
ATCH   INT_0:INT0, 23              /// 连接中断0到接收结束事件
ATCH   INT_2:INT2, 9               /// 连接中断2到发送结束事件
XMT    VB500, 0                    /// 发送数据
ENI
INT_0          /// 中断0
LD     SM0.0
+D     1, VD2000                   ///////中断计数,监控中断
XMT    VB500, 0
INT_2 
LD     SM0.0
+D     1, VD2008                   ///中断计数,监控中断
RCV    VB300, 0

我的程序本意是想RCV指令在设定的时间内不管有没有收到信息都自动停止接收,再次转入发送(XMT)。但是上述程序经过测试发现,PLC没有收到串口的数据,还是不自动停止接收。收到数据后立即发送数据。
请教我如何完成这个功能:在一定的时间内不管有没有收到信息都自动停止接收,停止RCB指令。要不怎么都发不了数据。

最佳答案

SM87.7(SM187.7)被修改后,必须执行一次RCV指令才能启停接收功能。也就是说:在设定的时间内,无论是否有数据,都将SM87.8复位,然后执行一次RCV指令关闭接收功能。如果不执行RCV指令,RCV的状态是不会发生变化的。

提问者对于答案的评价:

问题在前天已经解决,思路是鼠老爹这种思路。看来还是我理解错了。我的理解是只要设置了SMW90和SMW92,SMB87设置为16#9C等,只要设置了正确了这几个参数,经过设定的时间,RCV指令有没有接收到数据都会自动接收终止,自动放开自由口的占用。实际做了大量测试,都没有成功。按照鼠老爹的说法,就算终止条件满足了,还得复位SM87.7,同时调用一次RCV指令才能结束对自由口的占用。
感谢各位的关注,感谢鼠老爹大侠!

专家置评

关于自由口通信,论坛上有个精华贴,大家可以有时间参考一下!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日
下一篇 2020年11月1日

相关推荐

  • MODBUS通讯V存储区地址问题

    现西门子224CN与主站1200进行通讯modbus通讯,现200V存储区设置如下:起始地址为&VB0,最大保持寄存器区:1000,库存储区地址为VB2000现主站要对从站进行写入…

    SIMATIC S7-200 2020年11月1日
  • 200PLC远距离通讯问题

    请大家帮忙出个方案啊:有三台200PLC柜A、B、CA和B较近200mA和C较远2KM现在需要在C处监控和操作A、B、C三处的数据。请问怎么实现,用什么网络较好。 问题补充:如果采…

    2019年6月11日
  • 自由口能先发送再接受

    要求S7200自由口通信,先发送数据,后接收返回,但是我初始化通信口之后,就无法发送,必须先接收,再有数据发送.请问这样的要求能够完成吗? 问题补充:我照做了,在开始的时候发送数据…

    SIMATIC S7-200 2020年11月1日
  • LOGO!Soft Comfort V5.0 中文版(下载)

    各位西门子的朋友们,请问在哪里能下载LOGO!Soft Comfort V5.0  中文版???? 最佳答案 LOGO!Soft …

    SIMATIC S7-200 2021年7月5日
  • 浮点数处理的不知名错误

    最近再作一个项目的时候(smart 200,并且再1200上也测试了),发现了1个问题,浮点数相加的指令: LD    …

    SIMATIC S7-200 2021年7月5日
  • s7-200与两种协议变频器通讯

    用224xp与西门子420系列变频器和台达变频器通讯,在网上看到西门子变频器可以用USS协议库,台达变频器可以用modbus或自由协议,两台变频器通讯线是用PLC上同一个485口吗…

    SIMATIC S7-200 2021年7月4日
  • S7-200间接寻址编程问题

    我用三菱的PLC编了一个间接寻址的程序ADD D300V0 D1450 D300V0,但不知用西门子S7-200怎么编程.能不能给出相应程序。谢谢 最佳答案 可以参照这段程序实现L…

    SIMATIC S7-200 2020年10月31日
  • 如何将编码器转动的速度显示到TD400

    如何将编码器转动的速度显示到TD400上,编码器转动一周是500脉冲,对应的长度是350毫米,那如何将转动速度 米/秒 显示到TD400上,CPU是S7-200…

    SIMATIC S7-200 2021年7月5日
  • S7-200与WINCC通讯需要的软硬件

    CUP224 PPI接口已经被触摸屏占用,想采用以太网通讯,请各位高手看下这个配制是否正确软件     PC_ACCES…

    SIMATIC S7-200 2017年10月29日
  • 高数计数

    采用的增量型编码器,当记到某一数值是,突然断电能否实现断电保存,在旋转时在原基础上累加,请教各位有什么好的方法吗,最好写个程序告诉我,我的邮箱zwj_ts961@163.com,感…

    SIMATIC S7-200 2020年11月1日