Page 1 of 1

Fehlermeldung: No such file or directory: '/dev/piControl0

Posted: 07 Jun 2020, 21:32
by tobs
Hallo,
erst einmal: der RevPi und revpimodio2 ist eine tolle Sache!!!
Ich habe mir die Tutorials angesehen und ausprobiert. Nun komme ich aber nicht weiter. Vielleicht habe ich was übersehen.
Ich erhalte unter Ubuntu 20.04 einen Programmfehler mit ‚revpimodio2‘ beim erstellen der Instanz.
self.rpi = revpimodio2.RevPiModIO(autorefresh=True, debug=True,configrsc="/home/tobs/Schreibtisch/RevPi/RevPi/config.rsc")

Der Fehler lautet: „No such file or directory: '/dev/piControl0'“
bzw. siehe Bild

Den Fehler (.../dev/piControl0) erhalte ich direkt in der Python-IDLE und auch in Visual Studio Code mit Python.
Mein Beispiel Programm an sich funktioniert, ich kann es via ‚RevPi Python PLC Loader‘ auf den RevPi übertragen und dort ausführen (einen Eingang abfragen, zwei Ausgänge toggeln).
Ich kommentiere dann vorher allerdings die Zeile 20 aus und die Zeile 19 ein, bevor ich das Programm auf den RevPi übertrage.
Aber mit aktiver Zeile 19 erhalte ich in der Entwicklungsumgebung unter Ubuntu die Fehlermeldung das die config.rsc nicht vorhanden ist. Die config.rsc habe ich mir vom RevPi kopiert und in das entsprechende Verzeichnis abgelegt, wie in Zeile 20 angegeben.
Die Installation unter Ubuntu habe ich wie unter
https://revpimodio.org/quellen/quellen2/
beschrieben ausgeführt:
sudo apt-get update
sudo apt-get install python3-revpimodio2
Und mit dem Befehl "sudo dpkg -l" sehe ich auch das python3-revpimod2 (2.5.0-1) installiert ist.
Was nicht funktioniert hat ist der Befehl ‚pip install revpimodio2‘ hier erhalte ich einen Fehler ->
der Befehl ‚pip‘ wurde nicht gefunden, aber es gibt 18 ähnliche Befehle. Mehr steht da nicht! Kann das die Ursache für den obigen Fehler „No such file or directory: '/dev/piControl0'“ sein?
Vielen Dank schon mal vorab für eure Hilfe.
Gruß Tobias

Re: Fehlermeldung: No such file or directory: '/dev/piControl0

Posted: 09 Jun 2020, 15:18
by lukas
/dev/piControl0 existiert nur, wenn auf der Maschine das Kernel-Modul piControl läuft.

Wahrscheinlich wurde dein Programm nicht auf dem RevPi, sondern auf deiner lokalen Entwicklungsmaschine ausgeführt.

Oder piControl läuft aus irgendeinem Grund nicht, zum Beispiel wenn du es auf deinem RevPi in /etc/modules auskommentiert hast.

Re: Fehlermeldung: No such file or directory: '/dev/piControl0

Posted: 09 Jun 2020, 21:44
by tobs
Hallo Lukas,
Danke für deine Antwort.
Ja richtig, mein Programm habe ich auf meiner lokalen Ubuntu Entwicklermaschine geschrieben und ausgeführt (nicht auf dem RevPi, hatte ich wohl nicht deutlich genug geschrieben ).
Ich dachte wenn ich im Programm beim Erstellen der Instanz von RevPiModio2 den Pfad für die 'config.rsc' mitgebe dann kann ich das Programm zumindest mal ausführen, und grob testen. Klar kann man dann nicht die IO's ansprechen da man sich ja nicht auf der Hardware befindet. Aber wenn alles IO's False wären könnte man dennoch ein bisschen vorab debuggen. Wäre ja vielleicht mal eine Überlegung Wert für RevPiModio3!?
Aber da habe ich wohl die Beschreibung und den Parameter 'configrsc=Pfad-xyz' falsch verstanden.

Laut Beschreibung:
->"Mit unserem RevPiPyPLC System könnt ihr über das Netzwerk schnelle IO-Checks machen, euer Steuerungsprogramm hochladen,... "
dachte ich, ich kann das Programm auf meinem lokalen PC schreiben (klar auch mal kompilieren) und dann auf den RevPi hochladen. Was aber so anscheinend dann doch nicht funktioniert.

Gruß Tobias

Re: Fehlermeldung: No such file or directory: '/dev/piControl0

Posted: 10 Jun 2020, 14:19
by RevPiModIO
Hi Tobias!

Fast richtig :D Du müsstest dir einmal noch das Prozessabbild über RevPiPycontrol ziehen, oder eine leere 4k große Datei selber erzeugen.

Neben der config.rsc muss man auch den Parameter procimg anhängen, wenn man ohne das echte Prozessabbild /dev/piControl0 arbeitet.

Du könntest aber alternativ dein Programm auf deinem Entwickler-Rechner mit RevPiNetIO instantiieren, aber dann nur da zum entwickeln.

also hättest du eine Zeile mit

self.rpi = revpimodio2.RevPiModIO(autorefresh=True)

die du verwendet, wenn du das Programm auf den RevPi überträgst. Auf deinem Entwickler-Rechner könntest du dann noch

self.rpi = revpimodio2.RevPiNetIO("ip-adresse-vom-revpi", autorefresh=True)

verwenden. Dann muss RevPiPyLoad aber mit RevPiSlave aktiv sein und deine IP vom Entwickler-rechner mit der Berechtigung 1 drin stehen. Dann arbeitest du DIREKT auf dem RevPi. Die Einstellung kannst du bequem für RevPiPyControl machen in den PLC-Optionen unten bei Dienste!

Du könntest die beiden Zeilen dann jeweils rein uns raus kommentieren, so arbeite ich, wenn ich Programme auf meinem Entwicklerrechner starte und dort debuggen muss...

Gruß, Sven

Re: Fehlermeldung: No such file or directory: '/dev/piControl0

Posted: 10 Jun 2020, 14:21
by RevPiModIO
Alternativ kannst du in RevPiPyControl bei PLC den Entwicklermodus aktiveren. Dann erweitert sich das Fenster, in dem du den Pfad zu deinem Programm angibst. Dann kannst du bei dir am Rechner Entwickeln und über den Button "Stoppen / Hochladen / Starten" die ausgewählten Dateien hochladen und direkt auf dem Pi ausführen. Das wäre der Punkt, den du genannt hast mit dem "Entwickeln". Der IO-Check ist über den PLC-Watchmode erreichbar, auch in RevPiPyControl.

Gruß, Sven

Re: Fehlermeldung: No such file or directory: '/dev/piControl0

Posted: 11 Jun 2020, 09:49
by tobs
Hallo Sven,
vielen Dank für die umfangreiche Information.
Werde ich ausprobieren, und melde mich wieder.

Gruß Tobias