插片式串行通讯模块XB6S-C01SP在Modbus协议中的使用方法

实点科技 2024-11-04 11:06:02

实点科技插片式串行通讯模块XB6S-C01SP食品医疗所使用的温度表、称重表,3C行业所使用的压力表以及在汽车锂电、物流行业使用最广泛的变频器,均使用Modbus协议通讯。但在实际使用场景下,它们无法直接与现场总线通讯,需要通过模块来中转,读取设备当前状态或者更改设备输出状态。实点科技插片式串口通讯模块XB6S-C01SP的作用正是如此,它可将其他总线协议转化成串口通讯协议。本文以Modbus通讯协议为基础,详解XB6S-C01SP模块在Modbus协议中的使用方法。一、Modbus协议的定义Modbus协议是一种已广泛应用于当今工业控制领域的通用通讯协议。通过此协议,控制器相互之间或控制器经由网络(如以太网)可以和其它设备之间进行通信。二、Modbus协议的作用协议一般是用来规定信息传输时所需要的条件因素,为了实现通讯而设定的规矩。例如A需要询问B从而得B的一些状态,A向B发了一组数据:12345,B在收到这组数据之后,回复给A:54321,这样就完成了一组数据交互,但是这些数据不太方便用常用语言或者字体传输。 这时用数字传输就显得尤为重要了,但是数字都代表哪些含义需要提前制定好,协议的制定就是让两个人根据这个协议看懂传来的一组数据,从而衍生出了Modbus串口通讯协议。三、Modbus协议的模式实际上Modbus传输上分为3种方式:1、ModbusRTU2、ModbusASCII3、ModbusTCP这三种协议实际上都属于Modbus协议,原因是这三种报文格式上总体一致,其中串口形式以RTU型最为常见,TCP指以网络网线端传输。四、Modbus协议的通讯方法Modbus协议属于是主从通信,也就是说需要“一问一答”,在通讯过程中,必须需要主机发出请求指令之后,从机才会应答,若主机不发送则从机也不会应答,这也是Modbus局限性的地方。当这种“一问一答”的方式可以发生在一个主对应多个从的时候,这时就需要区分每个从站,给每个从站起“名字”,于是从站站号就出现了。五、Modbus协议的具体表达形式Modbus协议帧结构 = 地址 + 功能码+ 数据 + 校验1、地址:就是我们之前提到的从站“名字”——从站站号2、功能码:就是规定这条指令是干什么的,是查询还是执行命令3、数据:用来填写具体命令执行的位置信息4、校验:由于数据区可能存在错误,通过将所有数据计算增加校验用来验证报文发送的正确性六、Modbus协议实例现在我们知道了Modbus协议的组成,以下我们举读取和写入两个范例来分析——【范例一】读取保持寄存器(03)发:01 03 00 00 00 02 C4 0B收:01 03 04 A0 B0 C0 D0 88 48发:从站站号(01)+读取保持寄存器功能码(03)+Modbus起始寄存器地址(00 00)+读取寄存器个数(00 02)+Modbus校验码(C4 0B)

回:从站站号(01)+读取保持寄存器功能码(03)+读取字节总数2*寄存器个数(04)+读取寄存器数据内容(01 02 03 04)+Modbus校验码(88 48)【范例二】写入保持寄存器(16)发:01 10 00 10 00 03 06 01 02 03 04 05 06 5D D3收:01 10 00 10 00 03 81 CD发:从站站号(01)+写入保持寄存器功能码(10)+Modbus起始寄存器地址(00 10)+写入寄存器个数(00 03)+写入字节总数(06)+写入寄存器数据内容(01 02 03 04 05 06)+Modbus校验码(5D D3)

收:从站站号(01)+写入保持寄存器功能码(10)+Modbus起始寄存器地址(00 10)+写入寄存器个数(00 03)+Modbus校验码(81 CD)七、XB6S-C01SP模块的使用通过以上的详解,我们已经知道Modbus协议的使用方式了,现在我们需要用XB6S-C01SP模块代替串口发送报文,实现设备间信息传输。主站使用XB6S-C01SP模块并使用串口通讯线连接至电脑端,分别用上述案例的功能码报文来控制软件ModbusSlave(Modbus从站仿真)以及串口调试助手读取报文来表达——1、首先进行组态,这里以EtherCAT协议举例,配合实点科技XB6S-EC协议耦合器XB6S-EC2002:

2、对模块进行参数配置,分别对使用功能、波特率、停止位、校验位等参数设定,与串口设备保持一致即可:

其中节点参数内的定义比较特殊,也是配置参数的重中之重。根据计算表格填写好所设定要求的功能码,地址等数据最终可得计算:

Node_1_Param01(302)Node_1_Param02(1)Node_2_Param01(1000603)Node_1_Param02(1)3、填写下发的参数数据:

设定好参数之后写入模块,打开串口助手可以查看到,上述举例报文模块会自动帮我们编辑通过串口发出来。4、打开ModbusSlave,调整为保持寄存器,此时可读取到地址(00 10)后有模块发送的数据传输过来,并写入数据A0 B0 C0 D0到地址内,也可在耦合器上读取到数据。通过上述操作,XB6S-C01SP模块就代替手动书写报文的作用了,实现与设备之间的通讯。以上就是实点科技插片式串行通讯模块XB6S-C01SP在Modbus协议中使用方法的详解介绍。如您有任何问题,欢迎来询,我们将竭诚为您服务!

0 阅读:0

实点科技

简介:专注工业总线解决方案