DALYkent hoofdzakelijk drie protocollen:CAN, UART/485 en Modbus.
1. CAN-protocol
Testtool:CANtest
- Baudrate:250K
- Frametypen:Standaard en uitgebreide frames. Over het algemeen wordt het uitgebreide frame gebruikt, terwijl het standaard frame voor een aantal aangepaste gebouwbeheersystemen (BMS) is bedoeld.
- Communicatieformaat:Data-ID's van 0x90 tot 0x98zijn toegankelijk voor klanten. Andere ID's zijn over het algemeen niet toegankelijk of aanpasbaar voor klanten.
- PC-software naar BMS: Prioriteit + Data-ID + BMS-adres + PC-softwareadres, bijvoorbeeld 0x18100140.
- BMS-reactie op pc-software: Prioriteit + Data-ID + Adres van pc-software + BMS-adres, bijvoorbeeld 0x18104001.
- Let op de positie van het pc-softwareadres en het BMS-adres. Het adres dat de opdracht ontvangt, komt eerst.
- Informatie over de inhoud van de communicatie:Bijvoorbeeld, bij een batterijfout met een secundaire waarschuwing voor een lage totale spanning, zal Byte0 de waarde 80 weergeven. Omgerekend naar binair is dit 10000000, waarbij 0 normaal betekent en 1 een alarm. Volgens de DALY-definitie (linksboven, rechtsonder) komt dit overeen met Bit7: secundaire waarschuwing voor een lage totale spanning.
- Controle-ID's:Opladen MOS: DA, Ontladen MOS: D9. 00 betekent aan, 01 betekent uit.
2.UART/485-protocol
Testtool:COM-serieel hulpmiddel
- Baudrate:9600bps
- Communicatieformaat:Methode voor het berekenen van de controlesom:De checksum is de som van alle voorgaande gegevens (alleen de laagste byte wordt meegenomen).
- PC-software naar BMS: Frameheader + Communicatiemoduleadres (UPPER-Add) + Data-ID + Datalengte + Data-inhoud + Controlesom.
- BMSReactie op pc-software: Frameheader + Communicatiemoduleadres (BMS-Add) + Data-ID + Datalengte + Data-inhoud + Controlesom.
- Informatie over de inhoud van de communicatie:Hetzelfde als CAN.
3. Modbus-protocol
Testtool:COM-serieel hulpmiddel
- Communicatieformaat:
- Berichtprotocolindeling:Lees het register, vraag een kader aan
- Byte: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
- Beschrijving: 0xD2 | 0x03 | Startadres | Aantal registers (N) | CRC-16 controlesom
- Voorbeeld: D203000C000157AA. D2 is het slave-adres, 03 is de leesopdracht, 000C is het startadres, 0001 betekent dat er 1 register moet worden gelezen en 57AA is de CRC-checksum.
- Standaard antwoordkader:
- Byte: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
- Beschrijving: 0xD2 | 0x03 | Gegevenslengte | Waarde van het 1e register | Waarde van het N-de register | CRC-16-controlesom
- L = 2 * N
- Voorbeeld: N is het aantal registers, D203020001FC56. D2 is het adres van de slave, 03 is het leescommando, 02 is de lengte van de gelezen data, 0001 staat voor de waarde van het eerste register dat wordt gelezen, wat de ontladingsstatus van het hostcommando is, en FC56 is de CRC-checksum.
- Berichtprotocolindeling:Lees het register, vraag een kader aan
- Schrijfregister:Byte 1 is 0x06, waarbij 06 het commando is om naar een enkel holdingregister te schrijven, en bytes 4-5 het hostcommando vertegenwoordigen.
- Standaard antwoordkader:Het standaard antwoordframe voor het schrijven van een enkel holdingregister volgt hetzelfde formaat als het verzoekframe.
- Schrijf naar meerdere dataregisters:Byte1 is 0x10, waarbij 10 het commando is om meerdere dataregisters te schrijven, byte2-3 het startadres van de registers is, byte4-5 de lengte van de registers aangeeft en byte6-7 de data-inhoud vertegenwoordigt.
- Standaard antwoordkader:Byte 2-3 is het startadres van de registers, byte 4-5 vertegenwoordigt de lengte van de registers.
Geplaatst op: 23 juli 2024
