Auslesen von Informationen mit Modbus RS485

In ein paar Wochen werde ich einen Sensor mit einer Modbus-Schnittstelle (RS485) für meine Arbeit erhalten. Leider habe ich keine Erfahrung in der Modbus-Programmierung. Ich habe versucht, mich zu dokumentieren und habe dieses Programm geschrieben. Mein Arduino wird als Master und der Sensor als Slave verwendet. Ich möchte an Adresse 0x0001 den Wert des Wasserdurchflusses auslesen. Im Datenblatt steht: "Lesen Sie die entsprechenden Register mit Funktionscode 4 (0x04) aus (Read Input Registers)".
Bin ich auf dem richtigen Weg oder gibt es Verbesserungen, bis ich den Sensor zurückbekomme?

//#include <ArduinoRS485.h>



//#include <ArduinoModbus.h>


#include <ModbusMaster.h>

#define MAX485_DE 3   // Pin names that are connected between the MAX485 TTL to RS-485 converter module and Arduino UNO.
#define MAX485_RE_NEG 2

ModbusMaster node;                    //object node for class ModbusMaster


// preTrasnmission()  and postTrasmission() for making the Pins RE and DE of Max485 TTL to RS-485 convertor module high or low to Transmit or Receive data

void preTransmission()
{
  digitalWrite(MAX485_RE_NEG, 1);
  digitalWrite(MAX485_DE, 1);
}

void postTransmission()
{
  digitalWrite(MAX485_RE_NEG, 0);
  digitalWrite(MAX485_DE, 0);
}


void setup() {
  // put your setup code here, to run once:

  pinMode(MAX485_RE_NEG, OUTPUT);
  pinMode(MAX485_DE, OUTPUT);

  // intit receive mode

  digitalWrite(MAX485_RE_NEG, 0);
  digitalWrite(MAX485_DE, 0);

  Serial.begin(9600);

  node.begin(1, Serial);

  node.preTransmission(preTransmission);
  node.postTransmission(postTransmission);


}

void loop() {
  // put your main code here, to run repeatedly:

  float valueSensor;
  valueSensor = node.readInputRegisters(0x0001, 1);
  delay(1000);

}

der dritte Versuch an einem Tag...
Ich stell stumm.

:joy: :kissing_smiling_eyes:

Manche lernen es halt nie und Andere noch später.

Gruß Tommy

Hallo Patrick, ich habe gerade das gleiche Problem. Möchte meinen Huawei Wechselrichter auslesen um die Energie zu managen. HAst Du es schlussendlich geschafft mit dem Code? MFG Herbert

leider habe ich nicht hingekriegt das problem zu lösen

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.