Screenshot mit "Sys Process Execute Command"

M4D0C

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich habe ein Script via CODESYS zu starten. Die Steuerung läuft auf einem Raspberry Pi 3. Das Ziel ist ein Screenshot durch einen Knopfdruck oder Eingang zu erstellen. Dafür benutze ich das
"Sys Process Execute Command" Kommando. Dafür habe ich die Bibliotheken eingebunden und die CODESYSControl.cfg folgendermaßen angepasst:

Code:
[B][SysProcess]
Command=AllowAll[/B]


Auf dem Raspberry habe ich folgendes Script erstellt:
Code:
[COLOR=#323D4F]#!/bin/sh[/COLOR]
[COLOR=#323D4F]DISPLAY=:0 scrot -d 1 'screenshot.png'[/COLOR]


und es ausführbar gemacht mit

Code:
[COLOR=#323D4F]sudo chmod +x /usr/bin/takeScreenshot[/COLOR]


Schließlich habe ich das Script mit dem Raspberry Terminal getestet (Eingabe im Terminal: "takeScreenshot") und es funktioniert wunderbar.

In CODESYS habe ich folgenden Codeblock erstellt:
Code:
[COLOR=#323D4F]IF take_Screenshot AND NOT take_Screenshot_old THEN[/COLOR]
[COLOR=#323D4F]sCommand := 'takeScreenshot';[/COLOR]
[COLOR=#323D4F]SysProcess.Sys Process Execute Command(sCommand, ADR(Result));[/COLOR]
[COLOR=#323D4F]END_IF[/COLOR]

[COLOR=#323D4F]take_Screenshot_old:=take_Screenshot;
[/COLOR]


Das Problem... Es funktioniert nicht. Als Result bekomme ich eine "0" zurück. Wenn ich als sCommand "reboot" oder "ifdown" eingebe funktioniert das ohne Probleme. Wenn ich "takeScreenshot" funktioniert es nicht, obwohl wenn ich das Kommando genau so in das Terminal eingebe es funktioniert... :(

Die Leerzeichen bei dem Kommando sind in meinem Code natürlich nicht drin, aber irgendwie bekomme ich Probleme wenn ich das hier im Editor zusammen schreibe
:confused:.

Ich bin für jede Hilfe dankbar.

Viele Grüße
Andreas
 
Zuletzt bearbeitet:
Also inzwischen habe ich festgestellt, dass Befehle wie ifdown oder reboot zwar funktionieren, Befehle wie "help" oder einfach nur "scrot" werden gar nicht ausgeführt und liefern als Result "0" zurück... Sperre ich die Kommandos mit der CODESYSConfig Datei, dann wird mir wie erwartet bei z.B. "help" "25" als Result angezeit (Zugriff gesperrt). Somit kommen die Kommandos ja eigentlich an, werden nur nicht ausgeführt...

Ich verzeifel langsam :confused:
 
Hi,
so ein screenshot geht ja nur wenn man das auf der X Oberfläche aufruft...
denke des kann so nicht gehen.
Was willst du genau "capturen" von CODESYS was auf der Oberfläche läuft?
Grüße
 
Erstmal danke für die Antwort.
Prinzipiell würde ich dir Recht geben, allerdings funktioniert der Aufruf auch wenn ich das über Putty in die Konsole eingebe. Ich möchte ein Screenshot von der Webvisu machen die auf dem Raspberry Display läuft.
Wie gesagt über Putty tut es eigentlich auch...
 
Zurück
Oben