Skocz do zawartości

Modbus RTU Arduino - PC


Lotrzyk28

Pomocna odpowiedź

Cześć,

czy znacie się na protokole Modbus RTU, RS485? Od kilku dni walczę z tematem, aby poprzez Modbus RTU przesyłać dane z Arduino do PC. Znalazłem bibliotekę ModbusRtu.h, a z nią przykład kodu, który umieszczam poniżej. Czy dobrze rozumiem, że przesyłane przez Arduino dane to tablica au16data[16]?

Do odczytywania wykorzystuję program QModMaster. Arduino połączone jest z PC poprzez konwertel MAX485 TTL i przejściówkę z RS485 na USB (do COM5), tak jak w przykładzie z artykułu: https://circuitdigest.com/microcontroller-projects/rs485-modbus-serial-communication-using-arduino-uno-as-slave

Niestety QModbus nic nie pokazuje gdy daję funkcję "Read holding registers (0x03)", wyrzuca tylko błędy.

 

/**
 *  Modbus slave example 3:
 *  The purpose of this example is to link a data array
 *  from the Arduino to an external device through RS485.
 *
 *  Recommended Modbus Master: QModbus
 *  http://qmodbus.sourceforge.net/
 */

#include <ModbusRtu.h>

// assign the Arduino pin that must be connected to RE-DE RS485 transceiver
#define TXEN	4 

// data array for modbus network sharing
uint16_t au16data[16] = {
  3, 1415, 9265, 4, 2, 7182, 28182, 8, 0, 0, 0, 0, 0, 0, 1, -1 };

/**
 *  Modbus object declaration
 *  u8id : node id = 0 for master, = 1..247 for slave
 *  port : serial port
 *  u8txenpin : 0 for RS-232 and USB-FTDI 
 *               or any pin number > 1 for RS-485
 */
Modbus slave(1,Serial,TXEN); // this is slave @1 and RS-485

void setup() {
  Serial.begin( 19200 ); // baud-rate at 19200
  slave.start();
}

void loop() {
  slave.poll( au16data, 16 );
}

 

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.