NEWS
[Gelöst] Modbus rtu seriell / QNAP LXD Container USB
-
@wolfi999999 sagte in Modbus rtu seriell:
wie ich ich die Kommunikation zu dem Modbus Teilnehmer herstellen möchte steht im Titel "Modbus rtu seriell"
da stand das leider nicht!
- javascript
- blockly
- node-red
- Modbus Adapter
- auf OS Ebene
- .....
@wolfi999999 sagte in Modbus rtu seriell:
der Konverter hängt wirklich an USB0?
sonst
@wolfi999999 sagte in Modbus rtu seriell:
blinkt an dem USB Adatper absolut nichts
hat der Container Zugriff darauf?
@wolfi999999 sagte in Modbus rtu seriell:
ich sollte mit dem Tool Probleme haben auf den /dev/ttyUSB0 zu kommen.
läuft das im selben Container?
@wolfi999999 sagte in Modbus rtu seriell:
Mehr wird mir leider nicht dargestellt .
die erste Zeile sieht irgendwie abgeschnitten aus
-
Hallo Homoran,
erstmal vielen Dank, dass du Dich meines Problems annimmst.Leider gehöre ich noch zu der arbeitenden Bevölkerung und heute war ein ziemlicher Stresstag, daher die späte Antwort.
- Jetzt verstehe ich Dein "wie" , wie welche Software
Hatte ich im unteren Teil des ersten Post angedeutet, war wohl missverständlich
Beim ioBroker Adapter Modbus blinkt nix. Kann es sein, dass mir noch eine Middleware zwischen Adapter Modbus und /dev/ttyUSB0 fehlt??
- Ja, wie in dem ersten Code Listing dargestellt habe . Im oberen Teil habe ich nur zur Info für die sich mit modbus rtu seriell besser auskennen die Parameterliste dargestellt und im unteren Teil habe ich den Aufruf und ein paar Antworten des UVR610 Modb Slave Adresse 10 dargestellt.
klickerkram@ubu2204-iobroker01:~$ ~/modpoll/x86_64-linux-gnu/modpoll -b 19200 -p none -m rtu -a 10 -t 3:int -i -r 1 -c 20 /dev/ttyUSB0 modpoll 3.10 - FieldTalk(tm) Modbus(R) Master Simulator Copyright (c) 2002-2021 proconX Pty Ltd Visit https://www.modbusdriver.com for Modbus libraries and tools. Protocol configuration: Modbus RTU, FC4 Slave configuration...: address = 10, start reference = 1, count = 20 Communication.........: /dev/ttyUSB0, 19200, 8, 1, none, t/o 1.00 s, poll rate 1000 ms Data type.............: 32-bit integer, input register table Word swapping.........: Slave configured as big-endian word machine -- Polling slave... (Ctrl-C to stop) [1]: 162 [3]: 16383 [5]: 16383 [7]: 16383 [9]: 163830 [11]: 16383 [13]: 0 [15]: 0 [17]: 0 [19]: 0 [21]: 0 [23]: 0 [25]: 0 [27]: 0 [29]: 0 [31]: 500 [33]: 0 [35]: 0 [37]: 0 [39]: 0 -- Polling slave... (Ctrl-C to stop) [1]: 162 [3]: 16383 [5]: 16383 [7]: 16383 [9]: 163830 [11]: 16383 [13]: 0 [15]: 0 [17]: 0 [19]: 0 [21]: 0 [23]: 0 [25]: 0 [27]: 0 [29]: 0 [31]: 500 [33]: 0 [35]: 0 [37]: 0 [39]: 0 -- Polling slave... (Ctrl-C to stop) [1]: 162 [3]: 16383 [5]: 16383 [7]: 16383 [9]: 163830 [11]: 16383 [13]: 0 [15]: 0
Hier nochmal der reine Werte Abruf.
-
Ja, selbstverständlich. Ich habe mir dieses CLI Tool nur besorgt um zu prüfen, dass ich Werte von meinem Slave auch wirklich innerhalb des Containers abfragen kann, da es im ioBroker mit dem Adapter Modbus nicht funktioniert hatte .
-
Alles Andere macht kaum Sinn. Allerdings läuft das CLI Tools wahrscheinlich unter einen anderen User (klickerkram).
So wie das sehe wird für die ioBroker Installation ein neuer User "iobroker" eingerichtet. Unter dem läuft dann wohl auch ioBroker und wir Benutzer können über die Web Oberfläche damit unsere Wünsche erfüllen. Ich hatte versucht mich mit meinem Anmeldenamen und Passwort von ioBroker über ssh auf den User iobroker anzumelden um auch dort mit diesem Tool den gleichen Versuch zu machen. Leider konnte ich mich nicht anmelden. -
Welche Zeile wirkt abgeschnitten? Von mir ist da nichts abgeschnitten worden.
Du hattest in Deiner ersten Nachfrage diverse Möglichkeiten wie Javascript oder Blockly erwähnt. Findet man dazu Beispiele für modbus rtu seriell.
Gruß Wolfgang
- Jetzt verstehe ich Dein "wie" , wie welche Software
-
@wolfi999999 sagte in Modbus rtu seriell:
Regler UVR610 Modb über einen USB-Adapter anbinden.
Kenne den Regler nicht ..
aber kannst du das gebrauchen !?
-
@wolfi999999 sagte in Modbus rtu seriell:
Du hattest in Deiner ersten Nachfrage diverse Möglichkeiten wie Javascript oder Blockly erwähnt.
weil ich die Vermutung hatte, dass du da mehr oder weniger "systemnah" unterwegs warst und den Adapter erst ganz zum Schluss als letzte Hoffnung genommen hast.
Mit den ganzen Containerhäfen und Bahnhöfen kenne ich mich nicht die Bohne aus. ist mir einfach zu stressig.
Ich kann dir aber versichern, dass der Adapter mit RTU seriell sauber läuft.
Habe damit drei Instanzen aktiv.Voraussetzung ist korrekte Verdrahtung und Konfiguration.
Was die Containerebene dir da möglicherweise noch für Knüppel ins Getriebe wirft, kann ich dir nicht sagen.
-
@glasfaser
Hallo Glasfaser,leider nein, bei denen geht es um das Visualisierungssystem CMI der Technischen Alternative. Daran könnte ich meinen Regler anschließen. Die Kommunikation läuft über Modbus RTU over TCP als Ethernet.
Mein Problem liegt bei Modbus RTU seriell. Das ist eine 2Draht Leitung mit RS485. Der Master kann über diese 2Draht Leitung mit mehreren Slaves kommunizieren.
Gruß Wolfgang
-
@homoran sagte in Modbus rtu seriell:
Voraussetzung ist korrekte Verdrahtung und Konfiguration.
@homoran sagte in Modbus rtu seriell:
der Konverter hängt wirklich an USB0?
@homoran sagte in Modbus rtu seriell:
hat der Container Zugriff darauf?
-
@homoran
Ich habe auf ein alten Notebook ioBroker und den Adapter Modbus installiert , die gesehenen Parameter eingetragen und gestartet. Es hat nach dem starten etwas gedauert aber dann lief der Adapter Modbus. Und es wurden Daten abgerufen.D.h. Meine Verdrahtung und der USB RS485 Adapter funktionieren.
Das war aber abzusehen, da ich aus dem LXD Container ja auch schon mit dem CLI Tool Zugriff hatte.
Aber bei der Installation von ioBroker läuft in dem Container etwas anders als auf meinem Notebook.
Ich werde die ganze Geschichte nochmal neu aufsetzen und schauen ob ich in den System LOGs was finde.Aber erstmal vielen Dank Wolfgang
-
@wolfi999999 sagte in Modbus rtu seriell:
die gesehenen Parameter eingetragen
was heisst das?
wo hast du die gesehen?warum soll jetzt die USB buchse die selbe ID haben wie dein Notebook?
-
@homoran
Das heißt, daß ich an der Stelle nicht weiter komme. Bzw. deine Aussage "der Adapter funktioniert einwandfrei" für eine PC Installation richtig. Für eine QNAP LXD Installation gibt es da noch ein Problem.Gesehen habe ich die abgefragten Werte unter Objekte modbus 0 ... Es ist schon wieder gelöscht.
Bei jeder Linux Maschine ist der erste eingesteckte USB-Adapter USB0. Und wenn ich nur einen angestöpselt hab, wie bei dem Test, ist erst zwangsläufig USB0.
Gute Nacht
-
@wolfi999999 sagte in Modbus rtu seriell:
Bei jeder Linux Maschine ist der erste eingesteckte USB-Adapter USB0. Und wenn ich nur einen angestöpselt hab, wie bei dem Test, ist erst zwangsläufig USB0.
ist das so?
Ich weiß nur dass diese Zuordnung nach jedem Start wieder anders sein kann.
Deswegen soll man nach bydev arbeiten. -
Hallo homoran, hallo Community
mein Problem scheint erstmal gelöst.
Ich habe soweit alles richtig gemacht. Aber...So habe ich es zum laufen bekommen; ist aber ganz schlecht:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aber damit "ioBroker Adapter Modbus" aus dem LXD Container über den USB RS485 kommunizieren darf braucht
der User iobroker root Rechte obwohl der user iobroker in der Gruppe dialout ist.Das ist ganz schlecht.
Offensichtlich werden bei Erstellung des Containers für die USB Schnittstelle höhere Rechte erwartet; warum auch immer.
Mir ist das erst aufgefallen als ich mir das ganze nochmal als Debian Container aufgesetzt habe.Da hatte auch mein privater User erstmal keine root- Rechte.
Und da bin ich auch nicht mit dem modpoll CLI-Tool auf die Schnittstelle gekommen "Permission denied".
Erst als ich mir root-Rechte zugewiesen habe konnte ich wieder kommunizieren.Bei Ubuntu weise ich dem installierenden User schon root-Rechte mit Passwortabfrage zu, daher hatte ich immer sofort root Rechte.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Ich hatte, wie im folgenden Chat beschrieben, auch den chmod... ausgeführt, aber nur einmal.
Das war mein Fehler.So und nun noch ein Link für alle Interessierten, wie man einen USB-Stick einem QNAP LXD Container zugänglich macht:
Dieser "sudo chmod 777 /dev/ttyUSBx" muß wohl nach jeden Neustart des Containers ausgeführt werden.
21.12.2023 Ergänzung zum Durchreichen von USB-Schnittstellen in einen Container:
Die von mir verlinkte Beschreibung ist leider nicht vollständig, daher auch meine Probleme mit dem USB-Port:Dieser Befehl stellt den Port /dev/ttyUSB0 gleich in die richtige Gruppe und mit den richtigen Schreibleserechten.
lxc config device add ubu2204-iobroker00 ttyUSB0 unix-char mode=0660 gid=20 path=/dev/ttyUSB0
Es gibt noch weitere Einstellungen:
Gruß Wolfgang