Variablen aus der PIXtend-Steuerung über Linux auslesen und Drucker ansteuern

Chriis
2016-12-13
2016-12-13
  • Chriis - 2016-12-13

    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

     
  • eschwellinger

    eschwellinger - 2016-12-13

    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

     
  • Chriis - 2016-12-13

    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

     
  • eschwellinger

    eschwellinger - 2016-12-13

    Hi Chris,

    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

     
  • Chriis - 2016-12-13

    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

     

Log in to post a comment.