自由口通讯无返回值

特意买了个温度仪和226CPU学习自由口通讯。学习模仿编程了N个版本,有的可以读取到温度,只是这个温度值偶尔对的。所以,线路应该是没问题的。
下面的这个程序,是最简单的吧?点一次M3.0,触发一次发送指令,读取一次温度。但是接收的都是0,无变化。

问题补充:
我这个CPU226,216-2BD21-0XB0,提示说不支持modbus库指令。所以,那些带有modbus库指令的参考程序都放弃了。

图片说明:

自由口通讯无返回值    自由口通讯无返回值    自由口通讯无返回值    自由口通讯无返回值   

最佳答案

1、 Modbus RTU 主站库对CPU的版本有要求。CPU 的版本必须为 2.00 或者 2.01(即订货号为 6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的 S7-200 CPU 不支持。
2、 在线你的CPU 查看一下是不是硬件版本低了,低了确实要用自由口编程来实现,不能调用指令库;如果硬件版本满足,可以参考阿鸣大师的方法。也可以参考下面的链接。
3、 附图是仪表的协议的话,按你附的程序,CPU和仪表就不可能通讯上。
4、 最主要的错误是,仪表的协议是MODBUS RTU协议,按协议附图CPU的请求帧只能是8个字节,结果你在请求帧中发送给仪表9个字节,那它就不认识你发的请求帧了
3、建议你用MODSCAN 32软件,是一个很好用的测试MODBUS 通讯的软件,可以在网上下载到,选择MODBUS RTU方式,用来确认仪表的MODBUS 通讯是否正常;
4、程序做如下改动
      A、主程序的网络2,将8传入VB500;最后一条语句MOVB 9,VB500可以删除了。
      B、端口初始化部分
            LD SM0.1
            LPS
            MOVB 9,SMB130
            AENO
            MOVB 16#9C,SMB187
            LRD
            MOVW 4,SMB190
            AENO
            MOVW 50,SMW192
            AENO
            MOVB 60,SMB194
            LRD
            ATCH INT_0:INT0,26
            LPP
            ENI
  C、其它程序不动
5、S7-200 Modbus通信常见问题链接
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart%20SMS/019.html

提问者对于答案的评价:
谢谢~~~~
按您的修改,通讯正确了,看见曙光了。
先采纳,我继续学习去。

最佳答案作者回复:
再好好在在线帮助里看看XMT,RCV指,以及中断事件、特殊寄存器中的SMB2部分,加深一下理解。共同学习与提高

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

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

相关推荐

  • 间接寻址的方便之处在哪里?

    西门子200PLC 的间接寻址方便在哪?什么情况下用间接寻址?平时编程都是用直接寻址没有用过间接寻址!  望大家帮我解释下听我一个朋友说在伺服X-Y轴…

    SIMATIC S7-200 2020年10月31日
  • 关于PLC密码

    因为密码我忘记了,现在想要重新下载程序,但无法清除密码,用软件里面的PLC-清除.但也提示要输入密码.请问各位高人,我应该如何清除密码重新下载程序呢,PLC型号为S7-222 最佳…

    SIMATIC S7-200 2021年7月5日
  • 200和上位机通讯的问题

    目前硬件组态是一台315-2DP挂4个200的PLC,他们用的是DP通讯.315与上位机使用以太网通讯.我现在想对其中一台200的PLC修改一点程序,能不能用在上位机200的软件里…

    SIMATIC S7-200 2017年8月18日
  • 时钟进度是多少呀?

    时钟进度是多少呀? 最佳答案 时钟精度典型值是2分钟/月(25度),最大误差是7分钟/月。 提问者对于答案的评价:xiexie

    SIMATIC S7-200 2021年7月5日
  • 用电缆:6ES7901-0BF00-0AA0(MPI)做为延长线可以吗?

    我从224XP串口用电缆:6ES7901-0BF00-0AA0(MPI)做为延长线与编程电缆(6ES7901-3CB30-0XA0)相接到计算机的COM1进行通讯为什么不行?望指导…

    SIMATIC S7-200 2021年7月5日
  • moudbus问题

    如图,他addr写着CPU作为从站地址不是1吗,但是右边写着地址是2。还有下面的&VB200什么意思? 问题补充:MBUS_INIT初始化从站指令,也就是说CPU当主站,通…

    2021年7月5日
  • EM253控制台达ASDA-B2驱动器接线

    EM253如何控制ASDA-BA驱动器 最佳答案 参考:定位模板EM253快速入门,https://support.industry.siemens.com/cs/document…

    SIMATIC S7-200 2021年7月5日
  • 电池寿命

    请问s7200电池6ES7 291-8BA20-0XA0,BC 293,它可以保存数据的时间是多久?样本说是200天,但是我在多个项目上发现断电20天就会清除数…

    SIMATIC S7-200 2020年10月31日
  • 西门子s7-200每组输出是否要单独再接交流电

    使用的是CPU226,DC输入/继电器输出。想问一下在整体连接了交流电后,每组输出是否还需要再连接交流电,比如第一组1L和Q0.0 —–Q0.3之间还要接交流电吗,…

    2021年7月5日
  • 定时器中值的显示问题

    LD I0.0EUTOF T37 50LD T37EDMOVW T37 VW100但是VW100显示的值不是+50,而是…

    2017年11月23日

发表回复

登录后才能评论