Just a warning. Changing the generated csp and attributes on the iframe may allow bad people to run a DOS on your PLC causing a crash or loss of data. All these settings have been chosen to protect the user.
Just a warning. Changing the generated csp and attributes on the iframe may allow bad people to run a DOS on your PLC causing a crash or loss of data.
You should not run the testscript in the normal mode, but in debug (should be the button next to the normal run) BR Marcel
Hey, If you are in contact with Scott, I see no reason why questions should be answered twice. Best regards, Marcel
Not gonna claim this is the "right" way. But we have some challenges ahead and the right way may change ;) You can find an example for the IKeyEventHandler. If HandleKeyEvent returns true, the key press will be dropped. Important: Make sure to call the PRG by adding it to the "Call after visu initialization" in the visu manager. Best regards, Marcel
Not gonna claim this is the "right" way. But we have some challenges ahead and the right way may change ;) You can find an example for the IKeyEventHandler. If HandleKeyEvent returns true, the key press will be dropped. Best regards, Marcel
Oh I see, that will make things way more difficult ;D Assuming that they display keys are mapped to a tab+enter/return (which it looks like since the action is executed), we could filter out the enter/return key. You think that would solve the problem and you could use the normal keyboard handling? Best regards, Marcel
If you are using a target visualization (a panel with a screen and the runtime is running on that panel) then the CODESYS IDE has no part in handling events. This is all done by the visualization, which collects the events, passes them to IEC where the visu task handles them and then draws the changes to the screen again. Anything special which did not work? Yes, the selection example is controlling the keyboard handling, which you do have to activate.
I would assume then that with the turn of a wheel you want to jump from a Q to a W to a E etc etc? Also pressing a specific button on the CAN keypad will open the dialog and another one is like an Enter? If that is the case your solution could also be to use the keyboardhandling and move the selection on each wheel turn with the selectionmanager.
Could you maybe help me understand exactly what you are trying to do? If I understand you correctly, you try to enter values into the keyboard via IEC? Why do you have this requirement and what is the goal you are trying to achieve? Best regards, Marcel
The interface will be overwritten each cycle. Currently a bit confused why you want to set the interface yourself. Whats wrong with the one used by the visualization? Also it is not clear for me why you want to open the dialogue both via an input and via VisuUtils. You can select the simplified dialogue in the visu manager. Best regards, Marcel
The interface will be overwritten each cycle. Currently a bit confused why you want to set the interface yourself. Whats wrong with the one used by the visualization? Also it is not clear for me why you want to open the dialogue both via an input and via VisuUtils. You can select the simplified dialogue in the visu manager. Best regards, Marcel
Please attach a project archiv
By software keyboard I mean a graphical system keyboard like xvkbd. Your oem may have to do adjustments for this as well. Best regards, Marcel
I am not the one making the plan or doing the commit. I can just say that I triggered the responsible parties, but I am not in the loop when stuff is happening. I can just say that there is no plan to stop distributing these libraries.
No ETA which can be promised. For now I would say you are fine to use the 3.5.17.0 version
Hey, well if he is sending a support ticket I may get my hands on it anyway ;) Best regards, Marcel
I will ask what the plan is.
No it was by design to not share them with the addon. The forge page was meant to be the replacement. Best regards, Marcel
I think in the latest CODESYS version the compiler team improved the "implements interfaces" functionality
Its not possible to open a IEC Keyboard with a click into the browser. Your panel requires an software keyboard for that. Best regards, Marcel
Please attach a project for us to have a look at it. Best regards, Marcel
Make sure to scan for the device. The device name ends with _HMI normally, which may not be the default for the login. Best regards, Marcel
VIS 4.2 is currently in development
I think it is best to provide a small example project at this point
See https://forge.codesys.com/forge/talk/Visualization/thread/59eb8212c7/
Hey, I think you just have to tick the Advanced checkbox in the top left of the property view. Best regards, Marcel
Not much we can do here. The website you are trying to use does not allow being included in another website. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options for the header 192.168.0.3 is sending to your browser. Best regards, Marcel
They use the same file format, they just have additional languages depending on what you added. Are you using the same file? Then a reload should be enough, no need to unregister and register.
Hey, DynamicTextRegisterFile should do the trick I think. Best regards, Marcel
I think you have to ask the IFM support for this one.
Hey, No, VisuUtils is designed in a way so that you dont have to call it from the VISU_TASK. You should be good using multiple instances. To be honest I only called it from a program, never from Execute ST-code. Cant give you an answer for this one. Best regards, Marcel
Thats the webbrowser in the IDE not the webbrowser of the raspi. Please dont use google.com for your tests, they don't allow a browser to be included in a html site with the iframe tag. Please also check the browser developer console for any errors. Best regards, Marcel
Thats the webbrowser in the IDE not the webbrowser of the raspi. Please dont use google.com for your tests, they don't allow a browser to be included in a html site with the iframe tag. Best regards, Marcel
You are setting show to TRUE?
Please use the IMouseEventHandler. The post by eschwellinger contains an example
Please use the the IMouseEventHandler. The post by eschwellinger contains an example
Hey, You should not use SysTargetVisu23. That is a really really old lib which is no longer maintained. What are you trying to do? Best regards, Marcel
I ask you again, is it possible to display other websites like this forum in the webbrowser?
Hey, To my knowledge the prerelease channel is currently not used. The next SP will include the latest version of the Addons, which are released at the time of the creation of the branch for this SP. This is normally around 6 weeks before the release date for a full SP. For patches it may very well happen that a Addon is released and the latest version is not included in the patch. For all of this the CODESYS Installer is the way to go. Best regards, Marcel
Hey, Hast du bei der Neuinstallation auch die Repositories gelΓΆscht oder nur die IDE? Die Repositories sollten unter C:\ProgramData\CODESYS liegen (da das Repository "Visual Elements" lΓΆschen). Ja, ohne Visu Profil geht auch keine AuflΓΆsung von Libs. Ok, wenn du in SP17 30 auch das Problem hast, dann stimmt irgendwas nicht mit deiner Installation. Da kommt garantiert alles Relevante fΓΌr ein Visu Profil 4.1.0.0 mit. LG Marcel
Hey, Nein, noch nie gesehen. CODESYS frisch starten und nochmal probieren? LG Marcel
Hey, Nein, noch nie gesehen. LG Marcel
Is it possible that CODESYS and the raspi are in different networks? Is 'http://192.168.0.3/' reachable by a browser on your desktop/laptop? Is it possible to show something different in the CODESYS webbrowser? E.g. this forum?
Is it possible that CODESYS and the raspi are in different networks? Is 'http://192.168.0.3/' reachable by a browser on your desktop/laptop?
I was investigating high memory usage of chromium when running the CODESYS Webvisu. I was able to reproduce the memory increase without the CODESYS Webvisu as well and reported this observation to the panel OEM. Right now I can just recommend restarting the browser every x hours until the bug in chromium is fixed. Best regards, Marcel
Hey, this is not possible. I would recommend you implement a wizard where the user has to enter the values in the specific order. Best regards, Marcel
To my knowledge this is not possible. Best regards, Marcel
No, rotating a frame offline is not possible at the moment. Best regards, Marcel
Attached you can find a working project. Best regards, Marcel
Hey, starting with SP17 most of the non essential parts of CODESYS were extracted from the CODESYS setup into addons (like SoftMotion). See https://faq.codesys.com/pages/viewpage.action?pageId=105152517 and https://help.codesys.com/webapp/_cds_codesys_modularization;product=codesys;version=3.5.17.0 With these changes you have to update your visu profile or use the exact same installation you created the project with. Best regards, Marcel
Then please provide an example project.
Hey, you should be able to rotate frames with the feature "support client animations and overlay of native elements" in the visu manager. Best regards, Marcel
Adjust the size of the image to match the size of the offline image
Please report this bug via the store.
Attached a project which should help you.
Nothing changed in the visualization..
Thats normally the cause for it. Maybe to a "Save As" of your project, reload it and try again.
Hey, No you cannot do A. The communication between PLC and clients does not work with external calls. In regards to B, I think it could be possible but CODESYS does currently have no plan to implement such an element. For Webvisu users there is gonna be some interesting new feature which allows users to create their own elements more easy. This is currently planned for the 4.2.0.0 Visu AddOn release, but it may very well slip to a later version. Best regards, Marcel
Hey, do you have a small example project for us? Best regards, Marcel
Hey, I am unsure what you are trying to do? Why is "Execute ST Code" not usable for you? Best regards, Marcel
Hey, hΓ€ttest du ein Beispielprojekt fΓΌr uns? Das GerΓ€t kann Transparenz und das ist auch im Visu Manager aktiv? LG Marcel
Hey, this info is reported when you the library compatibility version is lower than the last profile version with which the library was saved. Check your project information and compare these two marked entries. Best regards, Marcel
Hey, this info is reported when you the library compatibility version is lower than the last profile version with which the library was saved. Check your project information and compare these two marked entries. Best regards, Marcel
Hey, All I can say right now, that it is not yet fixed. Merry christmas and a happy new year! Best regards, Marcel
Hey, please do not use the forum as a bug reporting tool. The way to go is use the store and report there a bug. This issue is already tracked with key VIS-950. Best regards, Marcel
Hey, du hast die Textliste falsch konfiguriert. So wΓ€re es richtig. LG Marcel
Hey, First of all sorry to disappoint you here. There is no clean API which you can use to open a numpad/keypad from IEC. You can of course open your own dialog, but then you would have to do the parsing of inputs etc yourself... I raised an improvement to address your use case. Apart from this, I think you could also achieve this with the attached example. One known limitation of the example is that the numpad will be opened when you leave the visualization with the mouse. That is dont ideal, but...
Hey, First of all you really should not use GetNextClient and OpenDialog. This can cause real issues when incorrectly accessed, in the worst case an exception stopping the whole application. Could you help me understand what you are trying to do and why you want to open the numpad from IEC and not by a mouse click? Thanks a lot Best regards, Marcel
Visu Utils (https://help.codesys.com/webapp/idx-Visu%20Utils-lib;product=Visu%20Utils;version=3.5.17.0) is the library to use. There you can use the function block FbIterateClients. The IVisualizationClient you get in HandleClient has to be casted to IVisualizationClientRaw. The ClientDataPointer can then be used to access GlobalData.DialogData Keep in mind these are internal structures which may change in the future. Best regards, Marcel
There are a few ways you can do this. You can listen to every dialog which is opened/closed via the IDialogManagerListener. Or you can iterate over all clients and determine each active dialog. Best regards, Marcel
Hey, what are you trying to do? Best regards, Marcel
Try to remove the outstanding build errors (at least there are some for me). That removed the warning for me. Best regards, Marcel
Please report this bug via the store. I think enabling "Support client animations and overlay native elements" in the visu manager solves the issue. Best regards, Marcel
Hey, attached you can find a possible solution. You dont have to call different instances, you just provide different data during DialogOpen. Best regards, Marcel
Hey, erst einmal sollte SP17 Patch X keinen Unterschied machen. Die Visu ist nun ein separates Adddon, welches seinen eigenen Release Zyklus hat. Die aktuell freigegebene Version ist 4.1.1.0. Wenn du meinst, dass das ein Fehler ist und das das schon mal ging, dann melde den Fehler bitte ΓΌber den Store mit einem vereinfachten Beispielprojekt und genauen Schritten, um den Fehler nachzustellen. NatΓΌrlich musst du dich aber auch fragen, wieso du die LOWER und UPPER Bound ΓΌber ein Array machst und nicht...
No this is not the default configuration of the CODESYSControl.cfg. Seems to be an outdated one. Maybe someone tried to change something..
Hey, https://forge.codesys.com/prj/codesys-example/visu-dialog-st/home/Home/ is an example on how to use the fb. Best regards, Marcel
hey, no, not to my knowledge. Best regards, Marcel
The way to access the value of a property requires more instructions, but I would not say that you are able to measure this difference.
Hey, nein, du musst dich dafΓΌr nicht anmelden. GetCoundAlarmsFromStorage gibt die Alarme in der Historie zurΓΌck, GetActiveAlarms die aktiven Alarme. Bei mir ging das ganze Beispiel mit 3.5.16.40. Ich geh davon aus, dass das auch im e!Cockpit funktioniert. LG Marcel
"I want to protect my controller against unauthorized downloads/uploads and prevent access to the code but I don't want to require a login for the webvisu pages." If you are using a runtime version >= 3.5.14.0, you should not be required to provide a runtime login. This is however the case, if you have one of the following two settings active in your CODESYSControl.cfg: AllowFileTransferServices=1 CallVisuServicesDirectly=0 Best regards, Marcel
Well I copied it from the post, but it seems to not work. Check this thread for Google Maps and there should be. It is not a good and explaining example but maybe a start for you.
Code size is the main reason why it is not enabled by default. Best regards, Marcel
There will be a nice and clean integration of html5 controls, but this is currently in development. An old and ugly interface is already available, see https://forge.codesys.com/forge/talk/Runtime/thread/04361f89ec/#efeb for more. Best regards, Marcel
It is disabled by default. If you however require a file service, you have to do a runtime login. Best regards, Marcel
Hey, schau dir mal dieses Beispiel an: https://forge.codesys.com/prj/codesys-example/alarm-manager Hier wird z.B. auf die Anzahl Alarme zugegriffen. AlarmManager.g_AlarmHandler.GetCountAlarmsFromStorage(). LG Marcel
Hey, no this is not possible to create or remove elements/complete frames. Yes it is easy in these languages, but they also do way more things dynamically which isn't really the goal of IEC 61131. Best regards, Marcel
Hey, well the only thing I would recommend is that you use the "Support client animations and overlay of native elements". More things will happen in the client in this case, e.g. multitouch scrolling. However interactions e.g. with a button will still be triggered by the PLC. That wont help you there. Best regards, Marcel
Hello @martin84, attached you can find an example. Best regards, Marcel
Hello @martin84, yes there is a way to login users with ST code. Quick question to help me understand your use case. How many clients do you have? Do you only use one Target Visualization? Does the user have to interact with any visualization to be logged in or is only the interaction with the RFID reader? Best regards, Marcel
Seems to be that this issue was fixed with Visu 4.1.0.0. Could you maybe update your CODESYS to use visu 4.1.0.0 and check if you can still reproduce the issue? Best regards, Marcel
Hello @tvm, I tried to reproduce it with a small example and simply was not able to. Sorry :/ Best regards, Marcel
This was a bug in the visu 4.0.0.0 and was fixed with 4.1.0.0. No dialog closed will be called in this case any more.
You could also use VAR_IN_OUT and not do VAR_INPUT and then declare a reference https://help.codesys.com/webapp/_cds_vartypes_var_in_out;product=codesys;version=3.5.17.0 Best regards, Marcel
You could also use VAR_IN_OUT and not do VAR_INPUT and then decalre a reference https://help.codesys.com/webapp/_cds_vartypes_var_in_out;product=codesys;version=3.5.17.0 Best regards, Marcel
Hey, could you provide a small example application? I am not that good in guessing. Best regards, Marcel
Currently there is no way to access the last visu without knowing the client. Starting with Visu Package 4.2.0.0 the VisuUtils provide acess to the previous and next visu name for a client. You could wrap the access to VisuElems.CurrentVisu in a function/FB and store the last visu in there. Best regards, Marcel
Updated example to use a mouseeventhandler
Could you maybe explain what you are trying to do? Why would you want to adjust the visu without a user input to a previous visualization? Best regards, Marcel