西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据

我手头上有一个西门子200以及一个使用modbus-rtu通讯协议的温湿度的传感器。然后我用485转USB把传感器接在电脑上,然后用串口助手发送询问桢,串口助手自动自动接收到应答桢,并且数据无误,然后把传感器与西门子串口连接起来,写程序进行读取,怎么也读不出来。总体疑问有以下几点:
1.经过初始化后,西门子的mbus_MSG程序有两个功能,一个是读一个是写,先说读功能,我如果直接读温湿度所在的寄存器,那么会一直显示错误3,即接受超时。
2.再来说写功能,我如果用写功能,那么我有三个疑惑的地方,我的询问桢是不是先得放在寄存器里,然后发送过去?
第二个疑惑的地方,我写的地址是不是文档里面给出的40001,如果不是,应该往哪里写?
第三个疑惑的地方,我的技术文件里面写着说,这是只读寄存器,那我怎么写进去?
第四个疑惑的地方,如果上面的全对,那我写进去了,他的应答桢放在哪里给我,我放询问桢的地方吗?
第五个疑惑的地方,我每次用写程序后,我原来放询问桢的寄存器的数据都会被改变,但是这些数据是固定的,就是不管我有没有连接传感器,只要执行了写程序,里面的都会被改变成固定值。

图片说明:

西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据    西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据    西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据    西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据    西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据    西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据    西门子200通过MODBUS-RTU协议与一个传感器通信,发现一直读不出数据   

最佳答案

从你的提问,以及你所附程序来看,你根本没有理解PLC的MBUS_MSG指令。使用这条指令实际上已经指明:地址码(slave),功能码(WR和Addr共同决定),起始地址Addr,字节数(2xcount个)。换句话说,就是PLC系统会自动把这些打包生成一个数据帧。而你编程时还去定义VB100=1(地址码),VB101=3(功能码)(你所附程序网络5/6)这是错误的。你真正要定义的是,你把什么数据发出去(以&VB**开始的2xcount个字节),或把接收到数据存储在哪里(以&VB**开始的2xcount个字节)。
接下来回答你的疑惑:
1、你的程序网络14中:写40001开始的4个字空间,这是错误的。40001只可读,无法写,可能你的传感器无法响应你的写请求。因此出现错误代码3也不奇怪。
2、根据你的附图:寄存器地址。你可写有40100(Modbus站地址),40101(通信速率).
疑惑一:询问帧(读)是不是先得放在寄存器里,然后发送过去?
回答:不需要。指令自动生成询问帧。参见我的最上面一段话的描述。
疑惑二:我写的地址是不是文档里面给出的40001,如果不是,应该往哪里写?
第三个:我的技术文件里面写着说,这是只读寄存器,那我怎么写进去?
第四个:如果上面的全对,那我写进去了,他的应答桢放在哪里给我,我放询问桢的地方吗?
回答:对40001进行写操作,这是错误的。
疑惑五:我每次用写程序后,我原来放询问桢的寄存器的数据都会被改变,但是这些数据是固定的,就是不管我有没有连接传感器,只要执行了写程序,里面的都会被改变成固定值。
回答:你的附图程序中,对40001进行了读操作,你定义的所谓“询问帧”的首地址给了真正的应答帧指明了存储的首地址。当然PLC会把接受的数据存在这个位置。数据改变是理所当然。

提问者对于答案的评价:

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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午2:39
下一篇 2021年7月5日 下午2:39

相关推荐

  • s7-200 cpu224xp 通讯问题

    设备PLC是 CPU224XP,模块有两个通讯口,但是我只能用我的电脑通讯上一个,我本想在线把另一个端口设置一下,波特率 地址 设完后,系统块下进去,…

    SIMATIC S7-200 2017年11月1日
  • S7200与EM231模块怎样读取瞬间电流

    S7200与EM231模块怎样读取瞬间电流,电流通断时间只有100ms内….. 问题补充:有相关的程序最好,我的邮箱是57079285@QQ.com 最佳答案 plc的程序处理…

    SIMATIC S7-200 2021年7月5日
  • PID的疑惑

    这里的物理工程单位形式是怎么一回事,下说n可以取10提高精度,那取100行吗?麻烦大家解释一下,最好举个例子 图片说明:    最佳答案 不理解的话,给n个例子…

    2017年6月3日
  • S7-200中定时器TON没有断电保持的功能吗?

    我试过TONR可以断电保持比如里面的T31,但是TON中的T37如果将它设置成为断电保持的?是不是不能设置?我设置了一下说组态系统块出错,大家谁试过能讲一下吗?谢谢 最佳答案 1&…

    SIMATIC S7-200 2020年11月1日
  • 哪里可以下载到实用的S7-200的库

    哪里可以下载到S7-200实用的库,比如模数转换的库,还有哪些常用用的库? 最佳答案 我的帖子里有最实用的“仿西门子滤波器”、“中值滤波器”以及量程转换“实数-实数”、“整数转实数…

    SIMATIC S7-200 2020年11月1日
  • s7-200plc的PID问题

    不使用PID向导,要想从手动模式无扰动的切换到自动模式,需要设置哪几个值?图中的1/2/3是我在切换到自动之前要通过程序设置的?还是切换到自动PLC自己运算的? &nbs…

    2021年7月5日
  • 西门子触摸屏Smart 1000或西门子S7-200PLC怎么直接跟普通的台式电脑通讯

    西门子触摸屏Smart 1000或西门子S7-200PLC怎么直接跟普通的台式电脑通讯,触摸屏的画面的动作状态怎么可以通过电脑到显示器直接显示出来 最佳答案 你试试电脑上…

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

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

    2021年7月5日
  • 自由口通讯RCV不终止?

    1. 一台电脑监控程序及状态表,另一台电脑用串口调试助手监控串口数据。电脑,电缆,串口等都没有问题。2. 手册上的自由口通讯例程已经做通的。3. 我现…

    SIMATIC S7-200 2020年11月1日
  • s200 modbus从站

    问题补充:这个事情首先是别人在做,现在我来做了,他以来的配置是plc这边用西门子的接头,线为西门子紫色的双绞线,工控机这边用无源的232/485接头,搞了几天都不行,用modcsa…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论