自由口接收不到信息

现在正在使用自由口接受数码显示器的数据,数码显示器的是这样的,从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日
下一篇 2020年11月1日

相关推荐

  • 模拟量模块EM232 CN程序问题

    我现在用S7-200和一个模拟量模块EM232 CN,在文本显示器TD 200C中调压力,来控制比例阀。我是这方面的初学者,不知道这段程序如何写?是不是将TD2…

    SIMATIC S7-200 2021年7月5日
  • STEP 7-MicroWIN SMART v2.1使用

    STEP 7-MicroWIN SMART v2.1如何用USB接口将PLC S7-200 CN连接到电脑?CPU 22…

    SIMATIC S7-200 2017年6月11日
  • 6SE70与S7 200通讯

    6SE70与200通讯必须要CPU226 或者226XM吗,怎么通讯? 问题补充:现在与224XP 通讯能控制,可以加使能和速度,但是状态字和参数值读不上来,为…

    SIMATIC S7-200 2021年7月5日
  • TP277触摸屏的声音

    TP277触摸屏幕的声音,怎么不象其他型号的,触摸有声音呢?是在哪里设置?谢谢 问题补充:TP277-6的Control Panel没有声音设置选项 最佳答案 不具备此功…

    SIMATIC S7-200 2021年7月5日
  • 西门子s7-200里面怎么去写台达伺服的程序

    PLC里面怎么写伺服的正转反转以及停止的程序?本人新手,请大神帮忙解答下 最佳答案 我不想说太多, 你要是能把我这个例子看懂,你其它的变频器也都是这个样子编程,道理都一样…

    SIMATIC S7-200 2021年7月5日
  • MP277怎么和PLC224通信

    MP277怎么和PLC224通信。我用的是6ES7901-0BF00-0AA0的通信电缆。但是一直连接不上。我的数据写不到PLC当中。是不是我什么地方设置错了?请指点。 问题补充:…

    SIMATIC S7-200 2021年7月4日
  • 程序密码如何破解

    请问,如何把STEP 7 MICRO/WIN 的一个.MWP文件的密码消除?子程序的保护密码如何破解? 最佳答案 没有方法破解项目密码及子程序的密码。…

    SIMATIC S7-200 2021年7月5日
  • 删除不了里面的程序

    有个s7-200 cn cpu224xp cn怎么也删除不了里面的程序。但可以下载程序块.高手指导下。 问题补充:系统块下载不了。怎么覆盖?软件的那个…

    2017年5月29日
  • s7-200运行一年多,昨天突然停机,sf灯亮

    s7-200  cpu222运行一年多都没问题,昨天突然停机,sf灯亮,故障代码10,显示内部软件错误,什么原因?谢谢 最佳答案 楼主可以把程序上传上来看看程序…

    SIMATIC S7-200 2021年7月5日
  • 请问microwin v4.0 sp6死机怎么办?

    请问microwin v4.0 sp6运行一段时间后突然死机,不能动了,关闭后,再也打不开了,只有重启电脑才能重新打开,请问这是为什么?还有我打开WINCCFL…

    SIMATIC S7-200 2020年10月31日