ich habe so meine Probleme mit der Verwendung eines RS485-USB-Sticks ins IPS auf dem Pi. Im IPS kann ich diesen seriellen Port auch als ttyUSB0 auswählen. Nur das Auslesen der Daten per Modubus geht nicht. Mit dem gleichen Stick und Einstellungen klappt das allerdings bei Windows-IPS ohne Sorgen. So dass ich die Hardware ausschließe.
Ich kann im Debug der Serial Ports finden sich nichts. Da das IPS zyklisch eine Anfrage an den Stromzähler schickt und dieser darauf antwortet, sollte hier ja was zu finden sein. Bei Windows kommt da ne Menge, beim Pi nicht.
Habe hiergelesen, dass Modubus voll unterstützt wird mit Ausnahme der Timer. Diese wurden hierjedoch auch implementiert.
Auch mit der manuellen Anregung zum Kommunizieren klappt es nicht:
Man kann die im Pi verbaute Schnitstelle nicht einfach nutzen da diese noch vom System genutzt wird. Ich hatte hier mal eine Anleitung gepostet wie man diese freiräumt.
[ul]
[li]Wandler vom Windows-PC an den Pi umgesteckt, diesen dann gestartet. Verbindung per IPS-Konsole aufgebaut, Modbus-Instanz eingerichtet, Werte kommen. Toll!
[/li][li]
[/li][li]Beim Einrichten der zweiten Instanz: Werte kommen nicht -> aber Socket-Fehler #10061
[/li][li]
[/li][li]Neustarten Konsole -> keine verbindung möglich -> Socket-Fehler #10061
[/li][li]
[/li][li]Dienst neugestartet -> Neustarten Konsole -> Verbindung möglich -> Löschen der zweiten Modbus-Instanz -> beim Übernehmen Socket-Fehler #10061.
[/li][li]
[/li][li]Ohne Neustarten des Dienstes keine Verbindung mehr. Allerdings wird die Instanz auch nicht gelöscht.
[/li][li]
[/li][/ul]
@paresy: Welche Angaben brauchst du? (Screenshots und logfile im Anhang)
EDIT: weitere Beobachtungen:
nach Neustart Pi konnte ich zumindest die 2.Instanz löschen -> Konsole geschlossen -> Verbindung möglich -> wieder Anlegen möglich -> beide Werte werden einmalig richtig ausgelesen -> beim zweiten Auslesen werden die Werte der Instanzen vertauscht, obwohl die Registernummern in den Instanzen immer noch korrekt stehen. Auslesen geschieht per Timer in der Instanz - nicht per Script.
Beim Anlegen einer dritten Modbus-Instanz: der dann alphabetisch niedrigsten Bezeichnung der Instanz bekommt den Wert der zeilich zuerst angelegten Instanz. (die Pfeile sollen den Soll-Zustand anzeigen)
Binnach Update auf 97c23527 erfolgreich gewesen - Instanzen werden nun nicht mehr vermischt.
ABER:
Ich habe einen baugleichen Stick für einen zweiten Stromzähler. Wenn ich diesen anstecke und den Pi starte, wird zwar im IPS einen weitere Schnittstelle (ttyUSB0 und ttyUSB1) zu Auswahl angeboten, allerdings funktionieren bei Sticks zusammen nicht. Einzeln (bisher) kein Problem.
Ich hatte die Idee mit der Spannungsversorgung - also USB-Hub mit Netzteil angesteckt - aber auch damit will es nicht.
Geht nur eine serielle Schnittstelle am Pi mit IPS?