当前位置:文档之家› XPR1上海西普软启动

XPR1上海西普软启动

变量的个 变量的个 校验码 校验码 地址 码 地址高字节 地址低字节 数高字节 数低字节 低字节 高字节
02H 03H
00H
01H
00H
03H
54H
38H
3.2 读数据寄存器
3.2.1 功能码 03H:
第3页
共 10 页
XPR1 系列智能化电机软起动器 MODBUS 通讯协议
第三章 应用层功能详解
西普电气上海研发中心
3.1 本章的目标 本章是为使用 XPR1 系列智能化电机软起动器 Modbus-RTU 通讯协议的程序员定义特定有效命令的通
用格式。在每条数据查询格式的说明后面有一个该数据查询所执行功能的解释和例子,本章所述协议全 部使用表 3.1 所示的格式(数字为 16 进制)。
通过 03H 功能码,允许用户获得软起动器的测量数据、规格参数、故障记录、设置参数和工作状态
等信息。
下面例子是从 9 号从机读 3 个数据(数据帧中每个地址占用 2 个字节):软起动器电源电压瞬时值、
软起动器额定功率、软起动器额定电流,软起动器电源电压瞬时值地址为 0100H,软起动器额定功率地
址为 0101H,软起动器额定电流地址为 0102H。
RTU(Remote Terminal Unit),即远程终端单元。这种模式的特点是信息中每个 8 比特的字节被转 换为两个 4 比特的十六进制字符来传输。它的优点是更大的数据密度使它在相同的波特率下比 ASCII 模 式有更强的数据传输能力。
本协议采用 RTU 模式。
1.2 物理层 1.2.1 通讯协议类型:Modbus-RTU 1.2.2 传输方式:RS485 半双工 1.2.3 通讯地址:1~240 1.2.4 通讯波特率:300BPS~38400BPS 1.2.5 通讯介质:屏蔽双绞线 1.2.5 通讯距离:大于 1000 米 1.3 链路层 1.3.1 传输方式:
表 1-1 一个数据包格式
地址
功能码
数据
校验码
8-Bits
8-Bits
N × 8-Bits
16-Bits
1.3.4 数据格式说明:
本协议详细定义了校验码、数据序列等,这些都是特定数据交换的必要内容。
当数据帧到达终端设备时,它通过一个简单的“端口”进入寻址到的设备,该设备去掉数据帧的“信
第2页
共 10 页
XPR1 系列智能化电机软起动器 MODBUS 通讯协议
西普电气上海研发中心
当前值进行运算,仅仅每个字节的 8 个数据位参与生成 CRC,起始位和终止位以及可能使用的奇偶位都
不影响 CRC 运算。
在生成 CRC 值时,每个 8 位字节与寄存器中的内容进行异或,然后将结果向低位移位,高位则用“ 0”
在 Modbus 协议中,依数据在传输过程中的具体形式不同,分为两种模式:ASCII 模式和 RTU 模式, 采用哪种模式由用户自己根据需要进行选择。在选择时,同一 Modbus 网络中的所有设备的模式选择必 须一致。
ASCII(American Standard Code for Information Interchange),即美国信息交换标准代码。在 这种模式中,每个 8 比特的字节被转换两个 ASCII 字符进行传送。这种模式的主要优点是传送的每相邻 的两字节之间允许最大的时间间隔是 1 秒。
循环冗余校验(CRC)域占用两个字节,包含了一个 16 位的二进制值。CRC 值由传送设备计算出来,
然后附加到数据帧上,接收设备在接收数据时重新计算 CRC 值,然后与接收到的 CRC 域中的值进行比较,
如果这两个值不相等,就发生了错误。
CRC 运算时,首先将一个 16 位的寄存器预置为全 1,然后连续把数据帧中的 8 位字节与该寄存器的
西普电气上海研发中心
第一章 协议概述
1.1 协议简介
Modbus 协议是一种开放的可以免费使用的通讯协议,现已成为我国工业自动化领域的国家标准。
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网 络和其它设备之间可以通信,它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成 工业网络,进行集中监控。
补充,最低位(LSB)移出并检测,如果是 1,该寄存器就与一个预设的固定值进行一次异或运算,如果
最低位为 0,不作任何处理。
上述处理重复进行,直到执行完了 8 次移位操作,当最后一位(第 8 位)移完以后,下一个 8 位字
节与寄存器材的当前值进行异或运算,同样进行上述的另一个 8 次移位异或操作,当数据帧中的所有字
3.2.3 上行报文(从站到主站):
表 3.3 03H 功能码上行示例
设 功能 备 码 地 址
变量 的总 字节 数
变量值 变量值 变量值 变量值 变量值 变量值 校验 校验 高字节 低字节 高字节 低字节 高字节 低字节 码低 码高
字节 字节
09H 03H 03H 01H 7EH 02H 26H 01H 7CH 8FH 6CH
主从半双工方式。 首先,主机的信号寻址到一台唯一的终端设备软起动器(从机);然后,在相反的方向上终端设备 (软起动器)发出的应答信号传输给主机。 协议只允许在主机和终端设备(软起动器)之间,而不允许独立的终端设备之间的数据交换。这就 不会使它们在初始化时占据通讯线路,而仅限于相应到达终端设备本机的查询信号。 1.3.2 数据帧格式: 一个数据帧格式包括:1 位起始位,8 位数据位,1 位停止位,无校验位。 1.3.3 数据包格式:
第二章 通讯连接说明
2.1 通讯地址 通讯地址可以设定为 1~240,通讯地址设置项在设置菜单里。 地址设定后软起动器只对其设定地址的请求进行接收和响应发送。软起动器在工作中改变通讯地址
后,即以新地址进行接收和响应发送。 2.2 通讯波特率 通讯波特率可以设定为 300BPS、600BPS、1.2KBPS、2.4KBPS、4.8KBPS、9.6KBPS、19.2KBPS、38.4KBPS。 通讯波特率设置项在帮助菜单里,出厂默认值为 9.6KBPS。
注:响应包含从机地址、功能码、数据的数量和 CRC 校验码。
3.3 DO 输出与起停控制命令 3.3.1 功能码 05H:
此功能有效的前提是必须把软起动器的设置项 FD(起动控制方式)设定为通讯控制允许,否则无效。 1、DO 输出操作:当软起动器的设置项 FJ(编程输出)设定为 21(通讯操作)时,写入 200H 地址的变 量值(命令码)为 FF00H 时将使输出继电器触点为闭合状态,而命令码为 0000H 则将使输出继电器触点 为开路状态;所有其它的命令码均为错误数值,并且不影响输出继电器的状态。 2、发送软起动器的起动和停止命令: A、软起命令的地址为 240H,命令码(变量值)为 AAAAH,所有非 AAAAH 的命令码均为错误数值。 B、软停/复位命令的地址为 260H,命令码(变量值)为 8888H,所有非 8888H 的命令码均为错误数值。 C、瞬停命令的地址为 280H,命令码(变量值)为 5555H,所有非 5555H 的命令码均为错误数值。 下面的例子是操作 15 号软起动器实施起动。
1.5.2 通讯诊断功能码 08 的子功能码:
表 1-3 功能码 08 的子功能码
子功能码(十六进制)
功能
00H 0AH 0BH 0CH 0DH
原查询数据返回 复位子功能码 0BH to 0EH 的计数值 设备收到的总信息计数(计数器 1) 设备收到的错误(CRC 校检出错)信息计数(计数器 2) 设备收到的无效信息计数(计数器 3)
XPR1 系列智能化电机软起动器
MODBUS-RTU 通讯协议
西普电气上海研发中心
2008.3
XPR1 系列智能化电机软起动器 MODBUS 通讯协议
0EH
设备收到的正确信息响应计数(计数器 4)
1.6 数据域
数据域包含了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容
可能是数值、参考地址或者极限值。例如:功能域码告诉终端读取一个寄存器,数据域则需要指明从哪
个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机之间的不同能力而有所不同。
节都作了处理,生成的最终值就是 CRC 值。
生成一个 CRC 值的流程为:
⑴ 预置一个 16 位寄存器为 0FFFFH(全 1),称之为 CRC 寄存器。
⑵ 把数据帧中的第一个 8 位字节与 CRC 寄存器中的低字节进行异或运算,结果存回 CRC 寄存器。
⑶ 将 CRC 寄存器向右移一位,最高位填以 0,最低位移出并检测。
代码(十六进制)
定义
功能
03H 05H 06H
读数据寄存器 DO 输出控制 预置单寄存器
获得一个或多个寄存器的当前二进制值 放置一个特定的二进制值到一个 DO 命令寄存器中 放置一个特定的二进制值到一个可写寄存器中
08H
通讯诊断
通讯诊断
10H
预置多寄存器 放置特定的二进制值到一系列可写寄存器中
⑷ 如果最低位为 0:重复第三步(下一次移位);
如果最低位为 1:将 CRC 寄存器与一个预设的固定值(0A001H)进行异或运算。
⑸ 重复第 3 步和第 4 步直到 8 次移位。这样处理完了一个完整的八位。
⑹ 重复第 2 步到第 5 步来处理下一个八位,直到所有的字节处理结束。
⑺ 最终 CRC 寄存器的值就是 CRC 的值。
响应包含了该地址的查询应答。当终端发送回一个响应,响应中的从机地址数据便告诉了主机哪台终端
正与之进行通讯。
1.5 功能(Function)域
相关主题