ich bin mal wieder auf ein Problem gestoßen, wo ich euern Rat / Erfahrungen gebrauchen könnte.
Ist es in CODESYS oder über Linux möglich über einen einfachen Weg Variablen aus der Steuerung über Linux auszelesen und per Kommandozeilen an einen Labeldrucker auszugeben?
Es handelt sich dabei um Werte, die im Hintergrund mitgeloggt werden, die sich jedoch mit der Zeit immer wieder verändern und dementsprechend bei einer Veränderungen an den Drucker gesendet werden müssten.
Mein Gedankengang war dabei...:
Die Daten in ein .CSV file auf die Linux-Oberfläche zu loggen, diese Datei jedesmal bei einer Veränderung (passiert Stundenweise) zu überschreiben und diese dann in einer PDF-Formular Datei zu überschreiben (da es nicht nur Text sondern auch Logos dabei sind, also vom Layout ähnlich wie eine Rechnung im Restaurant) und danach an den Drucker ausgeben zu lassen und zu drucken. Dies sollte eigentlich alles automatisch passieren. Jedoch funktioniert das nicht so ganz wie ich mir das vorstelle und ist auch ein ziemlicher Umweg. :-\
Eine andere alternative:
Über einen Button in der Visualisierung ->Eingabekonfiguration->onmouseclick->Befehl ausführen->Drucken, der mir dann die aktuelle Visualisierung mit den aktuellen Werten drucken sollte, jedoch hab ich es versucht zu implementieren, was aber auch nicht funktioniert hat. (und über Online Hilfe ist über diesen Punkt nichts vorhanden)....
Gibt es dabei eine einfachere Variante Variablen auszulesen oder einfach einen Befehl über ein Bash-File zu toggeln (das Signal kommt dabei aus der Visualisierung)? Hat da jemand schonmal Erfahrungen damit gemacht?
oder ist es in CODESYS direkt möglich über eigene Visualisierung die Messwerte eintragen zu lassen und diese dann über einen Befehl in ein .jpg bzw. .bmp-file zu speichern bzw. direkt über einen Aufruf per Kommandozeilen (Linux) in CODESYS zu drucken?
Über eventuelle Lösungsansätze, Vorschläge, Tipps oder Tricks wär ich euch dankbar.
Gruß
Chriis
PS: Der Drucker funktoniert tadellos über Linux. Sowie das direkte verschicken der Linux-Befehle über Codesys (.config wurde schon verändert).
Geräte:
Raspberry 3
PIXtend
Codesys V3
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Danke für diesen "Wegweiser" ich hatte im Druckbefehl ein Leerzeichen vergessen.
Ich hatte den Codesysbefehl ```
SysProcess."Sys"Process"Execute"Command2() | ohne -> " (irgendwie wollte er mir den Befehl anders nicht anzeigen)
``` und
als Linuxbefehl "lp -d Labeldruck /home/pi/Desktop/Druckertest/Testfile.txt"
im Endeffekt ist es egal ob ich lpr -p <drucker> <pfad> oder lp -d <drucker> <pfad> als Befehle nehme oder haben die einen gravierenden Unterschied was die ansteuerung angeht?</pfad></drucker></pfad></drucker>
Ist es auch möglich aus Codesys direkt einen Frame bzw. ein Layout mit eingefügten Messwerten per Befehl drucken zu lassen? Oder muss ich darüber den Umweg über Linux machen?
Gruß
Chris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Zitat:
im Endeffekt ist es egal ob ich lpr -p <drucker> <pfad> oder lp -d <drucker> <pfad> als Befehle nehme oder haben die einen gravierenden Unterschied was die ansteuerung angeht?</pfad></drucker></pfad></drucker>
nein sollte das selber sein... geht das schon über SysProcess?
Zitat:
Ist es auch möglich aus Codesys direkt einen Frame bzw. ein Layout mit eingefügten Messwerten per Befehl drucken zu lassen? Oder muss ich darüber den Umweg über Linux machen
das geht nur über Umweg über Linux...
Grüße
Edwin
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo,
ich bin mal wieder auf ein Problem gestoßen, wo ich euern Rat / Erfahrungen gebrauchen könnte.
Ist es in CODESYS oder über Linux möglich über einen einfachen Weg Variablen aus der Steuerung über Linux auszelesen und per Kommandozeilen an einen Labeldrucker auszugeben?
Es handelt sich dabei um Werte, die im Hintergrund mitgeloggt werden, die sich jedoch mit der Zeit immer wieder verändern und dementsprechend bei einer Veränderungen an den Drucker gesendet werden müssten.
Mein Gedankengang war dabei...:
Die Daten in ein .CSV file auf die Linux-Oberfläche zu loggen, diese Datei jedesmal bei einer Veränderung (passiert Stundenweise) zu überschreiben und diese dann in einer PDF-Formular Datei zu überschreiben (da es nicht nur Text sondern auch Logos dabei sind, also vom Layout ähnlich wie eine Rechnung im Restaurant) und danach an den Drucker ausgeben zu lassen und zu drucken. Dies sollte eigentlich alles automatisch passieren. Jedoch funktioniert das nicht so ganz wie ich mir das vorstelle und ist auch ein ziemlicher Umweg. :-\
Eine andere alternative:
Über einen Button in der Visualisierung ->Eingabekonfiguration->onmouseclick->Befehl ausführen->Drucken, der mir dann die aktuelle Visualisierung mit den aktuellen Werten drucken sollte, jedoch hab ich es versucht zu implementieren, was aber auch nicht funktioniert hat. (und über Online Hilfe ist über diesen Punkt nichts vorhanden)....
Gibt es dabei eine einfachere Variante Variablen auszulesen oder einfach einen Befehl über ein Bash-File zu toggeln (das Signal kommt dabei aus der Visualisierung)? Hat da jemand schonmal Erfahrungen damit gemacht?
oder ist es in CODESYS direkt möglich über eigene Visualisierung die Messwerte eintragen zu lassen und diese dann über einen Befehl in ein .jpg bzw. .bmp-file zu speichern bzw. direkt über einen Aufruf per Kommandozeilen (Linux) in CODESYS zu drucken?
Über eventuelle Lösungsansätze, Vorschläge, Tipps oder Tricks wär ich euch dankbar.
Gruß
Chriis
PS: Der Drucker funktoniert tadellos über Linux. Sowie das direkte verschicken der Linux-Befehle über Codesys (.config wurde schon verändert).
Geräte:
Raspberry 3
PIXtend
Codesys V3
Hallo Chris,
wie heißt denn dein Aufruf in der Console um zu drucken?
Ich würde diesen über dein CODESYS Programm aufrufen.
Grüße
Edwin
Hallo Edwin,
Danke für diesen "Wegweiser" ich hatte im Druckbefehl ein Leerzeichen vergessen.
Ich hatte den Codesysbefehl ```
SysProcess."Sys"Process"Execute"Command2() | ohne -> " (irgendwie wollte er mir den Befehl anders nicht anzeigen)
``` und
als Linuxbefehl "lp -d Labeldruck /home/pi/Desktop/Druckertest/Testfile.txt"
im Endeffekt ist es egal ob ich lpr -p <drucker> <pfad> oder lp -d <drucker> <pfad> als Befehle nehme oder haben die einen gravierenden Unterschied was die ansteuerung angeht?</pfad></drucker></pfad></drucker>
Ist es auch möglich aus Codesys direkt einen Frame bzw. ein Layout mit eingefügten Messwerten per Befehl drucken zu lassen? Oder muss ich darüber den Umweg über Linux machen?
Gruß
Chris
Hi Chris,
nein sollte das selber sein... geht das schon über SysProcess?
das geht nur über Umweg über Linux...
Grüße
Edwin
Hallo Edwin,
ja das passt jetzt soweit, über Sysprocess funktioniert die Druckeransteuerung jetzt auch. Wie gesagt .... vertippt....
Na gut, dann muss ich mir darüber mal noch was einfallen lassen, wie ich die Werte in ein vorhandenes Layout kopieren kann.
Aber danke schonmal
Gruß
Chris