Witam
Mam problem odnośnie wysterowania przez Arduino NANO falownika jako slave. HY02D223B(chyba najpopularniejszy i najtańszy chińczyk z RS485).
Przyjmuje on komendy sterujące start i stop:
Start: 0x05 0x03 0x01 0x01 CRC CRC
Stop: 0x05 0x03 0x01 0x08 CRC CRC
Ja uzywam do mastera<ModbusRtu.h>
Wysyła się ramkę w nastepujący sposób:
telegram[0].u8id = 5; // adres slave
telegram[0].u8fct = 3; // function code
telegram[0].u16RegAdd = 0x01;
telegram[0].u16CoilsNo = 0; //number of elements (coils or registers) to read
telegram[0].au16reg = au16data; // pointer to a memory array in the Arduino
au16data[0]=0x01;
Po przechwyceniu transmisji jaką wysyła master na linię RS485:
0x05 0x03 0x00 0x01 0x00 0x01 i crc to jest D4 4E
Jak zmienie u16RegAdd na u8RegAdd to podczas kompilacji jest błąd 'struct modbus_t' has no member named 'u08RegAdd'; did you mean 'u16RegAdd'?'
Nie mogę zmienic biblioteki bo falownik jest dodatkiem do reszty slaveów które jużdziałają.
CZY KTOŚ MOŻE MA POMYSŁ ODNOŚNIE TEJ BIBLIOTEKI?
POZDRAWIAM
RAFAŁ
Mam problem odnośnie wysterowania przez Arduino NANO falownika jako slave. HY02D223B(chyba najpopularniejszy i najtańszy chińczyk z RS485).
Przyjmuje on komendy sterujące start i stop:
Start: 0x05 0x03 0x01 0x01 CRC CRC
Stop: 0x05 0x03 0x01 0x08 CRC CRC
Ja uzywam do mastera<ModbusRtu.h>
Wysyła się ramkę w nastepujący sposób:
telegram[0].u8id = 5; // adres slave
telegram[0].u8fct = 3; // function code
telegram[0].u16RegAdd = 0x01;
telegram[0].u16CoilsNo = 0; //number of elements (coils or registers) to read
telegram[0].au16reg = au16data; // pointer to a memory array in the Arduino
au16data[0]=0x01;
Po przechwyceniu transmisji jaką wysyła master na linię RS485:
0x05 0x03 0x00 0x01 0x00 0x01 i crc to jest D4 4E
Jak zmienie u16RegAdd na u8RegAdd to podczas kompilacji jest błąd 'struct modbus_t' has no member named 'u08RegAdd'; did you mean 'u16RegAdd'?'
Nie mogę zmienic biblioteki bo falownik jest dodatkiem do reszty slaveów które jużdziałają.
CZY KTOŚ MOŻE MA POMYSŁ ODNOŚNIE TEJ BIBLIOTEKI?
POZDRAWIAM
RAFAŁ