Moin zusammen.
Eine kurze Anfrage.
Ich habe derzeit Last mit einer Anlage die mir immer wieder unerwartet mit fehlern aussteigt.
Einige Messwerte laufen aus dem Ruder und dann macht se "zu"
Ich kann den Fehler aber nicht eingrenzen weil die Fehlermeldungen zu unpräzise sind und der Hersteller weiss erstmal auch nix.
(Die wollen natürlich Monteur schicken. ist letze Option weil Teuer)
Die Kollegen an der Anlage erzählen das es kurz bevor se stoppt ein Geräusch gibt was sie aber nicht weiter definieren können.
Das ganze erfolgt Sporadisch.
Mal 3 Tage nix und dann auch gleich 5 mal in einer Schicht.
Ich habe absolut nicht die Zeit mich davor zu setzen und wie ein Kaninchen auf den Monitor zu starren.
Audioaufzeichnung geht aus Rechtlichen Gründen auch nicht sonst könnte ich ja vieleicht hören "wo" es klemmt und hakt.
Die Messwerte werden in Form von farbigen Punkten angezeigt (Von Grün nach Rot) und bei bestimmten Kombinationen von Werten erfolgt der Alarm.
Mein Workaround um was zu erfahren ist derzeit folgender.
Zweiter Monitor auf einem Tisch daneben, Dekstop erweitert (Win10).
Mit OnTop replica den entsprechenden Bereich vergößert auf den 2. Monitor dargestellt.
Davor steht nen Raspberry Zero W mit "Motion" und überwacht den dargestellten Bereich.
Bei einer bestimmten Veränderung in einem Definierten Zeitfenster gibts dann eine Aktion (Mail an mich) damit ich dann die Chance habe
dort zu erscheinen und vieleicht mitzubekommen was beim Fehler nun wirklich passiert.
Noch nen Karton drüber damit das Umgebungslicht oder vorbeilaufende Personen keinen Fehlalarm auslösen.
Zugegeben, klingt einwenig von hinten durch die Brust aber ich muss mit dem arbeiten was ich gerade da habe.
Natürlich war Gestern "nix"
Keine Störung.
Nun suche ich nach einer Softwarelösung mit der ich einen Bildschirmbereich "direkt" überwachen kann ohne irgendwelche Klimmzüge, wie oben beschrieben, machen zu müssen.
(Könnte ich öfters brauchen wenn es funktioniert)
Da fiel mir Autoit ein (Öfters mal von gehört aber nie genutzt)
Meine Frage:
Gibt es eine Funktion, befehl oder zumindest eine Möglichkeit einen Fenster-/Desktopbereich zu erfassen und auszuwerten.
Nur obs einigermaßen einfach geht,
Ich will mich jetzt nicht auf Verdacht einarbeiten um dann zu merken das es damit doch nicht geht.
Danke
Bildschirmbereich.....
-
Neritina -
11. Juli 2023 um 04:24 -
Unerledigt
-
-
Ganz ehrlich?
Ich habe mir das zwei mal durchgelesen und weiß nicht von welchger Anlage gesprochen wird und ich weiß auch nicht, wie die Fehlermeldungen aussehen. -
Ganz ehrlich?
Ich habe mir das zwei mal durchgelesen und weiß nicht von welchger Anlage gesprochen wird und ich weiß auch nicht, wie die Fehlermeldungen aussehen.Ja, das hast du dann auch schon ganz richtig erkannt.
Habe ich auch nicht dzugeschrieben weil irrelevant für die Frage.
Meine Frage war ob ich eine Veränderung eines Desktop-/Fensterbreiches mit Autoit erkennen kann.
Danke -
Kannst du nicht ggf. direkt auf das anzeigende Programm zugreifen per Autoit (Autoit3.exe bzw. Autoit3_x64.exe nutzen um ggf. die ID's etc. zu bekommen) und dann die Werte direkt bewerten?
Alternativ würde mir noch das per Screenshots zu machen, das stelle ich mir aber vom Aufwand als eher unpraktikabel vor, da kennen sich hier aber andere besser mit aus.
-
Das geht mit AutoIt.
Im Grunde ist AutoIt sogar auf genausoetwas spezialisiert.Im einfachsten Fall brauchst du etwas zur Detektion der Änderung - das kannst du z.B. über PixelCheckSum machen oder wie Moombas schrieb über Werteabfragen.
Und zum anderen brauchst du dann noch ein Konstrukt um die Änderung dauerhaft zu überwachen - das kann z.B. eine Endlosschleife oder soetwas wie AdlibRegister sein.
Ich habe dir mal ein Beispiel erstellt und dieses übertrieben kommentiert. Damit solltest du arbeiten können und einen Anstoß haben sich mit AutoIt zu beschäftigen:
AutoIt
Alles anzeigen; =================================================================================================== ; Globale Variablen / Konstanten - grundsätzliche an mehreren Stellen / mehrfach zu verwendende Werte ; =================================================================================================== ; Die Koordinaten des zu prüfenden Bildschirmbereiches Global Const $nLeft = 100, _ $nTop = 100, _ $nRight = 500, _ $nBottom = 400 ; Variable, welche später die Checksumme des Bildschirmbereiches enthalten wird ; vorbelegt mit dem aktuellen Wert als Vergleichsbasis Global $nCheckSum = PixelChecksum($nLeft, $nTop, $nRight, $nBottom), _ $nCheckSumOld = $nCheckSum ; wird den vorherigen Wert enthalten - zum Vergleich ; --------------------------------------------------------------------------------------------------- ; Tastenkombination Shift-ESC zum Beenden des Skriptes - sonst wird es ewig laufen (siehe Endlosschleife) HotKeySet("+{ESC}", _beenden) ; Endlosschleife (Until-Bedingung wird nie erfüllt) Do ; aktuelle Checksum des Bereiches ermitteln: $nCheckSum = PixelChecksum($nLeft, $nTop, $nRight, $nBottom) ; Wenn sich der Bereich geändert hat - mache etwas - sonst den Bereich ignorieren If $nCheckSum <> $nCheckSumOld Then ; Vergleichswert für den nächsten Check aktualisieren $nCheckSumOld = $nCheckSum ; nun kommt der Teil, wie du auf das Ereignis reagieren möchtest ; hier beispielshaft nur erstmal eine Ausgabe per MessageBox: MsgBox(48, "Änderung erkannt", "Im Bereich gab es eine Änderung!") EndIf ; pausiere die Prüfung für 1s Sleep(1000) Until False ; eigene Funktion, welche das Skript beendet (für HotkeySet oben) Func _beenden() Exit EndFunc
-
Moombas
Ja, leider ist die Steuersoft recht zugeknöpft und wie beschrieben ist auch der Hersteller etwas Ratlos.
Der Raspi-Workaround funktioniert zwar, ist aber auch sehr erschütterungsempfindlich (Maschine arbeitet, Leute ecken mal an usw.)
AspirinJunkie
PixelCheckSum hatte ich schon gefunden aber wenn ich das im Glossar richtig verstehe dann zeigt mir die Checksumme nur an das sich in dem Bereich "Mindestens" ein Pixel verändert hat.
Ich brauche eine Prozentuale Änderung.
Oder ich unterteile den Bereich in mehr Gebiete und arbeite alles als Datensatz auf.
Andere Idee:
Ich bekomme meine Werte, wie beschrieben, als Farbübersicht angezeigt (3x4 Gefüllte Kreise in Farben von Grün bis Rot) damit man auch aus der Ferne sehen kann ob was klemmt.
Ich hab gesehen das man die Farbe eines Pixels auslesen kann. (PixelGetColor oder ähnlich)
Das wäre Sinvoller.
Einer Farbe kann ich einen Wert zuweisen und damit kann ich die Prozentuale Änderung pro Zeit gut festlegen.
Danke erstmal, ich probiers gleich mal aus und melde mich ggf. nochmal. -
Mahlzeit zusammen.
Wie oben beschrieben hatte ich die Möglichkeit einige male rechtzeitig an der Anlage zu sein und habe den Fehler herausbekommen.
Das defekte Teil ist repariert und die Anlage läuft wieder wie gewünscht.
Ich werde mir Autoit bei Gelegenheit noch mal genauer ansehen wenn es etwas ruhiger ist.
Danke für die Hilfe.