• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Problem z odczytem modbus rtu
#1
Witam problem jak w temacie a mianowicie:
 Odczytuje i wysłane dane w HEX/BYTE lecz po przepisaniu do zmiennej typu byte przepisuje mi w kodzie asci.
a ja musze uzyskać postać np
Kod:
01 10 7d 00 00 16 59 ab

Tu prosty kod
Kod:
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

bool flaga[2];
byte Adres=0x01;
byte buffor[8];
void setup() {
 
  Serial.begin(9600);
  Serial2.begin(9600);
  while (!Serial) {
    ;
  }


  Serial.println("Goodnight moon!");
// Serial2.write(byte(mySerial.read()));

  mySerial.begin(9600);
  mySerial.println("Hello, world?");
}

void loop() {
  if (mySerial.available()) {
    Serial2.write(byte(mySerial.read()));
  for(int i=0;i<8;i++){
   
 
  buffor[i]+=mySerial.read();
 

                      }
 
                     
                            }
  if (Serial2.available()) {
    mySerial.write(byte(Serial2.read()));
  }

  for(int i=0;i<8;i++){
  Serial2.println(byte(buffor[i]));
 
 
                      }
if(buffor[0]==Adres ){

  Serial2.println("ok");
}

}
a to wpisuje do rejestru
Kod:
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31 33 32 0d 0a  238..0..0..132..
32 32 0d 0a 32 0d 0a 32 35 30 0d 0a 39 36 0d 0a  22..2..250..96..
32 33 38 0d 0a 30 0d 0a 30 0d 0a 31              238..0..0..1
A projekt jest prosty mam napisany w C# program na tablet 10" win 10 sa tam przyciski mierniki temperatury ładowani kontrola ogrzewania do przyczepy kampingowej arduino ma służyć jako expander I/O dlatego potrzeba aby Andino rozpoznawało swój unikalny adres oraz odpowiadało w standardzie RTU. Pomoże ktoś bardzie zawansowany.
 
Odpowiedź
  


Wiadomości w tym wątku
Problem z odczytem modbus rtu - przez Adrian - 15-08-2022, 09:32
RE: Problem z odczytem modbus rtu - przez kaczakat - 20-08-2022, 18:12

Skocz do:


Przeglądający: 1 gości