自由口通讯无返回值

特意买了个温度仪和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

相关推荐

  • 西门子S7-200smart编程软件

    西门子S7-200smart编程软件下载地址 钻石用户推荐最佳答案 STEP 7 MicroWIN SMART V2.5.iso:(smar…

    SIMATIC S7-200 2021年7月5日
  • 请问有没有用户“自定义指令库”完整的例子

    请问有没有“用户自定义指令库”完整的例子,有的话可否发一份给我借鉴下。 我在“Micro ‘n Power”,文档中看到“用户自定义指令库”的制作步骤…

    SIMATIC S7-200 2020年11月5日
  • 程序执行出现问题

    大家好,刚学PLC,老师给了个数码管的例子程序,怎么看也不懂,最后自己写了程序: 就是现实一个7段的数码管数字,从0到9然后循环显示,每个数字间隔一秒 我定义的…

    SIMATIC S7-200 2021年7月4日
  • 手轮6FX2007-1AD02和6FX2007-1AC14的区别

    您好,请问840D POWERLINE数控机床,手轮6FX2007-1AD02和6FX2007-1AC14的区别,并请提供手轮的相应接线图,如果现在机床手轮是6FX200…

    SIMATIC S7-200 2021年7月5日
  • s7-226 步进电机驱动器

    请问,一个226晶体管输出的PLC可以控制几台步进电机驱动器,我要控制6台,可以加EM253模块吗?此模块可以同时控制4台步进电机驱动器吗? 最佳答案 S7 200&nb…

    SIMATIC S7-200 2021年7月4日
  • 一个中断程序的问题

    在梯形图中调用 中断连接 指令时ATCH中的INT项,为什么用INT0时就没有问题,用INT1或者INT_1的时候通不过编译呢。错误提示是未定义全局变量,,请问…

    SIMATIC S7-200 2021年7月5日
  • 找不到网址

    找不到以前设立的网址 钻石用户推荐最佳答案 你想说的是网关吧!先看看能不能PING通在说吧。 提问者对于答案的评价:

    SIMATIC S7-200 2021年7月5日
  • ppi通信相关问题

    各位,现有几个问题如下因为找不到资料,在此求教我这个系统10几台S200,其中1)有4台相互之间是直接PPI通信 问它们的距离最远是多远?布线时要注意些什么2)另有10几…

    SIMATIC S7-200 2020年11月1日
  • 关于块传送指令的输出数据类型!!

    224XP中,BLKMOV_W指令输出OUT数据类型可以是指针,假如说存储的首地址是VW3000,我用的OUT是*AC,那么AC里面的数据应该是甚么,是3000,还是想办法让*AC…

    SIMATIC S7-200 2021年7月5日
  • 求200 300PLC接线图

    在官网不知道怎么找不到了,求一个S7-200/300/400各模块接线图。谢谢。 最佳答案 S7-200(CPU&信号模块)http://support.automation.si…

    SIMATIC S7-200 2018年12月5日

发表回复

登录后才能评论