waveshare mit lnet - mit oder ohne MODBUS

Alle Fragen zur Netzwerkkommunikation
PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

Hallo zusammen,

ich habe ein Windows-Programm geschrieben, das serielle Daten über IP/LAN empfängt.
Dazu habe ich das lnet Paket eingebunden.


Für mein Projekt habe ich einen Waveshare "Industrial RS232/RS485 to Ethernet Converter for EU" gekauft.
https://www.waveshare.com/product/iot-c ... m?___SID=U

Mit meinem Adapter / Konverter funktioniert die Wandlung / Datenübertragung
seriell "TCP-Client" => Netzwerk => "TCP-Server" auf Windows-Port

Jetzt hat sich jemand - wegen des günstigeren Preises - einen Waveshare "RS485 to Ethernet Converter" gekauft.
Der Unterschied ist u.a., daß dieses Gerät kein "MODBUS" kann.
https://www.waveshare.com/product/iot-c ... m?___SID=U


Ich habe mir dieses günstigere Interface jetzt auch mal bestellt, um zu verstehen,
warum die Datenübertragung nicht funktioniert - ist aber noch nicht angekommen.
Wenn man von der WAVESHARE Webseite eine Software herunter lädt, die einen virtuellen COM-Port bereit stellt,
kann der Benutzer meiner Software mit dem "RS485 to Ethernet Converter" Daten aber per SerialPort empfangen.


Was um Himmels Willen schickt ein Nicht-MODBUS-"COM => TCP - Wandler" über TCP ins Netz ?
ASCII-Daten ?

Ich habe schon wie verrückt gegoogelt, kann aber bisher keine Erklärung finden.
Außer diese Tabelle:
Vergleich - Tabelle.png
Vergleich - Tabelle.png (94.84 KiB) 43883 mal betrachtet

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von corpsman »

Also Modbus ASCII versendet tatsächlich ASCII zeichen, das stimmt schon.

Ich kenne 3 MODBUS arten
Modbus ASCII
Modbus RTU
Modbus TCP/ IP

die unterscheiden sich alle ein bisschen, zumindest für die letzten beiden gibt es ein "testtool" https://github.com/PascalCorpsman/Examp ... Diagnostic das mir da immer sehr hilft das alles zu verstehen.
Aber eigentlich ist Modbus recht einfach. Bei TCP/IP geht das tool direkt beim anderen Brauchst ne RS485 auf RS323 Brücke und dann das tool ;)
--
Just try it

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von af0815 »

was ist da so komisch. Ist alles eine TCP oder UDP Verbindung über Sockets, was da übertragen wird ist nur Definitionssache des Bytestreams.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

af0815 hat geschrieben: Fr 4. Okt 2024, 18:34 was ist da so komisch. Ist alles eine TCP oder UDP Verbindung über Sockets, was da übertragen wird ist nur Definitionssache des Bytestreams.
Ich finde nichts im Internet dazu, was denn da übertragen wird.
Von dem günstigeren Waveshare Konverter.
Ohne MODBUS-Protokoll. Und ohne Websocket.

So lange ich da überhaupt keine Ahnung von habe,
was da auf der TCP-Ebene transportiert wird, ist das für mich "komisch".
PeterS hat geschrieben: Fr 4. Okt 2024, 16:03 Was um Himmels Willen schickt ein Nicht-MODBUS-"COM => TCP - Wandler" über TCP ins Netz ?

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von af0815 »

Es gibt nur UDP = Pakete ohne Übertragungsbestätigung oder TCP = mit Übertragungsbestätigung im Netzwerk, alle anderen Pakettypen sind mittlerweile nicht mehr üblich (zB IPX). Siehe auch OSI Schicht Modell.

Daher wird alles mit UDP oder TCP gemacht. Vermutlich hier bei dem Wandler TCP. Was in dem Paket drinnen steht ist eine Sache auf die sich Sender und Empfänger einigen müssen. Oft wird ein wohl definiertes Protokoll wie Modbus genommen, es kann aber auch ein anderes Protokoll sein.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von corpsman »

PeterS hat geschrieben: Fr 4. Okt 2024, 20:45
af0815 hat geschrieben: Fr 4. Okt 2024, 18:34 was ist da so komisch. Ist alles eine TCP oder UDP Verbindung über Sockets, was da übertragen wird ist nur Definitionssache des Bytestreams.
Ich finde nichts im Internet dazu, was denn da übertragen wird.
Von dem günstigeren Waveshare Konverter.
Ohne MODBUS-Protokoll. Und ohne Websocket.

So lange ich da überhaupt keine Ahnung von habe,
was da auf der TCP-Ebene transportiert wird, ist das für mich "komisch".
PeterS hat geschrieben: Fr 4. Okt 2024, 16:03 Was um Himmels Willen schickt ein Nicht-MODBUS-"COM => TCP - Wandler" über TCP ins Netz ?
Deswegen hatte ich dir https://github.com/PascalCorpsman/Examp ... Diagnostic empfohlen, das Programm empfängt den Datenstrom und zeigt einzelne Register an, da kannst dann genau sehen wie das Protokoll aufgebaut ist,
Kurz hat man den Modbus RTU datenstrom gemacht, die CRC weggemacht und dafür nen Counter vorne eingebaut. In Länger kannst du das z.B. hier nachlesen.
--
Just try it

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

corpsman hat geschrieben: Sa 5. Okt 2024, 08:51 Deswegen hatte ich dir https://github.com/PascalCorpsman/Examp ... Diagnostic empfohlen, das Programm empfängt den Datenstrom und zeigt einzelne Register an, da kannst dann genau sehen wie das Protokoll aufgebaut ist,
Kurz hat man den Modbus RTU datenstrom gemacht, die CRC weggemacht und dafür nen Counter vorne eingebaut.
Ich danke Dir für den Link, bin noch nicht dazu gekommen, Dir direkt zu antworten.

Okay, dann muss ich also damit rechnen, daß dieser preiswerte WaveShare Converter
"irgendwas propietäres" über IP macht ? Na, das wird ja noch lustig .. :shock:
corpsman hat geschrieben: Sa 5. Okt 2024, 08:51 In Länger kannst du das z.B. hier nachlesen.
Gut, dann werde ich mich mal darin verbeißen .. :wink:

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

Soooo ... ich hatte mich innerlich schon auf eine Menge Arbeit eingestellt ..
und heute kam der "kleine" WaveShare, per Post. Also Platte montiert und Geräte draufgeschraubt.
.
IMG_20241008_223055~2klein.jpg
IMG_20241008_223055~2klein.jpg (17.08 KiB) 43754 mal betrachtet
.
Verkabelt, passend konfiguriert .. und einen Monitor gestartet ..
Was soll ich sagen ? Läuft auf Anhieb !
.
Screenshot (803).png
Screenshot (803).png (229.27 KiB) 43754 mal betrachtet
Zuletzt geändert von PeterS am Di 8. Okt 2024, 22:51, insgesamt 1-mal geändert.

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

Ist schon ärgerlich.

Da müssen "meine User" irgendein Problem haben,
die Hardware und meine Software korrekt zu konfigurieren.

:(

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von af0815 »

PeterS hat geschrieben: Di 8. Okt 2024, 22:51 Ist schon ärgerlich.

Da müssen "meine User" irgendein Problem haben,
die Hardware und meine Software korrekt zu konfigurieren.
Das heisst der Programmierer hat sie nicht richtig durch den Konfigurationsprozess geleitet :mrgreen:

Kenn ich, eventual das Programm um einen Diagnosemodus erweitern oder die Doku optimieren. Die Software soll besser als Idiotensicher sein -> Fertigungstauglich. Und vergiss nicht, falls die Software Idiotensicher ist, kontert die Evolution mit einem besseren Idioten :lol:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

In meiner Software muss man doch nur die Port-Nummer einstellen .. sonst garnix.
.
fix und fertig k.jpg
fix und fertig k.jpg (4.04 KiB) 43722 mal betrachtet

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

Die Probleme mit dem 485toETH Waveshare hatte ich dann doch leider weiterhin.

Ich bin noch nicht sicher ob es wirklich die Lösung ist, aber ich habe das 0.6.6 lNet Paket,
das man über den Lazarus Download-Manager herunterladen kann, entfernt.
Und dann manuell das 0.6.6 Paket installiert. Nicht mehr nachvollziehbar, woher ich das habe. SourceForge ?
Vielleicht hat sich auch meine recompilierte Lazarus-Exe "verheddert", ich weiß es einfach nicht :oops:

Jedenfalls habe ich jetzt nach x-mal neuem Start meiner Software
auch jedes Mal eine 100% funktionierende Verbindung zum 485toETH Waveshare herstellen können.


Es ist total ätzend wenn man nicht eindeutig URSACHE => WIRKUNG klären kann ! :evil:

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von af0815 »

mit diff kann man source relativ einfach vergleichen, wenn man es braucht,will oder Fehler sucht.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

PeterS
Beiträge: 161
Registriert: So 22. Feb 2015, 11:36
OS, Lazarus, FPC: L 3.8
CPU-Target: win32

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von PeterS »

Heute hat das Programm schon wieder keine Daten "angenommen". Aber es lag auf einem Stick.
Dann habe ich die EXE kopiert in einen Unterordner in C:/, und dort eine alte Programm-Version überschrieben ..
Dort auf C:/ konnte das Programm plötzlich Daten empfangen.

Da das Programm Dateien liest + schreibt, und außerdem auf SerialPort und Netzwerk zugreift,
vermute ich mittlerweile ein "Sicherheits-Problem" - vielleicht blocken Mechanismen in Windows.
:shock:

Microsoft Defender SmartScreen ?
Zuletzt geändert von PeterS am Di 15. Okt 2024, 11:55, insgesamt 2-mal geändert.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6766
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: waveshare mit lnet - mit oder ohne MODBUS

Beitrag von af0815 »

Wenn man Software hat, die nach aussen kommuniziert, muss man sich über kurz oder lang mit dem Windows Firewall beschäftigen. Auch sollte man sich mit dem Installaltionsort, Ablage von Daten etc. beschäftigen. Windows setzt die vorhandenen Regeln immer mehr durch.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten