无刷Elektrische Motoren驱动器Modbus 通讯Vereinbarung及Register.说明

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

无刷Elektrische Motoren驱动器Modbus 通讯Vereinbarung及Register.说明缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 1. 通讯Vereinbarung
  2. 2. 1.1 通讯Parameter
  3. 3. 1.2 MODBUS-RTU 帧Das Format
  4. 4. 2. 标准Register.定义
  5. 5. 2.1 Ausrüstung描述信息Register.
  6. 6. 2.3  Elektrische Motoren控制Register.
  7. 7. 2.4  Elektrische MotorenParameter配置Register.
  8. 8. 2.5 Das SystemParameter配置Register.
  9. 9. 2.6 PID Parameter配置Register.
  10. 10. 3.CRC16 的Berechnung
无刷Elektrische Motoren驱动器Modbus 通讯Vereinbarung及Register.说明插图

1. 通讯Vereinbarung

本驱动器使用 MODBUS-RTU(国标 GB/T19582-2008)通讯Vereinbarung进行通讯, 支持一台Hauptstation控制多个Von der Station(即驱动器),支持最多 255 个Von der Station,支持通讯Rundfunk(von der Station Adresse为 0 视为Rundfunk帧),Hauptstation可以是单片机、PLC 或 PC 机等。

1.1 通讯Parameter

默认通讯Parameter:

  • > Porter Rate固定为 9600bps。
  • > Datenplatz为 8 位。
  • > Prüfungen为“无+1 Stoppen Sie Platz”。
  • > von der Station Adresse固定为 1。 用户Custom definiert通讯Parameter:
  • > Porter Rate可配置范围 9600-115200bps。
  • > Datenplatz固定为 8 位。
  • > Prüfungen方式可配置为: “偶+1 Stoppen Sie Platz”、“奇+1 Stoppen Sie Platz”和“无+2 Stoppen Sie Platz”。
  • > von der Station Adresse可设置范围 1~255。

当Daten帧Kommunikation中断超过 4 个Bytes的打包Zeit判定为帧Empfang超时。当发生帧超时的时候,之前Empfangzu的Daten将被 视为Unwirksam。

1.2 MODBUS-RTU 帧Das Format

本驱动器支持 MODBUS 的 0x03(Lesen Sie das Register)、0x06(Schreiben eines einzelnen Registers)和 0x10(Schreiben mehrerer Register)Funktionscode。

1.2.1 0x03 Lesen Sie das Register

HauptstationSenden Sie:

Bytes12345678
内容ADR0x03AnfangRegister. hohe BytesAnfangRegister. 低BytesRegister.数hohe BytesRegister.数 低BytesCRC niedrigBytesCRC  hohe Bytes

Die 1 Byte ADR: von der Station Adresse码(=001~254)。

Die 2 Bytes 0x03: 读RegisterwertFunktionscode。

Die 3、4 Byte: 要读的Register.开始Adresse。

Die 5、6 Bytes: 要读的Anzahl der Register。

Die 7、8 Bytes: 从Bytes 1 zu 6 的 CRC16 Prüfcode 。

Von der Station回送:

Bytes1234 56 7M-1MM+1M+2
内容ADR0x03Bytes总数Register. Daten 1Register. Daten 2Registerdaten MCRC niedrigBytesCRC hoch Bytes

Die 1 Byte ADR: von der Station Adresse码(=001~254)。

Die 2 Bytes 0x03: 返回读Funktionscode。

Die 3 Bytes:从 4 zu M(包括 4 及 M)的Bytes总数。

Die 4 zu M Bytes:  Registerdaten。

Die M+1、M+2 Bytes: 从Bytes 1 zu M 的 CRC16 Prüfcode。

当Von der StationEmpfangFehler.时, Von der Station回送:

Bytes12345
内容ADR0x83Ungewöhnlicher CodeCRC niedrigBytesCRC hochBytes

Die 1 Byte Die 2 Bytes Die 3 Bytes

ADR: von der Station Adresse码(=001~254)。

0x83: 读Registerwert出错。

Ungewöhnlicher Code: 见表 1.1

Die 4、5 Bytes: 从Bytes 1 zu 3 的 CRC16 Prüfcode。

1.2.2 0x06 Schreiben eines einzelnen Registers

HauptstationSenden Sie:

Bytes12345678
内容ADR0x06Register.高 BytesAdresseRegister.低 BytesAdresseDatenhohe BytesDaten低BytesCRC 码低BytesCRC 码hohe Bytes

当Von der StationEmpfangRichtig.时, Von der Station回送:

Bytes12345678
内容ADR0x06Register.高 BytesAdresseRegister.低 BytesAdresseDatenhohe BytesDaten低BytesCRC 码低BytesCRC 码hohe Bytes

当Von der StationEmpfangFehler.时, Von der Station回送:

Bytes12345
内容ADR0x86Ungewöhnlicher CodeCRC niedrigBytesCRC hochBytes

Die 1 Byte Die 2 Bytes Die 3 Bytes

ADR: von der Station Adresse码(=001~254)。

0x86: 写Registerwert出错Funktionscode。

Ungewöhnlicher Code: 见表 1.1

Die 4、5 Bytes: 从Bytes 1 zu 3 的 CRC16 Prüfcode。

1.2.3 0x10 写mehrere Registerwerte

HauptstationSenden Sie:

Bytes1234567
内容ADR0x10AnfangRegister. hohe BytesAdresseAnfangRegister. 低BytesAdresseRegister.数 Quantitäthohe BytesRegister.数 Quantität低BytesDaten字 节总数
Bytes8,910,11N,N+1N+2N+3
内容Registerdaten 1Registerdaten 2Registerdaten MCRC 码低BytesCRC 码hohe Bytes

当Von der StationEmpfangRichtig.时, Von der Station回送:

Bytes12345678
内容ADR0x10Register.高 BytesAdresseRegister.低 BytesAdresseRegister.数 Quantitäthohe BytesRegister.数 Quantität低BytesCRC 码低BytesCRC 码hohe Bytes

当Von der StationEmpfangFehler.时,Von der Station回送:

Bytes12345
内容ADR0x90Ungewöhnlicher CodeCRC niedrigBytesCRC hochBytes

Die 1 Byte Die 2 Bytes Die 3 Bytes

ADR: 0x90:  Ungewöhnlicher Code:

von der Station Adresse码(=001~254)。

写Registerwert出错。

见表 1.1

Die 4、5 Bytes: 从Bytes 1 zu 3 的 CRC16 Prüfcode。

1.2.4 Fehler.Ungewöhnlicher Code

MODBUS Ungewöhnlicher Code :如表 1.1 

表 1. 1 MODBUS Ungewöhnlicher Code表

Ungewöhnlicher Code含义
0x01Illegale Funktionen码
0x02Illegale Datenadressen
0x03Illegale Datenwerte
0x04Ausfall aus der Station
0x05Bitte已被Bestätigen,但需要较长Zeit来处理Bitte
0x06从Ausrüstung忙
0x08Speichern von Parität Fehlern
0x0A不可用的网关
0x0BGateway Zielgerät reagiert fehlgeschlagen

2. 标准Register.定义

2.1 Ausrüstung描述信息Register.

Ausrüstung描述信息Register.如表 2.1 示。

表 2. 1 Ausrüstung描述信息Register.

Register-Adresse描述取值范围支持Funktionscode备注
0x0000 (0)Ausrüstung标识Nr. 0x03每个型Nr.都有对应Die Ausrüstung标识Nr.
0x0001 (1)Ausrüstung版本 0x03hohe Bytes为主版本Nr.,低Bytes为副版本Nr.
0x0002 (2)最大电流 0x03Zahlenwert乘以0.01为电流值,单位为A
 0x0003~0x0007(3)~(7) 保留  0x03  

2.2 实时StatusRegister.

实时StatusRegister.如表 2.2 示。

表 2.2 实时StatusRegister.

Register-Adresse描述取值范围支持Funktionscode备注
0x0008 (8)实时电流0~655350x03Zahlenwert乘以 0.01 为电流值,单位为 A
0x0009 (9)实时速度之高半字 -110000~110000 0x03 实时转速,单位为 RPM
0x000A (10)实时速度之低半字
        0x000B (11)        Fehler.Status         0~13         0x030 无Fehler.1:堵转停机2:相序未学习3:相位异常4:相线过流5:母线过流6:电压过高7:电压过低,8:相位学习异常9:过载异常10:485 Kommunikation中断11:CAN 通讯中断12:母线电压过高13:Temperatur过高,14:无感启动失败15:相电流异常
0x000C (12)内部电位器电压0~33000x03单位为 mV
0x000D (13)外部信Nr.电压0~100000x03单位为 mV
0x000E (14)保留   
0x000F (15)保留   
 0x0010 (16) 使能电平 0,1 0x030:低电平1:高电平
 0x0011 (17) 刹车电平 0,1 0x030:低电平1:高电平
 0x0012 (18) 方向电平 0,1 0x030:低电平1:高电平
                        0x0013 (19)   控制模式                 0x07,0x09,0x19,0x01,0x11,0x0a,0x1a,0x02,0x12,0x0b,0x1b,0x03,0x13,0x0c,0x1c,0x04,0x14,0x0d,0x1d,0x05,0x15,0x08,0x18,0x00,0x10,0x030-4 位中从低zu高定义:①Die 4 位表示无感 0 或有感 1,②Die 3 位表示开环 0 或闭环 1,③Die 0-2 位表示模式:相序学习(111),通讯控制(000),内部电位器(001),模拟Quantität(010),PWM(011),航模 PWM(100),摇杆(101)④取值意义:0x07:相序学习, 0x09:无感/闭环/内部电位器控制,0x19:有感/闭环/内部电位器控制,0x01:无感/开环/内部电位器控制,0x11:有感/开环/内部电位器控制, 0x0a:无感/闭环/模拟Quantität控制,0x1a:有感/闭环/模拟Quantität控制,0x02:无感/开环/模拟Quantität控制,0x12:有感/开环/模拟Quantität控制, 0x0b:无感/闭环/PWM 控制,0x1b:有感/闭环/PWM 控制,0x03:无感/开环/PWM 控制,0x13:有感/开环/PWM 控制, 0x0c:无感/闭环/航模 PWM 控制,0x1c:有感/闭环/航模 PWM 控制,0x04:无感/开环/航模 PWM 控制,0x14:有感/开环/航模 PWM 控制, 0x0d:无感/闭环/摇杆控制,0x1d:有感/闭环/摇杆控制,0x05:无感/开环/摇杆控制,0x15:有感/开环/摇杆控制, 0x08:无感/闭环/通讯控制,0x18:有感/闭环/通讯控制,0x00:无感/开环/通讯控制,0x10:有感/开环/通讯控制,
0x0014(20)负载率0~10000x03Zahlenwert乘以 0.1%为 PWM 百Unterteilung比,单位为‰
0x0015(21)输入 PWM 占空比0~10000x03Zahlenwert乘以 0.1%为输入 PWM 占空比,单位为‰
0x0016(22)电压0~1000x03电源电压,单位为 V
0x0017(23)Temperatur-200~2000x03电路板Temperatur,单位为℃
0x0018(24)保留   

2.3  Elektrische Motoren控制Register.

Elektrische Motoren控制Register.如表 2.3 示。

表 2.3 Elektrische Motoren控制Register.

Register-Adresse描述取值范围支持Funktionscode备注
 0x0020 (32) Stopp! 0, 1, 2 0x03 0x060:正常Stopp!1:紧急制动2:自由Stopp!
0x0021 (33)设定目标Parameter之高半字闭环:-最高转速~ 最高转速开环:-1000~1000  0x03 0x06 0x10当速度控制为闭环,代表速度,则单位为 RPM;当速度控制为开环,代表 PWM,Zahlenwert乘以 0.1%为 PWM 百Unterteilung比。正数表示正转,负数表示反转, 0 正常Stopp!
0x0022 (34)设定目标Parameter之低半字
 0x0023 (35) 测试控制 0, 1 0x03 0x060:Absage测试,1:相序学习
 0x0024 (36) 输出控制 0, 1 0x03 0x060:输出低电平1:输出高电平
0x0025~0x27(37)~ (39) 保留   

2.4  Elektrische MotorenParameter配置Register.

Elektrische MotorenParameter配置Register.如表 2.4 示。

表 2.4 Elektrische MotorenParameter配置Register.

Register-Adresse描述取值范围支持Funktionscode备注
0x0028 (40)Elektrische Motoren额定电流0~15000x03 0x06 0x10Zahlenwert乘以 0.01 为电流值, 单位为 A
0x0029 (41)Elektrische Motoren最大转速之高半字 0~110000 0x03 0x06 0x10 单位为 RPM
0x002A (42)Elektrische Motoren最大转速之低半字
0x002B (43)Elektrische Motoren最小转速之高半字 0~110000 0x03 0x06 0x10单位为 RPM,一般设置在 200RPM 以下
0x002C (44)Elektrische Motoren最小转速之低半字
 0x002D (45)Elektrische Motoren极对数 0~65535 0x03 0x06 0x10定子南北磁极对数,是磁 极的一半
 0x002E (46) Elektrische Motoren 1 、2 相相序Datenhohe Bytes为 0~6低Bytes为 0~6 0x03 0x06 0x10低Bytes为 1 相hohe Bytes为 2 相
 0x002F (47) Elektrische Motoren 3 、4 相相序Datenhohe Bytes为 0~6低Bytes为 0~6 0x03 0x06 0x10低Bytes为 3 相hohe Bytes为 4 相
 0x0030 (48) Elektrische Motoren 4 、6 相相序Datenhohe Bytes为 0~6低Bytes为 0~6 0x03 0x06 0x10低Bytes为 4 相hohe Bytes为 6 相
 0x0031 (49) 相序学习Status 0,1 0x03 0x06 0x100:未学习1:已经学习
   0x0032 (50)   无感启动负载大小   0~4   0x03 0x06 0x100:轻载1:中载2:重载3:小惯性负载4:大惯性负载
0x0033 (51)闭环速度加速加速度100~最大速度0x03 0x06 0x10单位为 RPM/S
0x0034 (52)闭环速度减速加速度100~最大速度0x03 0x06 0x10单位为 RPM/S
0x0035 (53)开环速度加速加速度4~5000x03 0x06 0x10单位为%/S
0x0036 (54)开环速度减速加速度4~5000x03 0x06 0x10单位为%/S
 0x0037 (55) Stopp!模式 0, 1, 2 0x03 0x06 0x100:正常Stopp!1:紧急制动2:自由Stopp!
 0x0038 (56) 自动换向模式 0, 1, 2 0x03 0x06 0x100:正常换向1:急停换向
 0x0039 (57) 停机锁相电流 0~1500 0x03 0x06 0x100:不停机锁相其他Zahlenwert:Zahlenwert乘以 0.01 为电流值,单位为 A
0x003A~0x 3F(58)~ (63) 保留   

2.5 Das SystemParameter配置Register.

Das SystemParameter配置Register.如表 2.5 示。

表 2.5 Das SystemParameter配置Register.

Register-Adresse描述取值范围支持Funktionscode备注
0x0040 (64)堵转停机Zeit0~666350x03 0x06 0x10单位为 mS
0x0041 (65)保护关断电流0~42000x03 0x06 0x10Zahlenwert乘以 0.01 为电流值, 单位为 A
0x0042 (66)内部电位器控制阈值Maximaler Wert0~33000x03 0x06 0x10单位为 mV
0x0043 (67)内部电位器控制阈值Der Mindestwert0~33000x03 0x06 0x10单位为 mV
0x0044 (68)外部输入控制阈值Maximaler Wert0~100000x03 0x06 0x10单位为 mV
0x0045(69)外部输入控制阈值Der Mindestwert0~100000x03 0x06 0x10单位为 mV
0x0046 (70)保护电压阈值Maximaler Wert(过压保护 电压)8~560x03 0x06 0x10 保护电压范围,单位为 V
0x0047 (71)保护电压阈值Der Mindestwert(欠压保护 电压)8~560x03 0x06 0x10
 0x0048 (72)电压保护设置 0,1 0x03 0x06 0x100:不保护1:电压保护
   0x0049(73)   输出Typus   0,1,2,3,4,5   0x03 0x06 0x100:不输出(即输出低电 平)1:长输出2:报警信Nr.输出3:FG 反馈信Nr.输出4:停机信Nr.输出5:通讯控制

2.6 PID Parameter配置Register.

闭环控制 PIDParameter配置Register.如表 2.6 示。

表 2.6 闭环控制 PID Parameter配置Register.

Register-Adresse描述取值范围支持Funktionscode备注
0x004A (74)速度闭环 P Koeffizienten高半字 建议 1~327680 0x03 0x10 Zahlenwert除以 32768 为实际值
0x004B (75)速度闭环 P Koeffizienten低半字
0x004C (76)速度闭环 I Koeffizienten高半字 建议 1~326780 0x03 0x10 Zahlenwert除以 32768 为实际值
0x004D (77)速度闭环 I Koeffizienten低半字
0x004E (78)速度闭环 D Koeffizienten高半字 建议 1~326780 0x03 0x10 Zahlenwert除以 32768 为实际值
0x004F (79)速度闭环 D Koeffizienten低半字

2.7 通讯Parameter配置Register.

通讯Parameter配置Register.如表 2.6 示。

表 2.7 通讯Parameter配置Register.

Register-Adresse描述取值范围支持Funktionscode备注
0x0050 (80)485通讯中断制动Zeit0~666350x03 0x060x10单位为 S
0x0051 (81)485通讯Geräte Adresse0~2550x03 0x060x10Modbus 从Geräte Adresse
    0x0052 (82)    485通讯Die SeriePorter Rate    0~4   0x03 0x060x100:96001:192002:384003:576004: 115200单位为 bps
  0x0053 (83)  485 通讯Die Serie检验方式  0~3  0x03 0x060x100:无+Stoppen Sie Platz1:偶+1 Stoppen Sie Platz2:奇+1 Stoppen Sie Platz3:无+2 Stoppen Sie Platz
0x0054(84)~0 x0059 (89)保留   

3.CRC16 的Berechnung

C 语言 CRC 生成函数如程序 3.1所示。所有的可能的 CRC  值都被预装在两个数组中, 当BerechnungMeldung内容时可  以简单的索引即可。 一个数组含有 16 位 CRC 域的所有 256 个可能的高位Bytes,另一个数组含有低位Bytes的值。 这种索引访问 CRC  的方式提供了比对Meldung缓冲区的每个新Charaktere都Berechnung新的 CRC  更快的方法。

注意: 此函数内部执行高/低 CRC  Bytes的交换。此函数返回的是已经经过交换的 CRC  值。也就是说,从该 函数返回的 CRC 值可以直接放置于Meldung用于Senden Sie。

函数使用两个Parameter:

unsigned char *puchMsg;指向含有用于生成 CRC  的BinärsystemDatenMeldung缓冲区的指针。

unsigned short usDataLen;Meldung缓冲区的Anzahl der Bytes。

注:以下 CRC16 生成函数程序摘自 <MODBUS over Serial Line Specification and Implementation Guide

V1.02> 。

程序 3.1   CRC16 生成函数程序清单

/*  高位Bytes的 CRC 值*/

static unsigned char auchCRCHi[] = {

0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,

0x40

} ;

/* 低位Bytes的 CRC 值*/

static char auchCRCLo[] = {

0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4,

0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD,

0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3,

0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7,

0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26,

0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2,

0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F,   0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB,  0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5,

0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91,

0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C,

0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88,  0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C,

0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80,

0x40

};

unsigned short CRC16(puchmsg, usDataLen)     /*  函数以 unsigned short  Typus返回 CRC */

unsigned char *puchMsg,                                      /*  用于Berechnung CRC  的Meldung*/

unsigned short usDataLen/*  Meldung中的Anzahl der Bytes*/
{ 
unsigned charuchCRCHi = 0xFF;/* CRC  的hohe Bytes初始化*/

unsigned charuchCRCLo = 0xFF;     /* CRC  的低Bytes初始化*/

unsigned uIndex ;           /* CRC  查询表索引*/

while (usDataLen–)

{

/*  abgeschlossen.整个Meldung缓冲区*/

uIndex = uchCRCLo ^ *puchMsg++; /*  Berechnung CRC */

uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex];

uchCRCHi = auchCRCLo[uIndex];

}

return (uchCRCHi << 8 | uchCRCLo);

}

Techniken术语(共 7 个)—— Klick auf展开
FunktionscodeModbusFunktionscode指定读/写OperationenTypus,如01读线圈、03Lesen Sie das Register
Register.Modbus Register.存储Daten单元,Unterteilung线圈/离散输入/保持/输入Register.四类
PLC可编程逻辑Der Controller,Industrielle Automatisierung控制的核心Ausrüstung
Porter Rate串行Kommunikation每秒传输符Nr.数,Modbus RTU常用9600/19200
网关Vereinbarung转换Ausrüstung,如 Modbus RTU ↔ Modbus TCP
Die SerieBerechnung机与外部Ausrüstung进行串行Kommunikation的物理Schnittstelle
保持Register.Modbus 16位可读Schreiben von Daten,Adresse从40001开始
来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Geräte-Register - Handbuch 字数 15126 字 · 阅读约 38 Unterteilung钟 更新 2026-06-30 永久链接 https://www.modbus.cn/26570.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.