Lichtstatus per HTTP Request protokollieren

silverstone1

New member
Beiträge
1
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo zusammen,

ich habe eine Frage bezgl. Protokollierung. Ich möchte den Zustand meiner Lampen (Ein/Aus) per HTTP Request auf einem Webserver protokollieren. Es läuft ein Webserver der die Requests verarbeiten kann. Der Server speichert die Wert in eine Datenbank und Visualisiert sie anschließend auch. Um eine vernünftige Kurve zu zeichnen würde ich gerne bei einer steigende Flanke (Licht an) zuerst den Wert 0 und anschließend den Wert 100 protokollieren. Bei fallender Flanke (Licht aus ) dann zuerst den Wert 100 und anschließend den Wert 0.

Habe das schon über zwei HTTP_GET Requests im FUP probiert. Leider kommen die HTTP Requests in unterschiedlichen Reihenfolgen am Webserver an und deshalb wird meine Kurve nicht richtig dargestellt.

Kann mir jemand ein paar Tipps geben, wie ich das mit Codesys am besten umsetzen/lösen kann?

Im Voraus vielen Dank.

Beste Grüße,
Silverstone
 

ohm200x

Well-known member
Beiträge
472
Punkte Reaktionen
36
Hallo zusammen,

ich habe eine Frage bezgl. Protokollierung. Ich möchte den Zustand meiner Lampen (Ein/Aus) per HTTP Request auf einem Webserver protokollieren.

Klingt interessant, mal schauen ob ich verstehe was du vor hast.

Es läuft ein Webserver der die Requests verarbeiten kann. Der Server speichert die Wert in eine Datenbank und Visualisiert sie anschließend auch. Um eine vernünftige Kurve zu zeichnen würde ich gerne bei einer steigende Flanke (Licht an) zuerst den Wert 0 und anschließend den Wert 100 protokollieren. Bei fallender Flanke (Licht aus ) dann zuerst den Wert 100 und anschließend den Wert 0.

Also jedes mal, wenn ein Licht an oder aus geht, machst du per SPS ne "Anfrage" an den Webserver 'ala "http://<mein server>/logger-page.html?<licht 1><status>"
Richtig?

Was für nen Webserver hast du denn am laufen und wie kommst du vom http request in die Datenbank?

Habe das schon über zwei HTTP_GET Requests im FUP probiert. Leider kommen die HTTP Requests in unterschiedlichen Reihenfolgen am Webserver an und deshalb wird meine Kurve nicht richtig dargestellt.

Kann mir jemand ein paar Tipps geben, wie ich das mit Codesys am besten umsetzen/lösen kann?

Naja, wenn die Anfrage wie oben beschrieben aus schaut, warum hängst du nicht einfach noch in den String eine fortlaufende Nummer oder nen Zeitstempel. Entweder einfach hochzählen, bis zum Überlauf was dann in der Auswertung beachtet werden muss, oder mit nem Zeitstempel, der ja per Definition nur größer werden kann. Damit solltest ja in der Datenbank / Visualisierung einfach sortieren können.

Im Voraus vielen Dank.

Beste Grüße,
Silverstone

Ich hoffe das hilft als Ansatz.

Gruß ohm200x
 

corrado

Well-known member
Beiträge
115
Punkte Reaktionen
19
Zuviel Werbung?
->Hier kostenlos registrieren
Ich könnte mir vorstellen dass auf dem webserver ein PHP-Script läuft das angestossen wird wenn der Webserver ein HTTP-POST von der Steuerung bekommt. Mit diesem HTTP-Post wird der variablenname und sein wert dem empfangenden PHP-Script übergeben, dort wird der Empfang ausgewertet und wenn man gerade auf einem XAMPP-System arbeitet in eine Datenbank geschrieben. Die weitere Verarbeitung (Protokollierung ) der Daten ist dann unabhängig von der Art der Übertragung.

Den HTTP-POST aus Codesys an den Webserver senden sollte kein zu grosses Problem darstellen. Ein gutes leicht zu adaptierendes Beispiele ist dafür z.B. die WAGO-Applikation A301100 (Aufsetzen eines eigenen TO-PASS Web-Portals).

Grüsse Corrado
 
Oben