Activity for Chris.O

  • Chris.O Chris.O posted a comment on discussion Visualization 🇬🇧

    Hi, some years ago I had the same problem.. (and additional some other things). For that there was a Jira entry... which is not fixed till now. I decided to program my own alarm manager which can detect every cycle and which have a correct time stamp (which is also a problem). One workaround was to add the Alarmmanager PRG a second time in the task. see attachments. May it helps. BR Chris

  • Chris.O Chris.O posted a comment on discussion Engineering 🇬🇧

    I think the best way is to make a projectarchive. There you can store everything from your current project.

  • Chris.O Chris.O posted a comment on discussion Engineering 🇬🇧

    Hi, have the same problem. It seems to become more rare if I adjust the Channel Timeout higher. I added in the codesyscontrol.cfg [CmpChannelMgr] ChannelTimeoutMs=300000 I still have sometimes problems with online change... but not as often as before... Hope 3S will fix it with the next SP. BR Chris

  • Chris.O Chris.O posted a comment on discussion Visualization 🇬🇧

    Small update: I exchanged the combobox and this was not the problem. I got the Log-Entry when I entered the password and click to "OK" or to "ESC" Any ideas?

  • Chris.O Chris.O posted a comment on discussion Visualization 🇬🇧

    Hi, I have a problem in my visualisation. It seems that the problem is a combobox. I use a combobox to select which user I want to log in (it is in a library for VisuUserMgmtDialogs). If I open this dialog since I updatet to CoDeSys V3.5.17 Patch 2 I got the message from the "Subject" in my LOG. There is nothing special in this combobox. I have Array 0..6 of WString. Before my Update to V3.5.17 Patch 2 (4.1.0.0) Everything was fine.... Attached the Projectarchive with the library for UserMgmt. BR...

  • Chris.O Chris.O posted a comment on discussion Runtime 🇬🇧

    Hi, danke für die Rückmeldung! Wenns was neues gibt, wäre ich dankbar für ne kurze Rückmeldung BR Chris

  • Chris.O Chris.O posted a comment on discussion Runtime 🇬🇧

    Hi, currently I have a PFC200 750-8214 with Firmware 19. I also downloaded and installed the latest CoDeSys Runtime. But like described in the subject... Runtime failed to start. Also to start it manually via putty is not possible. Is the latest runtime not able to work with firmware 19? When will the runtime work with FW19? I need it because of a security fix from Wago. BR Chris

  • Chris.O Chris.O posted a comment on discussion Runtime 🇬🇧

    Hi, you have aprox. 2 errors per second in your logs (ModBus). May this could be the problem?! It also can corrupt your SD-Card inside your Raspi! Only an idea... try to fix your ModBus Problems... BR Chris

  • Chris.O Chris.O posted a comment on discussion Visualization 🇬🇧

    Hi Marcel, Hi Mr. Schwellinger, thank you for your fast response. I have no influence on the priority of the CAN-BUS-task if I'm right... As I described I excluded the CAN-Devices from the build and then everything was fine. Now I included it again and the logs came back (of course). But the Webvisu is still running without problems?! I did not change anything else... reset origin etc. I tried before as well. So I can't find a reason for that behaviour. I will ask Kontron also if they know this problem....

  • Chris.O Chris.O posted a comment on discussion Runtime 🇬🇧

    Hi, do you use your %IW in the Programm? If not you will not receive the current values. For that you have to activate it in your controller settings:

  • Chris.O Chris.O posted a comment on discussion Visualization 🇬🇧

    Hi, I have a problem with my webvisu. I'm using CoDeSys 3.5.17.0 with a Kontron CU (Runtime 3.5.16.20) I loaded my program and everything is working fine. After a short time (10-30min) my Webvisu is freezing and I can't reconnect. It looks like that my Webserver is crashing and not starting again. Inside the codesys visualisation everything is working fine. So I have no exception... I tried to check the log file but I have a problem there (may this could be the root of the problem). I tested my software...

  • Chris.O Chris.O posted a comment on discussion Visualization 🇬🇧

    Hi, some time ago I had the same problem. My last information was that this placeholders are not longer available. As alternative we use Structs. Mean: We create a visualization makro and use there a Struct like "Drive_x". Inside this struct we have than e.g. Start:Bool; This struct you can declare inside this Makro as VAR_IN_OUT. So inside the Marko you can then use the declared Makro. From outside you can then use a struct as interface. Attached you can find a short example. If this placeholders...

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Hallo, ich habe mir heute die SP17 Version installiert. Hierbei ist mir aufgefallen, dass nun im CFC Editor die Variablen anders angezeigt werden. Habe ich beispielsweise eine Struct, wird die Variable nicht wie immer angezeigt, sondern mit so nem "Menü-Icon" voran. Also nicht z.B. "Struct.xVar" sondern "MenüIconVar" Ich hätte das gerne wieder in der alten Darstellung, vor allem weil es auch der Fall ist, wenn ich ein bestimmtes Bit verwenden möchte... alles vor einem Punkt ist nun mit diesem Menü-Icon....

  • Chris.O Chris.O posted a comment on discussion Visualization 🇬🇧

    create a variable which is blinking (e.g. with Blink FB) and write this variable into the "invisible" property

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Hallo Leute, ich hab da mal ne Frage zur Sprachsteuerung. Es gibt ja diverse Lösungen wie Alexa und co, die man theoretisch auch an z.b. nen Pi mit codesys anbinden kann. Mir persönlich schwebt etwas simpleres vor... Ich würde gerne "einfach" Sprache in einen String wandeln und an die sps schicken (z.B. via Modbus tcp) Ich bräuchte also quasi einen "Sateliten" der auf ein Schlüsselwort reagiert und dann das gesprochene in einen string wandelt und verschickt... 3S bietet ja eine App, die das schon...

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Richte doch deinen Windows-Rechner als NTP-Server ein und deine SPS als NTP Client. Über die WebVisu wird das vermutlich nix. Gruß Chris

  • Chris.O Chris.O modified a comment on discussion Deutsch 🇩🇪

    Ok, werde ich ausprobieren. Kann ich die Task dann automatisiert wieder neu starten? Wie würde ich aus diesem blockierenden Zustand wieder raus kommen? Eventuell mit der Funktion IecTaskReload aus der CmpIecTask library?

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Ok, werde ich ausprobieren. Kann ich die Task dann automatisiert wieder neu starten? Wie würde ich aus diesem blockierenden Zustand wieder raus kommen?

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Hallo Edwin, Ja, die rufe ich in einer separaten Task auf.. allerdings hat die Prio5. Meine Main aber Prio 1 Würde das CPU-Last mäßig was bringen, wenn ich die Prio weiter runter drehe?

  • Chris.O Chris.O modified a comment on discussion Deutsch 🇩🇪

    Hallo Forum, ich versuche aktuell meine Uhrzeit der SPS über einen NTP-Server zu aktuallisieren. Hierzu verwende ich einen Linux-Befehl "systemctl stop ntp; ntpdate <serverip>"</serverip> Um vorher zu prüfen, ob die Zeit auch wirklich gestellt werden muss, lese ich mir zuerst die Differenz zwischen Server und Client mittels Befehl 'ntpdate -q <serverip> | grep "time server"‘ aus. Ist die Abweichung größer 1s, wird der erste Befehl ausgeführt.</serverip> Das alles wird alle 20s neu überprüft, d.h....

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Hallo Forum, ich versuche aktuell meine Uhrzeit der SPS über einen NTP-Server zu aktuallisieren. Hierzu verwende ich einen Linux-Befehl "systemctl stop ntp; ntpdate <serverip>"</serverip> Um vorher zu prüfen, ob die Zeit auch wirklich gestellt werden muss, lese ich mir zuerst die differenz zwischen Server und Client mittels Befehl 'ntpdate -q <serverip> | grep "time server"‘ aus. Ist die Abweichung größer 1s, wird der erste Befehl ausgeführt.</serverip> Das alles wird alle 20s neu überprüft, d.h....

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Hallo, vielen Dank für die schnelle Antwort. Das hat leider nichts gebracht. Habs trozdem zum laufen gebracht. Und zwar habe ich die PDOs der analogen Inputs von "asynchron-Gerätespezifsch" auf "Zyklisch-synchron" gestellt. Nun klappt es. Was ist eigentlich der Unterschied zu "Synchron-nur RTR"? Könnte meine Einstellung unerwünschte Nebeneffekte haben? Gruß Chris

  • Chris.O Chris.O posted a comment on discussion Deutsch 🇩🇪

    Hallo Forum, habe ein kleines Problem... Habe einen WAGO-CAN-Koppler (750-337) zusammen mit einigen IO's.. Digital und analog. Es laufen alle IO's mit Ausnahme der analogen Inputs. Die werden lediglich ein einziges mal akutalisiert, wenn der Koppler gestartet wird. Dann sind sie eingefrohren. IO's werden auch aktualisiert wenn diese nicht verwendet sind. Hab sie aber auch im Programm verwendet... jemand eine Idee an was das liegen kann? Gruß Chris

  • Chris.O Chris.O posted a comment on discussion Engineering

    If you need detection of USB drive I recommend to do it with the command lsblk (Like Reinier Geers) :-) It seems that it work very well.

  • Chris.O Chris.O posted a comment on discussion Engineering

    Ok great... I don't know what is the better way... I would use what works better... you can check if the cycle time of your task changes or your cpu load changes with this commands...

  • Chris.O Chris.O posted a comment on discussion Engineering

    Ok, sounds good. Try command: df -h grep "your path name" e.g. df -h grep /media/sda1 Then string should be shorter and you can see more. please try inside putty df -h and have a look what is displayed.

  • Chris.O Chris.O posted a comment on discussion Engineering

    Ok.... may command df -h is working? Should give you something like this: Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /dev tmpfs 383M 5.9M 377M 2% /run /dev/mmcblk0p2 27G 5.5G 20G 23% / tmpfs 1.9G 1.5M 1.9G 1% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 70M 360K 70M 1% /var/log /dev/mmcblk0p1 511M 5.1M 506M 1% /boot/efi /dev/mmcblk1 30G 43M 29G 1% /media/sd tmpfs 383M 0 383M 0% /run/user/0 none 120M 40K 120M 1% /mnt/ramdisk /dev/sda 16G 4.8G...

  • Chris.O Chris.O posted a comment on discussion Engineering

    OK, then may install putty to your desktop-pc and connect your sps to your desktop pc... with putty you will get connection to your sps (with the ip-adress) then you can log in with user and password (e.g. user = root and PW = root or something like this). THen please try your command lsblk

  • Chris.O Chris.O modified a comment on discussion Engineering

    Can you try the command inside a terminal like putty? What result is there? And If you try only lsblk? Is there nothing... or what is the return from linux?

  • Chris.O Chris.O modified a comment on discussion Engineering

    Can you try the command inside a terminal like putty? What result is there? And If you try only lsblk

  • Chris.O Chris.O posted a comment on discussion Engineering

    Can you try the command inside a terminal like putty? What result is there?

  • Chris.O Chris.O posted a comment on discussion Engineering

    You can also limit sStdOut to 255. If you use 'lsblk | grep "/media/sda" ; echo OK'; you should get a string with something like that: └─sda1 8:1 1 14.7G 0 part /media/sda1 OK This would be a string with 51 Characters... so no problem If you use LEFT / RIGHT / MID with a String (1000) I think it will only use the fist 255 characters... so should also work.

  • Chris.O Chris.O posted a comment on discussion Engineering

    What do you mean with long string? If you use the "grep" parameter it should't be so long. If string is longer than may try to delete the first part of the string which you do not need... Or you try to program your own String functions ;-)

  • Chris.O Chris.O modified a comment on discussion Engineering

    @ Reinier Geers: You Wrote:Thanks. But it looks like it doesn't know lsblk. Did you try the command directly inside a terminal e.g. Putty? If the command works there you should have a look if inside the CODESYSControl.cfg your command is allowed. Search at [SysProcess] Command=AllowAll or specific command: [SysProcess] Command.0=lsblk Command.1=echo @ Morberis: I think wrong parameter could be an error because of a wrong path. Invalid Parameter should then an error of DirList. DirOpen only creates...

  • Chris.O Chris.O posted a comment on discussion Engineering

    @ Reinier Geers: You Wrote:Thanks. But it looks like it doesn't know lsblk. Did you try the command directly inside a terminal e.g. Putty? If the command works there you should have a look if inside the CODESYSControl.cfg your command is allowed. Search at [SysProcess] Command=AllowAll or specific command: [SysProcess] Command.0=lsblk Command.1=echo @ Morberis: I think wrong parameter could be an error because of a wrong path. Invalid Parameter should then an error of DirList. DirOpen only creates...

  • Chris.O Chris.O posted a comment on discussion Engineering

    I tested the following with a Linux-System. I used not lsusb but lsblk because I also want to see my sd-card. If you need you can additionally include then an error handling. May you can use this. code FUNCTION_BLOCK DetectUSB_SD_31 VAR_INPUT xEnable: BOOL; tWaitTime:TIME:=T#1S; END_VAR VAR_OUTPUT xUSBisMounted: BOOL; xSDCardMounted: BOOL; sFilePathUSB:STRING; sFilePathSD:STRING; END_VAR VAR scmd:STRING:='lsusb | grep "Flash Drive"'; //for sd-Card = lsblk | grep "/media/sd" | grep -v "sda" sStdOut:...

  • Chris.O Chris.O posted a comment on discussion Engineering

    Inside Linux yes. You can see it with lsusb command. Inside CoDeSys I don't think that there is implemented something like this because this depends on the device. May your supplier of your sps has already a library for that. At the moment I'm trying to program code with "lsusb" to detect usb stick and sd-card. When I'm finished, I can share it if you want. (I think with lsusb is the safe way)

  • Chris.O Chris.O posted a comment on discussion Engineering

    sure it should be 255.255.255.255 and not 255.255.255.0 With 255.255.255.255 you have limited broadcast

  • Chris.O Chris.O posted a comment on discussion Engineering

    What Error is indicated? eErrorOpen should show some clear text. I think in principle is better to program a small state machine e.g. with case function. Than it's better to handle errors and so on.

  • Chris.O Chris.O posted a comment on discussion Engineering

    hmh I'm not sure if SysDirOpen function create his own file when the file is not there... Try CAA FIle library... I tried.. .it works! I programmed a quick and dirty solution for SD-Card and USB-Stick....may ther some bugs inside but it works code FUNCTION_BLOCK DetectUSB_SD_31 VAR_INPUT xEnable: BOOL; tWaitTime:TIME:=T#1S; END_VAR VAR_OUTPUT xUSBisMounted: BOOL; xSDCardMounted: BOOL; sFilePathUSB:STRING; sFilePathSD:STRING; END_VAR VAR Open_Directory:File.DirOpen; xOpenDir: BOOL; sDirName: FILE.CAA.FILENAME:='/media';...

  • Chris.O Chris.O posted a comment on discussion Engineering

    Can you post your code?

  • Chris.O Chris.O posted a comment on discussion Engineering

    Alternative way would be to detect the mounted folder of the usb-Stick. In my case the linux system mount the usb-stick with "sda" inside the folder /media. Means my path would be "/media/sda". Then may be something like this: (In the programming part I think best would be a state machine) code VAR Open_Directory:File.DirOpen; xOpenDir: BOOL; sDirName: FILE.CAA.FILENAME:='/media'; hHandle: FILE.CAA.HANDLE; eErrorOpen: FILE.ERROR; xBusyOpen: BOOL; xDoneOpen: BOOL; xErrorOpen: BOOL; List_Directory:File.DirList;...

  • Chris.O Chris.O modified a comment on discussion Engineering

    Hi,... quick and dirty... maybe something like this code VAR_INPUT xEnable: BOOL; END_VAR VAR_OUTPUT xUSBisMounted: BOOL; END_VAR VAR scmd:STRING:='lsusb'; sStdOut: STRING (1000); Result: SysProcess_Implementation.RTS_IEC_RESULT; iFindUSB: INT; xError: BOOL; END_VAR IF xEnable THEN SysProcess.SysProcessExecuteCommand2(pszCommand:=scmd, pszStdOut:=sStdOut, udiStdOutLen:=SIZEOF(sStdOut), pResult:=ADR(Result)); //Check if min. 1 USB device is mounted IF sStdOut <> 'Bus 002 Device 001: ID 1d6b:0003 Linux...

  • Chris.O Chris.O posted a comment on discussion Engineering

    Hi,... quick and dirty... maybe something like this code VAR_INPUT xEnable: BOOL; END_VAR VAR_OUTPUT xUSBisMounted: BOOL; xSDCardMounted: BOOL; sFilePathUSB:STRING; sFilePathSD:STRING; END_VAR VAR scmd:STRING:='lsusb'; sStdOut: STRING (1000); Result: SysProcess_Implementation.RTS_IEC_RESULT; iFindUSB: INT; xError: BOOL; END_VAR IF xEnable THEN SysProcess.SysProcessExecuteCommand2(pszCommand:=scmd, pszStdOut:=sStdOut, udiStdOutLen:=SIZEOF(sStdOut), pResult:=ADR(Result)); //Check if min. 1 USB device...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, naja also generell geht es mir um folgendes: Ich habe ein redundantes System mit 2 SPS'n. Hier läuft auf jeder SPS ein Webserver mit Webvisu. Für die Bedienung hab ich ein Touchpanel, dass die Webvisu aufruft. Ist nun System 1 Master, soll das System auf dem Panel bedienbar sein. Schaltet das System um, so dass System 2 Master ist, soll auf dieses System umgeschaltet werden. Zusätzlich kann über eine separate Variable die Visualisierung auf das Slavesystem umgeschaltet werden, um zu sehen was...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, ok dann werd ich da mal Anpassungen vornehmen. Das mit den geänderten Anforderungen hätte ich gemacht, wenn mir das im Vorfeld klar gewesen wäre, dass das so nicht klappt, wie ich das wollte mit dem zweiten Skript. Aber danke dir schon mal! Gruß Chris

  • Chris.O Chris.O posted a comment on discussion Deutsch

    Hallo, hab mal eine generelle Frage... ist es möglich unbeschaltete Eingänge bei einem FB automatisch zu finden? Dachte da an eine Compiler-Warnmeldung oder so? Hab ein etwas größeres Projekt, und mich würde mal interessieren, wo ich überall unbeschaltete Eingänge habe... vllt kann ich dann noch etwas optimieren :-) Gruß Chris

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, konnte das Ganze jetzt endlich nochmal testen. Hat jetzt soweit funktioniert :-) Hab nun leider ein anderes Problem. Da läuft noch ein weiteres Skript, dass mir eine Visu-Umschaltung erzeugt, wenn eine Bestimmte Variable angetriggert wird. Das funktioniert nun leider nicht mehr richtig. Gibt es eine Möglichkeit, falls deine Prüfung erfolgreich war, die Seite einfach komplett umzuleiten. Aktuell bleibt man ja auf der Test.html - Seite drauf und die webvisu wird im iframe angezeigt... Bei einer...

  • Chris.O Chris.O modified a comment on discussion Visualization

    Es sieht aber irgendwie so aus, als ob er das laden der WebVisu abbricht, so bald er anfängt wieder zu pollen... Die WebVisu flackert kurz auf und so bald er anfängt zu pollen, weißer Bildschirm Aber können gerne auch beides probieren :-)

  • Chris.O Chris.O posted a comment on discussion Visualization

    Es sieht aber irgendwie so aus, als ob er das laden der WebVisu abbricht, so bald er anfängt wieder zu pollen... Die WebVisu flackert kurz auf und so bald er anfängt zu pollen, weißer Bildschirm

  • Chris.O Chris.O posted a comment on discussion Visualization

    Eventuell noch einen Timeout, wenn die Visu gestartet ist, bis wieder neu abgefragt wird, ob die VIsu aktiv ist ("Still polling the registration of the visualization. Is the visu stopped?")

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hmh.. also das sind definitiv keine 10s..hab trozdem mal auf 20s hochgedreht Aber für mich sieht das so aus als ob die Visu kurz gestartet und dann wieder beendet wird. In angehängtem BIld wie folgt: INFO "Webvisu starting" => scheint als ob die Webvisu kurz startet (Flackert kurz auf und dann wieder weißer BIldschirm) Dann läuft Timer wieder ab. Webvisu startet wieder ganz kurz... gleiches Spiel immer so weiter... Für meinen Fall wäre es am besten, wenn das Skript nur so lange abläuft, bis die Visu...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Naja wie gesagt... 10s sollten locker reichen... was kann ich machen um den Fehler einzugrenzen?

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, eventuell kommt das daher, dass der PFC200 gut ausgelastet ist... das dauert schon immer ein paar Sekunden, bis die Visu kommt... aber dafür ist doch der Timeout mit 10s oder? Der sollte locker reichen...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, erst mal Danke für deine Hilfe! Habs eigentlich auf beiden installiert und eingespielt... die webvisu.htm sieht auch bei beiden gleich aus. Das js hab ich auch bei beiden eingefügt. Man sieht auch, dass die webvisu ganz kurz geöffnet wird... dann wechselt es zu der zweiten... dann wieder zurück... hab gedacht vllt. war der timeout zu kurz und hab den auf 10s gestellt... Aktuell wäre die Lage so, dass schon auf der ersten WebVisu alles passt...somit sollte er Visu1 anzeigen...

  • Chris.O Chris.O modified a comment on discussion Visualization

    Hi, Seite hab ich aktualisiert! Konsoleneinträge siehe Anhang. Webvisus: code <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0"> <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> <script language="javascript" src="webvisu.js"></script> <script language="javascript" src="browsercontrol_ext0.js"></script> <script language="javascript" src="wvclient_ext1.js"></script> <script language="javascript" src="redundancycontrol_ext2.js"></script> </head> <body...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, Seite hab ich aktualisiert! Konsoleneinträge siehe Anhang. Webvisus: ~~~ code <!DOCTYPE html> <meta content="initial-scale=1.0" name="viewport"> <meta content="text/html;charset=UTF-8" http-equiv="content-type"> <script src="webvisu.js" language="javascript"></script> <script src="browsercontrol_ext0.js" language="javascript"></script> <script src="wvclient_ext1.js" language="javascript"></script> <script src="redundancycontrol_ext2.js" language="javascript"></script> Webvisu not supported due...

  • Chris.O Chris.O posted a comment on discussion Visualization

    I don't know what exactly you do with your app...or if CoDeSys disconnect a Client...Try it! You can also reset your button after a defined time... but if everything is fine you have to press again... Sorry no other idea at the moment BR Chris

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi Marcel, sieht so aus, als ob das bei mir jetzt immer hin und her springt... Hab die .js Datei in den Ordner zur webvisu.htm gelegt, das Package installiert und aktiviert, sowie die html um meine beiden URLs ergänzt. Hab ich was vergessen?

  • Chris.O Chris.O modified a comment on discussion Visualization

    But I think you can reset your Button1_State to false inside your Program right? So if you implement it in that way: code FUNCTION FUNPageActive : BOOL VAR_INPUT END_VAR VAR END_VAR //ProgramPart GVL.xVisuPageActive:=TRUE; PROGRAM Test VAR xButtonState:BOOL; END_VAR //ProgramPart IF NOT GVL.xVisuPageActive THEN xButtonState:=FALSE; END_IF

  • Chris.O Chris.O modified a comment on discussion Visualization

    But I think you can reset your Button1_State to false inside your Program right? So if you implement it in that way: code FUNCTION FUNPageActive : BOOL VAR_INPUT END_VAR VAR END_VAR //ProgramPart GVL.xVisuPageActive:=TRUE; PROGRAM Test VAR xButtonState:BOOL; END_VAR //ProgramPart IF NOT GVL.xVisuPageActive THEN xButtonState:=FALSE; END_IF code

  • Chris.O Chris.O posted a comment on discussion Visualization

    But I think you can reset your Button1_State to false inside your Program right? So if you implement it in that way: code FUNCTION FUNPageActive : BOOL VAR_INPUT END_VAR VAR END_VAR //ProgramPart GVL.xVisuPageActive:=TRUE; PROGRAM Test VAR xButtonState:BOOL; END_VAR //ProgramPart IF NOT GVL.xVisuPageActive THEN xButtonState:=FALSE; END_IF

  • Chris.O Chris.O posted a comment on discussion Visualization

    Why so complicated... Inside your function you can run any code you want... For example create a Global Variable for your Page and create a "BLINK" inside this function which turns on and off your global variable... Then you can use this global Variable on any place of your Program...

  • Chris.O Chris.O modified a comment on discussion Visualization

    You can call it like that (see attachment) Inside this function you can do what ever you want... (In this case the Function is of type BOOL) BR

  • Chris.O Chris.O posted a comment on discussion Visualization

    You can call it like that (see attachment) Inside this function you can do what ever you want... BR

  • Chris.O Chris.O posted a comment on discussion Visualization

    I'm not sure if i understood your problem correctly... you want to know if a client opened a specific page? For that I created a function which I called inside the Visualization inside a invisible dummy element. Here you can e.g. call a function (e.g. for chage color...no matter) which is changing a bit of a global variable to TRUE. Inside your code you can use this variable and set it back to FALSE. So every time when your visu is opended... your function inside this visu will set your bit to TRUE...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Alles klar, vielen Dank schon mal! LG Chris

  • Chris.O Chris.O modified a comment on discussion Visualization

    Meine sieht so aus: Deine js-DAtei liegt im gleichen ordner wie die webvisu.js und die webvisu.htm

  • Chris.O Chris.O modified a comment on discussion Visualization

    Meine sieht so aus:

  • Chris.O Chris.O modified a comment on discussion Visualization

    Meine sieht so aus: code <meta content="initial-scale=1.0" name="viewport"> <meta content="text/html;charset=UTF-8" http-equiv="content-type"> <script src="wvclient.js" language="javascript"></script> <script src="webvisu.js" language="javascript"></script> <script src="browsercontrol_ext0.js" language="javascript"></script> <script src="redundancycontrol_ext1.js" language="javascript"></script> Webvisu not supported due to missing browser feature HTML5-Canvas Webvisu not supported due to missing...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Meine sieht so aus: ~~~ <meta content="initial-scale=1.0" name="viewport"> <meta content="text/html;charset=UTF-8" http-equiv="content-type"> <script src="wvclient.js" language="javascript"></script> <script src="webvisu.js" language="javascript"></script> <script src="browsercontrol_ext0.js" language="javascript"></script> <script src="redundancycontrol_ext1.js" language="javascript"></script> Webvisu not supported due to missing browser feature HTML5-Canvas Webvisu not supported due to missing...

  • Chris.O Chris.O posted a comment on discussion Visualization

    hmh wenn ich direkt auf die webvisu gehe, scheint nur die webvisu.js geladen zu werden... hab den Eintrag wie oben beschrieben aber in der webvisu.htm ergänzt...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Die hab ich nur umbenannt... das ist eigentlich deine Test.html seite

  • Chris.O Chris.O posted a comment on discussion Visualization

    Ok, d.h. ich lege die js-Datei parallel zur WebVisu.htm. In der WebVisu.htm füge ich den Eintrag <script src="wvclient.js" language="javascript"></script> hinzu. Die Test.html starte ich vom lokalen PC aus (über Netzwerk mit der SPS verbunden). Scheint aber leider nicht zu funktionieren... anbei die Meldungen in der Konsole des Browsers

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, erst mal danke für deine Mühen! Wo genau muss ich den die js-Datei hin kopieren? (PFC200) In der html habe ich dafür auch keinen Aufruf gesehen (oder übersehen). Hab die html einfach mal so getestet und die URLS eingetragen... er öffnet kurz die Seite bzw flackert scheinbar hin und her... Wie genau ist den das Vorgehen bei deiner Lösung? Gruß Chris

  • Chris.O Chris.O posted a comment on discussion Visualization

    May that will be a topic for the CoDeSys development to give a general solution without workaround like discussed here... May you should create a support-Ticket.

  • Chris.O Chris.O modified a comment on discussion Visualization

    You can Count it on your own. https://forge.codesys.com/forge/talk/Deutsch/thread/f14041c158/?limit=25#9c5f Within this post I shared my Program (not the Code-Sniped, but the Project to download) Here I Iterate all clients and read out some information. You can also geht som Usier-Info (Current logged In user for the different Clients) So try e.g. If Current logged in user <> '' Then count+1 Or you use the code-sniped and use "pClient^.GlobalData.CurrentUserName" Inside the Iteration e.g. code If...

  • Chris.O Chris.O posted a comment on discussion Visualization

    You can Count it on your own. https://forge.codesys.com/forge/talk/Deutsch/thread/f14041c158/?limit=25#9c5f Within this post I shared my Program (not the Code-Sniped, but the Project to download) Here I Iterate all clients and read out some information. You can also geht som Usier-Info (Current logged In user for the different Clients) So try e.g. If Current logged in user <> '' Then count+1 Or you use the code-sniped and use "pClient^.GlobalData.CurrentUserName" Inside the Iteration e.g. code If...

  • Chris.O Chris.O posted a comment on discussion Visualization

    You can activate "CurrentVisu variables" inside the Viz-Manager (see Attached file) Inside the Online-Help is written: "The application recognizes and uses the global variable VisuElems.CurrentVisu of type STRING. It contains the name of the active visualization at application runtime. In the application code, the variable can be read in order to retain the name of the active visualization. The variable can be written to for calling a switch of visualizations. The switch is done at the same time...

  • Chris.O Chris.O posted a comment on discussion Visualization

    I don't think so... but may be you can activate user management. You also can logout via IEC-Code. So for Input in general you need then a User with password. If IP-Adress is "disabled" then log out this user automatically... may be in that way...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Just one Idea: e.g. create an array xSwitchOn:ARRAY[-1..uiMaxNumbClients] of BOOL; and with your Button switch "xSwitchOn[CurrentClientID]" to TRUE Inside your programm you can Iterate over all Clients and see ClientID as well as the IP-Adress. Make a For-loop (or inside the Iteration) and check if the "xSwitchOn" is TRUE and if IP-Adress is the same then your enabled one. Then set your "generalxSwitch" to TRUE... else set switch back to FALSE. Just an Idea

  • Chris.O Chris.O posted a comment on discussion Visualization

    Yes thats true.. for safety functions you need a hardwired estop! In my case not necessary :-) @dgirard Because of IP-Adress... https://forge.codesys.com/forge/talk/Deutsch/thread/f14041c158/?limit=25#9c5f Here I also postet a Project to download, where you can use the IP-Adress...try this.

  • Chris.O Chris.O posted a comment on discussion Visualization

    Because I want to use a Button on my touch-Panel :-) => Sometimes not possible to Wire a Hardwire-Button

  • Chris.O Chris.O modified a comment on discussion Visualization

    Same Problem. I set the variable of the button to false if Visu is not longer working. But for that I need an Array if more Clients are active because with the code of dkugler you have allways active Visu if more clients are active. I'm still testing this function... here my code till now. (Trigger if one client will become active or will lose connection) Hope this will help you This is inside of the while loop: IF pClient^.GlobalData.ClientType=VU.Visu_Clienttype.WebVisualization THEN timLastWebVisuUsage[pClient^.GlobalData.GlobalClientID]:=pClient^.GlobalData.LastUsage;...

  • Chris.O Chris.O modified a comment on discussion Visualization

    Same Problem. I set the variable of the button to false if Visu is not longer working. But for that I need an Array if more Clients are active because with the code of dkugler you have allways active Visu if more clients are active. I'm still testing this function... here my code till now. (Trigger if one client will become active or will lose connection) Hope this will help you This is inside of the while loop: IF pClient^.GlobalData.ClientType=VU.Visu_Clienttype.WebVisualization THEN timLastWebVisuUsage[pClient^.GlobalData.GlobalClientID]:=pClient^.GlobalData.LastUsage;...

  • Chris.O Chris.O modified a comment on discussion Visualization

    Same Problem. I set the variable of the button to false if Visu is not longer working. But for that I need an Array if more Clients are active because with the code of dkugler you have allways active Visu if more clients are active. I'm still testing this function... here my code till now. (Trigger if one client will become active or will lose connection) Hope this will help you This is inside of the while loop: IF pClient^.GlobalData.ClientType=VU.Visu_Clienttype.WebVisualization THEN timLastWebVisuUsage[pClient^.GlobalData.GlobalClientID]:=pClient^.GlobalData.LastUsage;...

  • Chris.O Chris.O modified a comment on discussion Visualization

    Same Problem. I set the variable of the button to false if Visu is not longer working. But for that I need an Array if more Clients are active because with the code of dkugler you have allways active Visu if more clients are active. I'm still testing this function... here my code till now. (Trigger if one client will become active or will lose connection) Hope this will help you This is inside of the while loop: IF pClient^.GlobalData.ClientType=VU.Visu_Clienttype.WebVisualization THEN timLastWebVisuUsage[pClient^.GlobalData.GlobalClientID]:=pClient^.GlobalData.LastUsage;...

  • Chris.O Chris.O modified a comment on discussion Visualization

    Same Problem. I set the variable of the button to false if Visu is not longer working. But for that I need an Array if more Clients are active because with the code of dkugler you have allways active Visu if more clients are active. I'm still testing this function... here my code till now. (Trigger if one client will become active or will lose connection) Hope this will help you This is inside of the while loop: IF pClient^.GlobalData.ClientType=VU.Visu_Clienttype.WebVisualization THEN timLastWebVisuUsage[pClient^.GlobalData.GlobalClientID]:=pClient^.GlobalData.LastUsage;...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Same Problem. I set the variable of the button to false if Visu is not longer working. But for that I need an Array if more Clients are active because with the code of dkugler you have allways active Visu if more clients are active. I'm still testing this function... here my code till now. (Trigger if one client will become active or will lose connection) Hope this will help you code //This is inside of the while loop: IF pClient^.GlobalData.ClientType=VU.Visu_Clienttype.WebVisualization THEN timLastWebVisuUsage[pClient^.GlobalData.GlobalClientID]:=pClient^.GlobalData.LastUsage;...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Ok, now I know what you mean :-) This will work for WebVisualization in general... When you have two active Visus and one is no longer active.... I think I need an Array to detect each Visu

  • Chris.O Chris.O posted a comment on discussion Deutsch

    Mist.. zu spät gelesen :-) Gibts da wohl noch eins?

  • Chris.O Chris.O posted a comment on discussion Visualization

    hmh... scheint als ob ich da Zugriff auf den Inhalt des IFrames brauche, was durch die SOP blockiert wird..

  • Chris.O Chris.O posted a comment on discussion Visualization

    Ok,... mal sehen ob ich das hin bekomme :-) Bin in html nicht ganz so fit...werde mich melden, obs funktioniert :-)

  • Chris.O Chris.O posted a comment on discussion Visualization

    Ok, found it... but how to use it? If you want to have the data you have to use it in the Method "HandleClient" of FB "VisuClientIteration" I can't find a solution to use this data...Do you know a solution?

  • Chris.O Chris.O posted a comment on discussion Visualization

    Keiner eine Idee wie das zu realisieren wäre?

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hello Dave.... I want to do this for a WebVisu Client... Can you give me an example how to do? I can't find "LastUsage" :-)

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hi, this is also very interesting for me. In another topic I published my code to iterate all the clients...I tried to evaluate when a client disconnects...but it was to slow. But may with "LastUsage" it will work...:-) Iterate Clients: https://forge.codesys.com/forge/talk/Deutsch/thread/f14041c158/?limit=25#9c5f It is in German but you can Download there an example.

  • Chris.O Chris.O posted a comment on discussion Deutsch

    Hast du das Programm neu übertragen? Die komplette PLC-Logic müsste jetzt dann eigentlich auf der SD-Karte sein...

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hallo, ich möchte überprüfen, ob die Applikation aktuel läuft und eine Visualisierung dargestellt werden kann. Hintergrund: Ich habe mehrere SPS am laufen. Ist die Webvisu von SPS1 nicht verfügbar bzw. die Applikation läuft nicht/ SPS ist ausgeschaltet etc... soll automatisch auf SPS2 weitergeleitet werden. Hierzu würde ich gerne eine Startseite für den Browser bauen, der mir genau das macht. Leider bekomme ich es nicht hin über html abzufragen, ob die Applikation läuft... Gruß Chris

  • Chris.O Chris.O posted a comment on discussion Visualization

    Hallo, Ich hätte da mal eine Frage. Ist es möglich über ein script auf einer html Seite zu überprüfen ob die webvisu verfügbar ist? Hätte mir das so vorgestellt: Prüfe ob webvisu verfügbar ist, wenn nein weiterleiten zu einer anderen Seite. Wenn ja...weiter zur webvisu. Jemand ideen/Vorschläge? Verwende als sps eine wago pfc200 mit codesys v3.5 sp16 Gruß Chris

1 >