200的模拟modbus通讯时,用串口接收到得数据室什么

200做主站和模拟的模拟从站通讯,显示commucation traffic时会显示一串数据;关掉从站开串口调试工具,也会接收到得数据,不知道是什么数据?不是我对寄存器写的数据

问题补充:

开串口调试软件时,接收到的
一直是这样的数据01 03 00 00 00 08 44 0C

最佳答案

01 03 00 00 00 08 44 0C
就是modbus的报文


01- 地址
03-功能码(读取保持寄存器)
00-寄存器高位地址 (0 )
00-寄存器低位地址 (0 )
00-寄存器的数量的高位(0)
08-寄存器的数量的低位(8个数据)
44-数据校验高位
0C-数据校验低位

modbus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。下表1是modbus的功能码定义。 
表1 modbus功能码 
功能码 名称 作用
01 读取线圈状态 取得一组逻辑线圈的当前状态(ON/OFF)
02 读取输入状态 取得一组开关输入的当前状态(ON/OFF)
03 读取保持寄存器 在一个或多个保持寄存器中取得当前的二进制值
04 读取输入寄存器 在一个或多个输入寄存器中取得当前的二进制值
05 强置单线圈 强置一个逻辑线圈的通断状态
06 预置单寄存器 把具体二进值装入一个保持寄存器
07 读取异常状态 取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态
08 回送诊断校验 把诊断校验报文送从机,以对通信处理进行评鉴
09 编程(只用于484) 使主机模拟编程器作用,修改PC从机逻辑
10 控询(只用于484) 可使主机与一台正在执行长程序任务从机通信,探询该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送
11 读取事件计数 可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时
12 读取通信事件记录 可是主机检索每台从机的modbus事务处理通信事件记录。如果某项事务处理完成,记录会给出有关错误
13 编程(184/384 484 584) 可使主机模拟编程器功能修改PC从机逻辑
14 探询(184/384 484 584) 可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才得发送
15 强置多线圈 强置一串连续逻辑线圈的通断
16 预置多寄存器 把具体的二进制值装入一串连续的保持寄存器
17 报告从机标识 可使主机判断编址从机的类型及该从机运行指示灯的状态
18 (884和MICRO 84) 可使主机模拟编程功能,修改PC状态逻辑
19 重置通信链路 发生非可修改错误后,是从机复位于已知状态,可重置顺序字节
20 读取通用参数(584L) 显示扩展存储器文件中的数据信息
21 写入通用参数(584L) 把通用参数写入扩展存储文件,或修改之
22~64 保留作扩展功能备用  
65~72 保留以备用户功能所用 留作用户功能的扩展编码
73~119 非法功能  
120~127 保留 留作内部作用
128~255 保留 用于异常应答
modbus网络只是一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。表2是modbus各功能码对应的数据类型。 
表2 modbus功能码与数据类型对应表 
代码 功能 数据类型
01 读 位
02 读 位
03 读 整型、字符型、状态字、浮点型
04 读 整型、状态字、浮点型
05 写 位
06 写 整型、字符型、状态字、浮点型
08 N/A 重复“回路反馈”信息
15 写 位
16 写 整型、字符型、状态字、浮点型
17 读 字符型
(1)modbus的传输方式 
 在modbus系统中有2种传输模式可选择。这2种传输模式与从机PC通信的能力是同等的。选择时应视所用modbus主机而定,每个modbus系统只能使用一种模式,不允许2种模式混用。一种模式是ASCII(美国信息交换码),另一种模式是RTU(远程终端设备)这两种模式的定义见表3 
表3 ASCII和RTU传输模式的特性 
特性   ASCII(7位) RTU(8位)
编码系统   十六进制(使用ASCII可打印字符:0~9,A~F) 二进制
每一个字符的位数  开始位 1位 1位
 数据位(最低有效位第一位) 7位 8位
 奇偶校验(任选) 1位(此位用于奇偶校验,无校应则无该位) 1位(此位用于奇偶校验,无校应则无该位)
 停止位 1或2位 1或2位
 错误校验 LRC(即纵向冗余校验) CRC(即循环冗余校验)
ASCII可打印字符便于故障检测,而且对于用高级语言(如Fortan)编程的主计算机及主PC很适宜。RTU则适用于机器语言编程的计算机和PC主机。 
用RTU模式传输的数据是8位二进制字符。如欲转换为ASCII模式,则每个RTU字符首先应分为高位和低位两部分,这两部分各含4位,然后转换成十六进制等量值。用以构成报文的ASCII字符都是十六进制字符。ASCII模式使用的字符虽是RTU模式的两倍,但ASCII数据的译玛和处理更为容易一些,此外,用RTU模式时报文字符必须以连续数据流的形式传送,用ASCII模式,字符之间可产生长达1s的间隔,以适应速度较快的机器。 
表4给出了以RTU方式读取整数据的例子 
以RTU方式读取整数据的例子 
主机请求
地址 功能码 第一个寄存器的高位地址 第一个寄存器的低位地址 寄存器的数量的高位 寄存器的数量的底位 错误校验
01 03 00 38 00 01 XX
从机应答
地址 功能码 字节数 数据高字节 数据低字节 错误校验
01 03 2 41 24 XX
十六进制数4124表示的十进制整数为16676,错误校验值要根据传输方式而定。

表5给出了以RTU方式写数据的例子 
以RTU方式写数据的例子 

提问者对于答案的评价:
看起来很专业

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

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

相关推荐

  • EM277通讯问题

    使用EM277作DP从站,和S7-300PLC进行通讯,请问通讯的变量有限制吗?最多多少? 最佳答案 有限值,最多64字入,64字出,详见《S7-200可编程序控制器系统手册》附录…

    SIMATIC S7-200 2020年10月31日
  • 224xp pto问题

    开环控制,1、计数脉冲数。2、更换脉冲数量。3、满值停止。4、多段脉冲输出大于三段。 问题补充:有没有,好点的,不会掉步的方法?大概是15步,然后每步的脉冲数步一样,可以一次工作,…

    SIMATIC S7-200 2021年7月4日
  • PC/PPI和USB/PPI的区别

    我想买一根S7-200的编程电缆,是不是PC/PPI和USB/PPI这两种电缆都可以,它们不什么区别,那一种更好 问题补充:两种电缆使用有什么不同吗,需要特别的驱动和设置吗? 最佳…

    SIMATIC S7-200 2021年7月5日
  • 如何用两台S7-200做双机冗余啊!多谢

    请教大师们:如何用两台S7-200做双机冗余啊!弄一个简单的温度控制,多谢! 问题补充:一个加热器,一个温度传感器,两个S7-200,我希望可以做一个两台PLC控制加热器维持在设定…

    SIMATIC S7-200 2017年10月30日
  • 200CPU之间如何数据读取,怎么设置置位时间?

    我有一个MP277的屏,现在与两个CPU226连接,现在想做一个程序,点击触摸屏使A电机启动,A电机启动后自动启动B电机10分钟,然后自动停止B电机,B电机停止后自动停止A电机。现…

    SIMATIC S7-200 2020年11月5日
  • 求助:高速计数器,编码器不计数?

    申明一下光电编码器(VCC,0v,A,B,Z,屏蔽端子),接法:将A,B脉冲相分别接入I0.0,I0.1,0v接入CPU226的M端,DC24V接在VCC上,不记数,难道接错线了吗…

    SIMATIC S7-200 2020年11月5日
  • 求教三台s7-200与触摸屏主从通讯的方案

    现有三台plc,一台plc226(A点),一台plc224(B点),一台备用plc224(C点)。触摸屏K-TP178 (D点)A点距B点50米,B点距D点120米,现需…

    SIMATIC S7-200 2017年6月24日
  • 200与变频器通讯

    S7-200的EM277通过DP网能通讯控制变频器(加DP扩展板)吗,EM277只能作为从站吗?EM277的DP网上能挂S7-300的IM153模块吗 问题补充:S7-200想通讯…

    SIMATIC S7-200 2021年7月5日
  • 给VB赋值后控制9种工作状态

    现在有9种不同的工作状态,如何通过给VB0赋值,使VB0=1时控制第一种工作状态,VB0=2时控制第二种工作状态,VB=3时……VB=9时。应该如何编程,没用过这种方法,不是很清楚…

    SIMATIC S7-200 2017年6月10日
  • 水泵一用一备怎么写程序

    我想控制水泵,但是水泵是一用一备,我在电气安装时,应该是都接上这两台水泵,然后启动后一台出现故障,就启动另一台,这种切换要什么依据呢?怎么写程序?,还有水泵的启动要注意些什么呢?有…

    SIMATIC S7-200 2017年11月19日