自由口接收不到信息

现在正在使用自由口接受数码显示器的数据,数码显示器的是这样的,从PLC发送6个字节的数据到数码显示器,0X3A,0X02,0X43,0X45,0X0A,之后显示器发送一串数据到PLC ,
我使用的是发送、接受中断的方式,
现在PLC 发送信息已经产生中断了,但是PLC无法接收到数据,接受数据都是0,
请大侠帮分析一下。
我定义的发送数据是:VB400~VB406,装载的数据时发送数据个数6和以上的5个字节数以及结束符0X0D。这样发送数据会有问题吗?
中断程序应该是没有问题的。

问题补充:
dhyyyy兄说的”接收结束方式“是怎么设置的啊?
还有我接收到的第一个和后面的数据都是0;
用示波器检测RS485的A、B通道,发送数据时没有脉冲,是怎么回事?
直接由计算机发送数据可以接收到反馈数据的。
我定义了3个中断,定时中断,发送完中断都已经产生了,就是无法长生接收完成中断!!

最佳答案

发一个通用的通讯程序:

MAIN:

LD          SM0.1

MOVB      XXX  ,    SMB30        //根据和对方约定的波特率,字符格式等设定

MOVB      16#9C,  SMB87        //允许接收信息,使用SMB90值检察空闲状态,定时器是信息定时器  ,  超过SMW92值停止接收      

MOVW      +80,      SMW92        //根据报文长短,波特率及从站响应的快慢设定,这个时间要小于接收中断(INT3)里定时中断的时间。

MOVW      +0,        SMW90

MOVB      200,      SMB94            //SMW94    最大接收字符数,这里无用,但必须要设置。

ENI

LD          SM0.1

ATCH      接收:INT3,  9            //传输完成中断

MOVB      150,  SMB34

ATCH      发送:INT2,  10          //定时中断

发送:

LD          SM0.0

DTCH      10

XMT        VB100,  0

接收:

LD          SM0.0

RCV        VB200,  0

MOVB      250,  SMB34

ATCH      发送:INT2,  10

1  本程序只适用于单从站的问答式规约(包括modbus)。该程序为主站程序。

2  发送的数据放置在数据块,比如读取从站地址为16#12的寄存器的数据。校验提前算好,减轻PLC负担。

VB100  16#8  16#12  16#03  16#00  16#0A  16#00  16#02  16#E6  16#AA

3  不用考虑起始字符  结束字符等等,以下是通讯流程图,不论从站有无故障,询问不受影响。

4  9600波特率,从站回复13字节

5  校验程序可以放在主程序里,

有时间再发一个多从站的程序,程序大小和这个基本程序不变。  

提问者对于答案的评价:
虽然还没有解决问题,但还是谢谢!

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

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

相关推荐

  • 编程问题求教

    在程序中,我如何把VW200 加2 变成VW202?(不是用ADD_W指令把VW200内部的数值+2!是把地址号加二!)   &n…

    SIMATIC S7-200 2021年7月5日
  • s7200cpu224xp可以实时控制步进电机转动吗?

    想做一个程序,根据上位机传输的数据VB100控制步进电机的角位移怎么实现?具体Q0.2怎么实现控制方向?LD     SM0.1C…

    SIMATIC S7-200 2017年6月14日
  • 用WINCC监控一台S7-200,在WINCC软件中应该如何操作?

         例如:如果用WINCC监控S7-300,会在WINCC软件中,“变量管理”加载“SIMATICS7 PROTO…

    SIMATIC S7-200 2021年7月5日
  • s7-200与步进电机

    一个360度旋转装置,怎么用一个光电定位步进电机的零点 最佳答案 http://www.ad.siemens.com.cn/service/answer/solution.aspx…

    SIMATIC S7-200 2017年6月7日
  • SMART LINE触摸屏 为啥不能改成192.168.0.网段

    SMART LINE触摸屏 为啥不能改成192.168.0.网段 最佳答案 只要是系统中唯一的IP地址,应该允许修改。你能够贴个图?或者再说明一下原因。 提问者…

    SIMATIC S7-200 2017年5月31日
  • 程序下载

    同样的下载线,在台式机上就可以,在我的笔记本上就显示通信错误,请检查通信电缆和改动通信设置,点击通信按钮后,出现所选设备不存在或不受支持,请重选一个新设备。郁闷。 问题补充:试过后…

    SIMATIC S7-200 2021年7月5日
  • 问几个自由口的问题

    1、200做主站,在主程序里面首次扫描执行发送指令,这个发送指令是不是在之后就不在执行,而是只执行接收完成中断程序里面的发送指令。2、想要循环发送两条不同的指令,这个逻辑是否需要写…

    SIMATIC S7-200 2020年10月31日
  • S7-200的本机I/O与扩展I/O的地址分配

    请问一下谁可以很确定清晰的说一下S7-200的本机I/O与扩展I/O的地址分配规律???? 最佳答案 地址分配是自动进行的,所以要了解,以便于编程时的分配和使用!!! 首…

    SIMATIC S7-200 2020年10月31日
  • 上升沿和下降沿的问题

    如果采用加计数器来对泵的运行次数进行计数,那么计数器的输入端是串联一个上升沿触点好还是下降沿触点好?有什么差别?与PLC的扫描周期关系具体怎样理解?是否可以这样理解,泵在运行过程中…

    SIMATIC S7-200 2017年6月1日
  • plc200 与船上监控系统VMS的连接与通讯

    PLC控制的几台机器要与VMS连接,要求能在VMS系统的触摸屏上能对PLC控制的机器进行起停操作,请问有谁详细知道VMS系统的,与PLC又如何通讯,谢! 问题补充:以前我们就是用S…

    SIMATIC S7-200 2021年7月5日