Matsushima Deckenentfeuchter Modbus Kommunikationsprotokoll

kostenlosKostenloses technisches Material

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

Matsushima Deckenentfeuchter Modbus Kommunikationsprotokoll

Kommunikationsprotokoll:

Diese Kommunikation verwendet das Standardmodbus RTU-Kommunikationsprotokoll, unterstützt den Funktionscode 01 04 05 06, die Daten sind 16 - Bit-Ganz.

Kommunikationsbaudrate: 1200 2400 4800 9600 Einstellbar (Standard-Baud - Rate ist 1200), Adresse: 1 - 254 kann eingerichtet werden (Fabrik-Standard - Adresse 01), 1 Startbit, 8 Datenbit, keine Parität

Ein Funktionscode 01

Lesen Sie den Spule-Zustand des Remote-Gerätes (Schaltervolumen-Daten, jedes Bit repräsentiert eine Schaltervolumen, 0 = aus 1 = ein, Adresse in Bit-Adresse dargestellt, Daten in Byte dargestellt, weniger als ein Byte-Bit, höhere Bit mit 0 gefüllt)

Lesen Sie den aktuellen Schaltervolumen-Status des Geräts an der Adresse 01

Host-Anfrage: Senden Sie die Daten an die Adresse 010100000018
010100000018  
AnschriftFunktionscodeStartadresseAnzahl der SpuleCRCLCRCH
Slave-Antwort: Rückgabe 010101
0101030000Adresse37
AnschriftEnergiecodeAnzahl der BytesSpule-Zustand1Spule-Zustand2 Spule-Zustand3CRCLCRCH

Diese Kommunikation setzt 24 Online-Lese - Spule (Schaltvolumen), Spule-Adresse = 0x0000 ~ 0x0017

Rückgabe von Spule-Zustand1, Adresse 0 ~ 7 (ein Byte Daten)

D7 = Press ein / aus D6 = Hochwind ein / aus D5 = Schlaganfall ein / aus D4 = Niedrigwind Ein / Aus

D3 = Alarm Ein / Aus D2 = Reserviert D1 = Reservierung D0 = Reserved

Gibt den Spule-Zustand 2, Adresse 8 ~ F zurück (ein Byte von Daten)

D7 = Ein / Aus D6 = Frisch D5 = Reservierung D4 = Entfeuchtung / Belüftung (0 = Entfeuchtung 1 = Belüftung)

D3 = Aufbewahrung D2 = Feuchte Kontrolle D1 = Reservierung D0 = Reservierung

Rückgabe von Spule-Zustand 3, Adresse 10 ~ 17 (Ein Byte Daten) Schutz-Zustand Reservierung

D7 = Reservierung D6 = Vorbehalt D5 = Reservierung D4 = Reservierung

D3 = Reservierung D2 = Vorbehalt D1 = Reservierung D0 = Reservieren

Beispiel: Host send: 01 01 00 00 18 3c 00

Gerät für Adresse 1 Lesen des aktuellen Geräteszustands

Zwei Funktionscode 04

Verwenden Sie diesen Funktionscode für das Remote-Gerät, um Geräteninformationen zu lesen.(Jeder Informationsparameter ist ein Register), 16 - Bit-Datenformat, HEX-Code, hohe Byte vor

Lesen Sie die aktuellen Geräteparameter

Host-Anforderung:发送数据为 01040000000271CB
01040000000271CB
地址功能码起始寄存器地址输入寄存器数量CRCLCRCH
从机应答:返回数据为 01040400C8012C7A37(温度:20.0℃ 湿度30.0%RH)
01040400C8012C7A37
AdresseFunktionscodeAnzahl der BytesEinstellungen Luftfeuchtigkeit (HEX)Aktuelle Luftfeuchtigkeit (HEX)CRCLCRCH

Diese Kommunikation setzt 4 Register (Datenvolumen) mit Adressen 0x0000 ~ 0x0003 2 Daten gleichzeitig lesen, so dass die Anzahl der Eingaberegister entspricht 0x0002, Adresse = 0x0000 oder 0x0002

Adresszuweisung:

0x0000: Luftfeuchtigkeit festlegen 0x0001: Aktuelle Luftfeuchtigkeit

0x0002: Spule-Temperatur 0x0003: Reserviert

Hinweis 1: Die Temperatur-Feuchtigkeit - Daten H (High-Byte) und die Daten L (Low-Byte) sind jeweils die entsprechenden aktuellen Temperatur-Feuchtigkeit - Werte:

Die hochgeladenen Daten müssen durch 10 geteilt werden, z. B. die Luftfeuchtigkeit hochgeladen hexadezimal 0311, entspricht Dezimal 00785, entspricht 78,5%.

Hinweis 2: Die Temperatur unter Null wird mit einer negativen Zahl angegeben, z. B. -11,5 ° C.则 11.5℃对应十进制正数=115 16进制=0x73

负数用补码,则= 0xFFFF-0x0073= 0Xff8C

Hinweis 3: Daten bei Ausfall der Temperatur-Feuchtigkeit = 0xFFFF

Beispiel: Host sendet: 01 04 00 00 00 02 71 CB

Lesen von 2 Byte von Daten ab 0000 vom Gerät mit der Adresse 1 (d.h. Gerätefeuchtigkeit und aktuelle Luftfeuchtigkeit)

Drei-Funktionscode 05

Verwenden Sie diesen Funktionscode für das Remote-Gerät, um eine einzelne Spule zu schreiben (Schreiben Sie ON / OFF-Zustand für ein einzelnes Register, jeder Schalter ist ein Register 16 - Bit-Datenformat, HEX-Code, hohes Byte vor, FF00 = ON, 0000 = OFF)

Schreiben Sie den Startbefehl für das Gerät an die Adresse 1

Host-Anfrage: Senden Sie Daten an die Adresse 01050000FF00 
01050000FF00  
AnschriftFunktionscodePreset-Register

Adresse hoch

Preset-Register

Adresse niedrig

Registerdaten hochRegisterdaten niedrigCRCLCRCH
Slave-Rückgabe: Die zurückgegebenen Daten sind 0105000FF00 
01050000FF00  
AnschriftFunktionscodeVorinstellungsregister

Adresse hohe

Vorinstellungsregister

Adresse niedrig

Daten hoheDaten niedrig platzierenCRCLCRCH

Diese Kommunikation setzt 1 Online-Schreibspule (Schaltervolumen), Spule-Adresse = 0x0000

Beispiel Host send: 01 05 00 00 ff 00 8c 3a

Anschluss-Einstellungen für Adresse 1 Gerät

Beispiel Host send: 01 05 00 00 00 00 cd ca

Einstellungen für das Gerät mit der Adresse1 Shutdown

Vier-Funktionscode06

Verwenden Sie diesen Funktionscode für Remotegeräte, um Dateninformationen in ein einzelnes Register zu schreiben (Jeder Informationsparameter ist ein Register), 16 - Bit-Datenformat, HEX-Code, hohe Bytes vor

Dieses Protokoll definiert 11 Parameter-Menge schreiben, die jeweils folgende Adressen entsprechen:

Voreinstellte Registeradresse: 0x0000 Schreiben Betriebsmodus 0x0000 = Entfeuchtung 0x0001 = Lüftung

0x0001 Schreiben Sie den HEX-Code für die Einstellungen der Luftfeuchtigkeit mit einer Dezimalstelle

0x0002 Schreiben der aktuellen Zeit HEX-Code, hohe Byte-Stunden, niedrige Byte-Minuten

0x0003 Schreib-Einstellungstiming Start-HEX - Code, hohe Byte-Stunde, niedrige Byte-Minuten

0x0004 Schreibzeit-Einstellungen HEX-Code, hohe Byte-Stunden, niedrige Byte-Minuten

0x0005 ~ 0x0008 Reservierte Steuerung

0x0009 Hex-Code für die Korrektur der Geräteadresse, hohe Bytes = 0, niedrige Bytes 0 ~ 254

0x000a Schreiben Sie den Hex-Code für die Korrektur der Baudrate der Kommunikation,

Senden Sie Beispiele:

Beispiel: Schreiben des Lüftungsmodus für Adresse1

Hostsend: 01 06 00 00 00 01 48 0a

Beispiel: Schreiben der Luftfeuchtigkeit für Adresse1 48%

Hostsend: 01 06 00 01 e0 d8 12

Beispiel: Schreiben an Adresse1 Aktuelle Uhrzeit 8: 30

Host send: 01 06 00 02 08 1e af c2

Beispiel: Schreiben an Adresse1 Timed Startzeit 10: 40 Uhr

Host send: 01 06 00 03 0a 28 7f74

Beispiel: Schreiben von Adresse 1 Timed Shutdown 13: 12

Host send: 01 06 00 04 0d 0c cc9e

Beispiel: Schreiben von Adresse 1 Ändern von Adresse 1 in Adresse 2

Hinweis: Adress-Register = 0x0009 Maschinenadresse gültige Daten sind ein Byte, Adresswert hoch = 0, niedrig 0 ~ 254

Host Senden: 01 06 00 09 00 02 d8 09

Host Anforderung: Senden Sie Daten als 01060009000209D8 (Adresse 1 in 2) 
01060009000209D8
AnschriftFunktionscodeVorinstellungsregister

Adresse hohe

Vorinstellungsregister

Adresse niedrig

Registerdaten hoheRegisterdaten niedrigCRCLCRCH
Rückgabe: Die Daten sind 01060009000209D8 
01060009000209D8
AdresseFunktionscodePreset-Register

Adresse Hohe

Preset-Register

Adresse Niedrig.

Setzen Sie die hohen DatenbitsSetzen Sie die niedrigen DatenbitsCRCLCRCH

Beispiel: für die Adresse 1 Aktuelle Baudrate geändert auf 4800 (Hexadezimal von 4800 auf 12C0)

Host Senden: 01 06 00 0a 12 c0 a5 38

Host Anfrage: Senden von Daten auf 0106000A12C0A538 (Baudrate von 9600 geändert auf 4800) 
0106000A12C0A538
AnschriftFunktionscodeVorinstellungsregister

Adresse hohe

Vorinstellungsregister

Adresse niedrig

Daten hoheDaten niedrig platzierenCRCLCRCH
Zurückgabe: 0106000A12C0A538 
0106000A12C0A538
AdresseFunktionscodeVorinstellungsregister

Adresse hohe Bit

Preset-Register

Adress-Low - Bit

Daten-High - BitDaten-Low - BitCRCLCRCH

Hinweis 3: Fehlercode-Frameformat

Adresse Fehlercode Ausnahmecode CRCL CRCH

Fehlercode = Funktionscode + 0x80

Ausnahmecode = 01 oder 02 oder 03 oder 04

01 = ungültiger Operationscode

02 = ungültige Datenadresse

03 = Daten-Ausnahme

04 = MB-Fehler

Anmerkung 4: CRC-Prüfmethode

CRC-Erzeugungsfunktion

unsigned short CRC16 Die Funktion (puchMsg, usDataLen) / * gibt die CRC * /

unsigned char * puchMsg; / * Nachricht zurück, die CRC berechnet. */

unsigned short usDataLen; / * Anzahl der Bytes in der Nachricht * /

{

unsigned char uchCRCHi = 0xFF; / * Initialisierung des CRCs mit hohen Bytes * /

unsigned char uchCRCLo = 0xFF; / * Initialisierung des CRCs mit niedrigem Byte * /

unsigned uIndex; / * CRC-Abfragetabellenindex * /

while (usDataLen - -) / * Vollendet den gesamten Nachrichtenpuffer * /

{

uIndex = uchCRCLo ^ * puchMsgg + +; / * CRC berechnet * /

|

uchCRCHi = auchCRCLo[uIndex];

}

return (uchCRCHi < < 8| (auchchchCRCLo);

}

High-Byte - Tabelle

/ * CRC-Werte für hohe Bytes * /

static unsigned char auch CRCHi[] = {

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

0x00, 0xC1, 0x81,

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

0x40, 0x01, 0xC1, 0x81, 0x40, 0x01,

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

0x81, 0x40, 0x01,

Siehe auch: 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0x80, 0x41, 0x01,

0xC0, 0x80, 0x41,

0x001, 0x81, 0x401, 0x01, 0x40, 0x41, 0x001, 0x81, 0x40, 0x41, 0x40, 0x

0x00, 0xC1, 0x81,

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

0x41, 0x01, 0xC0,

0x80, 0x41, 0x40, 0xC1, 0x81, 0x40, 0xC1, 0x81, 0x40, 0x01, 0xC1, 0x01, 0x01, 0x

0x80, 0x41, 0x01,

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

0xC1, 0x81, 0x40,

0x01, 0x01, 0x

0x00, 0xC1, 0x81,

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

0x40, 0x01, 0xC1,

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

0x81, 0x40, 0x01,

Siehe auch: 0x80, 0x41, 0x01, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,

0xC0, 0x80, 0x41,

0x00, 0x1, 0x81, 0x40, 0x00, 0x1, 0x81, 0x40, 0x01, 0x0, 0x80, 0x41,

0x00, 0xC1, 0x81,

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

0x40, 0x01, 0xC0, 0x80,

0x80, 0x41, 0x40, 0xC1, 0x81, 0x40, 0xC1, 0x81, 0x40, 0x01, 0xC1, 0x01, 0x01, 0x

0x80, 0x41, 0x01,

Siehe auch: 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,

0xC0, 0x80, 0x41,

0x01, 0x01, 0x

0x00, 0xC1, 0x81,

0x40

} ;

Niedrige Tabelle

/ * CRC-Wert für niedrigste Bytes * /

statische 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, 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, 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,

0x79, 0x79, 0x79, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBC, 0x7C, 0xB4,

0x74, 0x75, 0xB5,

0x77, 0xB6, 0x76, 0x72, 0xB3, 0x73, 0xB1, Siehe auch: „Das ist die Veröffentlichung von ‚ Veröffentlichung von ' Veröffentlichung von ‚ Veröffentlichung von ' Veröffentlichung von ‚ Veröffentlichung von ‚ Veröffentlichung von ' Veröffentlichung von ‚ Veröffentlichung von ‚ Veröffentlichung von ' Veröffentlichung von ‚ Veröffentlichung von ‚ Veröffentlichung von ' Veröffentlichung von ‚ Veröffentlichung von ' Veröffentlichung von ‚ Veröffent 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59

0x50, 0x90, 0x91,

Siehe auch: 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94,

0x54, 0x9C, 0x5C,

0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9B, 0x5B, 0x99, 0x59, 0x59, 0

0x58, 0x98, 0x88,

0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D,

0x4D, 0x4C, 0x8C,

0x44, 0x84, 0x85, 0x45, 0x87, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83,

0x41, 0x81, 0x80,

0x40

};

Herstellerinformationen:

Matsushima Deckenentfeuchter Modbus KommunikationsprotokollAbbildung

400-0858-758

www.hzsongdao.com

Hangzhou Matsushima Industrie Limited

Telefon: 0571 - 85367531 / Fax: 0571 - 85367531

Adresse: 528 Shunfeng Road, Qianjiang Economic Development Zone, Yuhang District, Hangzhou

Matsushima Deckenentfeuchter Modbus KommunikationsprotokollAbbildung1
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.