Login Codesys festtstellen

Termi

Level-2
Beiträge
105
Reaktionspunkte
7
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallolö,
ich möchte gerne, wenn ich mich mit der CoDeSys ein/auslogge, Variable sichern/laden. Gibt ein Ereignis was beim Login aufgerufen wird oder anders herum gefragt, wie kann ich beim Programmablauf feststellen ob ich mit der CoDeSys verbunden bin?

Chris
 
Zuletzt bearbeitet:
Ich kann dir leider nicht sagen ob es einfacher (bzw. mit anderen Zielsystemen) funkioniert...

Bei den PFC200er gibt es die Möglichkeit mit der ConfigToolLib zwischen Linux und CODESYS zu "kommunizieren".
Dafür habe ich einfach mal mit netstat gespielt um die Info zu bekommen:
codesys_check.png

Die Datei "get_codesys_socket" muss ins Verzeichnis /etc/config-tools/ und benötigt folgende Berechtigung: chmod 755
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Termi,

was mir noch einfällt: Du kannst eine boolsche Variable deklarieren, die Du nach dem Einloggen per Online->Werte forcen oder <F7> auf TRUE setzt. Das wäre dann aber natürlich nicht direkt nach dem Einloggen, sondern erst ein paar Sekunden später...
Hilft Dir das trotzdem weiter?

MfG
Exing.
 
Hallo Termi,

was mir noch einfällt: Du kannst eine boolsche Variable deklarieren, die Du nach dem Einloggen per Online->Werte forcen oder <F7> auf TRUE setzt. Das wäre dann aber natürlich nicht direkt nach dem Einloggen, sondern erst ein paar Sekunden später...
Hilft Dir das trotzdem weiter?



MfG
Exing.

leider nein. Ich denke Du hast es nicht richtig verstanden, was ich wollte: Sobald ich in der CoDeSys sage "login" und mich auf den Controller einlogge, soll die Steuerung es merken, und automatisch in eine kleine Unterroutine verzweigen, den Code ausführen und anschließend ganz normal weitermachen. Ebenfalls beim Verlassen, also Logout soll ein weiterer Programmteil durchlaufen werden. Ziel ist es ein Array zu sichern und wiederherzustellen, also Daten zu behalten, obwohl ich in der Codesys Programmcode geändert habe und die Arrays beim Laden des Codes neu initialisiert werden. Da sollen dann die alten Werte vor der Programmänderung wieder rein. Ich weiß, es gibt den Bereich "retain persistant" der fällt aber leider dafür aus. lord2k3 hat mir einen sehr guten Ansatz geliefert, den ich weiter verfolgen werde.

Trotzdem, danke für deinen Beitrag.

Chris
 
Ich kann dir leider nicht sagen ob es einfacher (bzw. mit anderen Zielsystemen) funkioniert...
... chmod 755

Hallo,
nun ich habe folgende Ergebnisse :

Anhang anzeigen 28716

und

Anhang anzeigen 28717

einmal über einen Router mit codesys eingeloggt, das andere mal nicht verbunden nur über einen Browserzugriff. Nur der Text ändert sich. Die Ausgänge am Baustein bleiben unverändert.
Wie erkenne ich nun den Login? Oder anders gefragt : wie codierst du die xCODESYS Variable ?

Chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aloha,

leider kann ich deine Anhänge nicht sehen :confused:

xCODESYS wird true wenn stResult > 1 und der ConfigTool aktiv ist:
Code:
iLEN := LEN(oconfigToolFB.stResultString);
IF iLEN > 1 AND bEnable = TRUE THEN
    xCODESYS := TRUE;
ELSE
    xCODESYS := FALSE;
END_IF

Ist auf jedenfall noch ausbaufähig ;)
 
Hi,
ich vermute, die Applikation wird mit CODESYS V2.3 entwickelt. Dort gibt es in der Task configuration (unter Ressources) die Möglichkeit, so genannte System Events zu definieren. Allerdings nur, wenn der Gerätehersteller das auch integriert und unterstützt hat. Ich habe gerade mal nachgesehen: für die SoftSPS CODESYS SP PLCWinNT gibt allerdings auch keinen Event für das Login.
In CODESYS V3 gibt es dagegen auch einen Even für das Login.
Leider hilft Dir das so wohl auch nichts. Zumal ich auch gar nicht weiß, ob für das Gerät überhaupt Systemevents definiert sind.
 
Hallo,
ja ich arbeite (leider) noch mit der CoDeSys V2.3. Aber Wago steht ja mit dem e!COCKPIT und der aktuellen CoDESys in den Startlöchern. Da es Linux ist, was da auf dem Controller werkelt, klappt der Vorschlag von lord2k3. Lediglich kannte er bei mir nur den "localhost" und nicht 127.0.0.1. War aber kein Problem. Also Aufgabe gelöst. Danke allen, die geantwortet haben.

Aber wo ich den Support von 3S im Thread habe: Ich hatte in einem anderen Thread bemängelt, dass sich die schwarzen Skalenlinien eines Histogrammes auf einem schwarzern Hintergrund vom Kontrast her schlecht machen. ;-) Anscheinend ist das mit normalen Mitteln nicht änderbar. Da 3S die CoDeSys 2.xy noch weiterentwickelt, wäre das zumindest für mich eine kleine Weiterentwicklung mit großem Nutzen, wenn es einstellbar wäre.

Chris
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich habe die Variante von lord2k3 umgesetzt (mit Abfrage auf Webserver Port 80). Prinzipiell funktioniert das hervorragend - vielen Dank dafür.

Leider ergibt sich daraus ein ganz anderes Problem:
Die Abarbeitung des ConfigToolFB dauert etwa 300ms obwohl in der Anleitung steht, dass der Baustein keine Auswirkung auf die Laufzeit des Task hat.
Der Aufruf hat einen eigenen Task mit Prio 30 bekommen. Allerdings wird bei jedem Aufruf die KBus Kommunikation gestört, die Ausgänge werden kurz weggeschaltet.

In dieser Konstellation kann ich die Abfrage ja nicht verwenden.
Was habe ich hier falsch gemacht ?
 
Hallo,
ich habe die Variante von lord2k3 umgesetzt (mit Abfrage auf Webserver Port 80). Prinzipiell funktioniert das hervorragend - vielen Dank dafür.

Leider ergibt sich daraus ein ganz anderes Problem:
Die Abarbeitung des ConfigToolFB dauert etwa 300ms obwohl in der Anleitung steht, dass der Baustein keine Auswirkung auf die Laufzeit des Task hat.
Der Aufruf hat einen eigenen Task mit Prio 30 bekommen. Allerdings wird bei jedem Aufruf die KBus Kommunikation gestört, die Ausgänge werden kurz weggeschaltet.

In dieser Konstellation kann ich die Abfrage ja nicht verwenden.
Was habe ich hier falsch gemacht ?

Ensure that any task that writes/reads IO has priority in range 6..20. Or, go to PLC Configuration -> K-Bus -> Edit -> KBus settings and select "Asynchronuous" Update mode.
Also you have option "Update unused I/Os" in Target Settings -> General that affects K-Bus operation.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
The IO Task has a priority of 10.
If I start htop then I can see that all the System is very slow, so I think the ConfigToolLib starts a high priority system-function.

Is there any other way to detect a connection to the webvisu ?
We have a local Panel-PC with a WebVisu but there is also the possibility to connect a second visualisation from remote. This second Connection I want to detect.
 
As an alternative to calling configtool:
create a bash script in autorun folder, eg /etc/rc.d/codesys_socket_check. Give access rights (chmod 755).
Code:
#!/bin/sh
#
# Cyclically checks if CoDeSys connection is established

while true; do
    usleep 1000000
    echo `netstat -tn | grep 2455 | grep ESTABLISHED | grep -v 127.0.0.1` > /var/tmp/codesysconnection
done
Now you can manually start this script or reboot your PFC.
Sice that you will have a cyclically updated file "/var/tmp/codesysconnection" in ramfs (no flash memory overwrites will occur) and can read it's content or check size by SysLibFile.lib functions.

If you want to detect a WebVisu connection this method is not a good solution since WebVisu establishes temporary connections. A clue can be found in /var/log/lighttpd/access.log.
While WebVisu is runnig the contents of this file is like this:
Code:
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:04 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 19 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:04 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 19 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:04 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 19 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 19 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 19 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 19 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 19 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 11 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 11 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:05 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
10.0.1.73 10.0.1.75 - [10/Jun/2016:11:19:06 +0300] "POST /webvisu/webvisu.htm HTTP/1.1" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
127.0.0.1 10.0.1.75 - [10/Jun/2016:11:19:07 +0300] "POST /webvisu/webvisu.htm HTTP/1.0" 200 20 "-" "Mozilla/4.0 (Windows 7 6.1) Java/1.8.0_91"
 
Zurück
Oben