N310MODBUS通信协议
声明:您必须遵守我们的协议,如果您下载了该资源行为将被视为对《电天下账号管理规范》全部内容的认可,本网站资源来自原创,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请举报本资源,我们将及时审核处理!
N310MODBUS通信协议
文本预览
文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通讯协议 版別 ::::0000....AAAA
頁次 :::: 1111
1111....通信数据结构
N310系列机种接收计算机或其它上位控制器,经由RS485 或RS232做通讯控制,使用
Modbus RTU模式及Modbus ASCII模式作为通信协议的通讯数据。
信息桢的最大长度为80比特。
1111....1111硬件安装
上位控制器 从站 N310 从站N310 从站N310 从站N310
(PLC / HMI 或 站别码01 站别码02 站别码03 站别码 FE
PC ) 选配卡 选配卡 选配卡 选配卡
RS-485 A B A B A B A B
Interface
收信
送信
120Ω 120Ω
1/4w 1/4w
**于通信联机之启始点与最终点请加上120Ω,1/4w之终端阻抗**
1111....2222 数据桢 ASCII MODE
STX(3AH) 起始字符 = 3AH
地址码高位 通信位置(站别):
地址码代位 由2个ASCII码组合
功能码高位 功能码(command):
功能码低位 由2个ASCII码组合
指令起始地址
指令起始地址 命令起始位:
指令起始地址 由4个ASCII码组合
指令起始地址
数据长度
数据长度 数据起始到结束的长度:
数据长度 由4个ASCII码组合
数据长度
LRC校验高位 LRC检查码:
LRC校验低位 由2个ASCII码组合
END 高位 结束字符:
END 低位 END Hi = CR(0DH) , END Lo= LF(0AH)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通讯协议 版別 ::::0000....AAAA
頁次 :::: 2222
数据桢 RTU MODE
MASTER(PLC等)相对于SLAVE指令, SLAVE应答。接收数据的构成 SLAVE地址
如右所示, 依指令(机能)的内容, DATA部分的长度不一。 机能代码
DATA
CRC CHECK
**指令信号与应答信号间必须维持10mS之间隔 信号间隔
1111....3333通信地址((((AAAAddddddddrrrreeeessssssss))))
00H : 对所有驱动器广播(Broadcast)
01H : 对第01 地址驱动器
0FH : 对第15 地址驱动器
10H : 对第16 地址驱动器
以此类推....,最大可到 32(20H)
1111....4444功能码((((FFFFuuuunnnnccccttttiiiioooonnnn))))
03H : 读出缓存器内容
06H : 写入一个WORD至缓存器(缓存器写入)
08H : 回路测试
10H : 写入多笔数据至缓存器(复数缓存器写入)
2222....CCCCMMMMSSSS ((((和校验与超时定义))))
2222....1111LLLLRRRRCCCCCHECK
例: 地址 01H
功能 03H
指令 01H
00H
数据长度 0AH
-----------------------
0FH------------取二补码
和校验 = F1H
CS(H) = 46H (ASCII)
CS(L) = 31H (ASCII)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通讯协议 版別 ::::0000....AAAA
頁次 :::: 3333
2.2 CRC CHECK : CRC检查码是由 Slave 地址到DATA结束,请以下述方式算出。
(1).取一个16 bit之缓存器设定值= FFFFH (全部为1),作为CRC缓存器。
(2).将指令信号第一个字节与16-bit CRC缓存器的低字节做“异或”运算后,将其结
果再存入此CRC缓存器内。
(3).将此CRC缓存器之值向右移出一位,并将0填入高位处之最左一位。检查此CRC缓
存器之值。
(4).如果是0时,将步骤(3)的新值存入CRC缓存器内,
如不为0,将此CRC缓存器与A001h(1010 0000 0000 0001)值再“异或” ,将结果
存入CRC缓存器内。
(5).重复步骤(3)与(4),将8-bit全部运算完成。
(6).重复步骤(2)到(5),取下一个8-bit的讯息指令,直到所有讯息指令运算完成,最
后得到的CRC缓存器的值,即为CRC检查码,此CRC检查码于传出时必须将低位先
传输,再传输高位.例如CRC检查码值为1241hex时, CRC-16上位必须设定41hex,
CRC-16下位必须设定12hex
���� CRC 计算应用程序
UWORD ch_sum ( UBYTE long , UBYTE *rxdbuff ) {
BYTE i = 0;
UWORD wkg = 0xFFFF;
while ( long-- ) {
wkg ^= rxdbuff++;
for ( i = 0 ; i < 8; i++ ) {
if ( wkg & 0x0001 ) {
wkg = ( wkg >> 1 ) ^ 0xa001;
}
else {
wkg = wkg >> 1;
}
}
}
return( wkg );
}文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通讯协议 版別 ::::0000....AAAA
頁次 :::: 1111
1111....通信数据结构
N310系列机种接收计算机或其它上位控制器,经由RS485 或RS232做通讯控制,使用
Modbus RTU模式及Modbus ASCII模式作为通信协议的通讯数据。
信息桢的最大长度为80比特。
1111....1111硬件安装
上位控制器 从站 N310 从站N310 从站N310 从站N310
(PLC / HMI 或 站别码01 站别码02 站别码03 站别码 FE
PC ) 选配卡 选配卡 选配卡 选配卡
RS-485 A B A B A B A B
Interface
收信
送信
120Ω 120Ω
1/4w 1/4w
**于通信联机之启始点与最终点请加上120Ω,1/4w之终端阻抗**
1111....2222 数据桢 ASCII MODE
STX(3AH) 起始字符 = 3AH
地址码高位 通信位置(站别):
地址码代位 由2个ASCII码组合
功能码高位 功能码(command):
功能码低位 由2个ASCII码组合
指令起始地址
指令起始地址 命令起始位:
指令起始地址 由4个ASCII码组合
指令起始地址
数据长度
数据长度 数据起始到结束的长度:
数据长度 由4个ASCII码组合
数据长度
LRC校验高位 LRC检查码:
LRC校验低位 由2个ASCII码组合
END 高位 结束字符:
END 低位 END Hi = CR(0DH) , END Lo= LF(0AH)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通讯协议 版別 ::::0000....AAAA
頁次 :::: 2222
数据桢 RTU MODE
MASTER(PLC等)相对于SLAVE指令, SLAVE应答。接收数据的构成 SLAVE地址
如右所示, 依指令(机能)的内容, DATA部分的长度不一。 机能代码
DATA
CRC CHECK
**指令信号与应答信号间必须维持10mS之间隔 信号间隔
1111....3333通信地址((((AAAAddddddddrrrreeeessssssss))))
00H : 对所有驱动器广播(Broadcast)
01H : 对第01 地址驱动器
0FH : 对第15 地址驱动器
10H : 对第16 地址驱动器
以此类推....,最大可到 32(20H)
1111....4444功能码((((FFFFuuuunnnnccccttttiiiioooonnnn))))
03H : 读出缓存器内容
06H : 写入一个WORD至缓存器(缓存器写入)
08H : 回路测试
10H : 写入多笔数据至缓存器(复数缓存器写入)
2222....CCCCMMMMSSSS ((((和校验与超时定义))))
2222....1111LLLLRRRRCCCCCHECK
例: 地址 01H
功能 03H
指令 01H
00H
数据长度 0AH
-----------------------
0FH------------取二补码
和校验 = F1H
CS(H) = 46H (ASCII)
CS(L) = 31H (ASCII)文號 ::::
NNNN333311110000MMMMOOOODDDDBBBBUUUUSSSS通讯协议 版別 ::::0000....AAAA
頁次 :::: 3333
2.2 CRC CHECK : CRC检查码是由 Slave 地址到DATA结束,请以下述方式算出。
(1).取一个16 bit之缓存器设定值= FFFFH (全部为1),作为CRC缓存器。
(2).将指令信号第一个字节与16-bit CRC缓存器的低字节做“异或”运算后,将其结
果再存入此CRC缓存器内。
(3).将此CRC缓存器之值向右移出一位,并将0填入高位处之最左一位。检查此CRC缓
存器之值。
(4).如果是0时,将步骤(3)的新值存入CRC缓存器内,
如不为0,将此CRC缓存器与A001h(1010 0000 0000 0001)值再“异或” ,将结果
存入CRC缓存器内。
(5).重复步骤(3)与(4),将8-bit全部运算完成。
(6).重复步骤(2)到(5),取下一个8-bit的讯息指令,直到所有讯息指令运算完成,最
后得到的CRC缓存器的值,即为CRC检查码,此CRC检查码于传出时必须将低位先
传输,再传输高位.例如CRC检查码值为1241hex时, CRC-16上位必须设定41hex,
CRC-16下位必须设定12hex
���� CRC 计算应用程序
UWORD ch_sum ( UBYTE long , UBYTE *rxdbuff ) {
BYTE i = 0;
UWORD wkg = 0xFFFF;
while ( long-- ) {
wkg ^= rxdbuff++;
for ( i = 0 ; i < 8; i++ ) {
if ( wkg & 0x0001 ) {
wkg = ( wkg >> 1 ) ^ 0xa001;
}
else {
wkg = wkg >> 1;
}
}
}
return( wkg );
}文號 ::::
AIGC
N310 MODBUS通信协议是一种在工业自动化和远程监控领域广泛应用的通信标准。它是由Modbus LLC公司提出的一种基于串行或网络通信的接口协议,主要用于设备间的数据交换,尤其是PLC(可编程逻辑控制器)与其它智能设备如传感器、执行器、分布式控制系统(DCS)、SCADA系统等之间的通讯。
N310可能是该协议的一个具体实现版本或者应用实例,其中"N310"可能代表某个设备型号、产品系列或者是项目代号,而"MODBUS"则是指遵循MODBUS协议进行数据传输。MODBUS协议支持多种功能码,包括读取输入寄存器、读写输出寄存器、直接读/写 coil ( coils 指继电器状态)、读/写 holding registers (holding registers 用于存储设定值或数据保持)等,使得不同设备能通过统一的格式共享信息,从而简化了系统的集成和管理。