You can adjust this function in any way you need to. E.g. you can add a variable iComboboxIndex as VAR_INPUT in your function. Then use a CASE and return a different value depending on your selected index. For a more detailed version you should include a project and explain your issue Best regards, Marcel
Hey, you can always use CODESYS 3.5 SP16 and download your application to a PLC with version 3.5.9.60. Depending on your PLC, you may not be able to update the visu profile or compiler version, but you should always be able to use a later IDE to make a download to a older PLC. Never the less I saved the project in a way, so you can open it with CODESYS 3.5 SP9 Best regards, Marcel
Hey, you can use a function in your text variable. See attached project. Best regards, Marcel
OS of the plc. Pls check if there is a file located at /etc/CODESYSControl.cfg Otherwise ask the OEM of your plc.
What os are you using? On Linux is most often located at /etc/CODESYSControl.cfg
Well you did only mention the ControlWin. How am I supposed to know you mean a hardware plc? Of course you need to change the configuration on the hardware plc
Hello, this error code indicates that the file transfer is not enabled. As described before you need to enable this service. Best regards, Marcel
Hey, we got a few things to clean up. g_SelectionManager is part if the GVL Visu_Globals in VisuElemBase. The symbols of VisuElemBase are published in VisuElems, therefore you can access it directly with VisuElems.g_SelectionManager. The g_SelectionManager is declared as ISelectionManager. This interface is part of VisuElemBase and allows some access to the selection including the color, which the selection rectangle should use. VisuElems.g_SelectionManager.SelectionColors expects a VisuStructColors,...
Hey, try the property VisuElems.g_SelectionManager.SelectionColors Best regards, Marcel
There is a event listener do get login/logouts and wrong logins. The interface is IUserMgmtEventHandler and can be found in VisuElemBase (VisuElems.IUserMgmtEventHandler) Set the listener with VisuElems.g_VisuEventManager.SetUserMgmtEventHandler() Attached you can find a small example. Best regards, Marcel
No, I do not mean the file located in C:\Program Files\CODESYS 3.5.16.0\GatewayPLC\CODESYSControl.cfg This file however contains something like this: [SysFile] Windows.WorkingDirectory=C:\ProgramData\CODESYS\CODESYSControlWinV3\ABCD\ You then have to open the following file: C:\ProgramData\CODESYS\CODESYSControlWinV3\ABCD\CODESYSControl.cfg In there you have to add the lines described at the start. Best regards, Marcel
Hey, Yes both lines. The file transfer works with all webvisu clients, you just need to enable the service in the runtime. The user is able to pick a file from his system and upload it to the plc or you can download a file from the plc to the user (the file open dialog will be used for this to show the files on the plc). Best regards, Marcel
Hey, check out the file transfer example https://store.codesys.com/visu-file-transfer-example.html. I think this is what you need for your use case. Watch out, you need to enable this via CODESYSControl.cfg [CmpWebServerHandlerV3] AllowFileTransferServices=1 Best regards, Marcel
Hey, you cannot create a condition and disable the VISU_TASK until a user is logged in otherwise no user will be able to login (since the visu login is done in the VISU_TASK). If you don't want to show variables to non logged in users, I would recommend you use access properties provided at each element (https://help.codesys.com/webapp/_visu_dlg_access_rights;product=core_visualization;version=3.5.16.0) Best regards, Marcel
Idk why it was hidden. But you can still implement it
Hey, it is VisuElems.VisuElemBase.IDialogOpenedListener Best regards, Marcel
Hey, Could you please describe what you are trying to achieve? VisuElems.g_SelectionManager.EnabledSelectionType := VisuElems.VisuElemBase.Visu_Selection_Constants.VISU_SELECTION_ENABLED_NONE; should do the trick. Best regards, Marcel
You need to replace your file on the $PlcLogic$/$visu$ folder and not the file referenced in your project.
Hello @ludecus, have you tried to use OnMouseDown and onMouseUp and toggle a bool, which then causes your method to be called multiple cycles (e.g. check in PLC_PRG if the bool is try and then call the method). Datasources only support values. Best regards, Marcel
Hey, you somehow managed to get into the POU view, to get back on the devices view click dispositivos Best regards, Marcel
Hey, you somehow managed to get into the POU view, to get back on the devices view click dispositivos
As far as I understand it the other thread is more focused on a watchdog feature for buttons. I think it differs from your request to detect if a tab is invisible. Best regards, Marcel
document.hasFocus() referes to dom nodes having a tab focus. https://developer.mozilla.org/en-US/docs/Web/API/Document/hasFocus It does not represent the state if a website is in the foreground or not minimized.
e.g?
Hello @jackcaissey, do you know if there are any javascript APIS available which allow the detection? If the browser doesn't tell the website it lost the focus, not much the webvisu can do? @dgirard are you having the same use case? Best regards Marcel
Best way is to use the frame concept and create the required look this way
Hello @nicky, I think you want to use the XY-Chart for this. Check out this example for a bit more details. https://store.codesys.com/visu-element-xy-chart-example.html?___SID=U Best regards, Marcel
Hey, there are a few ways to detect if a dialog was opened. You can e.g. add an additional input action on the same input type and call some ST Code. Best regards, Marcel
Hello @jackcaissey, you should be able to logout a user with this internal function. Could you provide a example project? Best regards, Marcel
Hello @sedoerr, what do you mean by DialogBox? Do you mean a dialog? Best regards, Marcel
Für Stile mit Style = STYLE9_FLAT gibt es folgende Einstellmöglichkeiten: Element-Control-BrightColor Element-Slider-BrightColor Element-Control-DarkColor Element-Control-HighlightColor Element-Slider-ScaleColor LG Marcel
Could you maybe update to CompilerVersion 3.5.13.12 or higher? Maybe this solves the issue! Best regards, Marcel
Please check the device log.
Hallo @matze85, könntest du mir deinen aktuellen Style bitte schicken? Danke! LG Marcel
Hello @AlexRoss, could you please provide the full error message? Error Code 30402 normally comes with additional information. Best regards, Marcel
Bitte melde deinen Fehler über den Store -> Meine Anfrage! LG Marcel
@dkugler mentioned something here https://forge.codesys.com/forge/talk/Visualization/thread/b12815b7cd/#a8ae
Hello @galexis, check out the attached example. Best regards, Marcel
Hello @galexis, check out the attached example. Best regards, Marcel
Hello @galexis, check out the attached example. Best regards, Marcel
Hello @galexis, check out the attached example. Best regards, Marcel
Hello @aliazzz, no he mentioned the "files of datalogging" Best regards, Marcel
Check out this example on how to use the text editor https://store.codesys.com/text-editor-example.html Best regards, Marcel
Idee: Console Log des referenzierten IFrames abfangen, parsen und falls da die Stop Message kommt umschalten mit Timeout
If you are running in the demo mode, a watermark in the top right corner should indicate "Demo mode"
Hello @kislov, PROGRAM PLC_PRG VAR itfTextListInfo : TLU.ITextListInfo; udiNum : UDINT; iterator : COL.IIterator; itfElem : COL.IElement; itfStringElem : COL.IStringElement; wst : STRING; sTextListName, stText : STRING; xRead : BOOL; END_VAR IF xRead THEN xRead := FALSE; itfTextListInfo := TLU.GetTextListInfo(stTextListName:=sTextListName); IF itfTextListInfo <> 0 THEN udiNum := itfTextListInfo.NumberOfEntries; iterator := itfTextListInfo.GetIdIterator(); IF iterator <> 0 THEN WHILE iterator.HasNext()...
Hello, Files can be displayed using the text editor. Best regards, Marcel
Hello, VAR sText : STRING := 'a'; uiValue : UDINT; END_VAR uiValue := sText[0]; Best regards, Marcel
Hello @Jefferson, I would recommend you ask them. It could be that there some libs not available on this hardware used to display a browser. Sorry for the long hunt :( Best regards, Marcel
Hallo Artur, schau mal hier https://raspberry-sps.de/i2c-package-in-neuer-codesys-version/ LG Marcel
What hardware and version are you using? Best regards, Marcel
Have you tried https://www.codesys.com/ ? Could yo provide the full strings used? Best regards, Marcel
Google prevents people from including them in an iframe (see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options)
Hello, I would recommend you enable the visu user management and limit the inputs to users who are logged in. Best regards, Marcel
Hallo Chris, was genau meinst du denn mit Webvisu verfügbar? Willst du überprüfen, ob eine Webvisu/Webserver auf der Steuerung verfügbar ist oder willst du überprüfen, ob die Applikation aktuell läuft und eine Visualisierung dargestellt werden kann? LG Marcel
Hello @jeffersonhui, the red crosses indicate that the image was not loaded. Try to do a complete download of the application. Best regards, Marcel
Hello @dmitryy, yes, that should work! Best regards, Marcel
Hello @dmitryy, I found an even better way: Open your webvisu.cfg.json and add the following entry: ChangeWindowTitle:false E.g. { "UpdateRate": 200, "PlcAddress": "0001", "UseLocalHost": true, "Application": "Application", "StartVisu": "Visualization", "BestFit": false, "LogLevel": "INFO", "CommBufferSize": 50000, "HasKeyboard": false, "TouchHandlingActive": false, "ScaleTypeIsotropic": false, "BestFitForDialogs": false, "ChangeWindowTitle": false } Edit your webvisu.htm to include a <title></title>...
Hello @dmitryy, I found an even better way: Open your webvisu.cfg.json and add the following entry: ChangeWindowTitle:false E.g. { "UpdateRate": 200, "PlcAddress": "0001", "UseLocalHost": true, "Application": "Application", "StartVisu": "Visualization", "BestFit": false, "LogLevel": "INFO", "CommBufferSize": 50000, "HasKeyboard": false, "TouchHandlingActive": false, "ScaleTypeIsotropic": false, "BestFitForDialogs": false, "ChangeWindowTitle": false } Edit your webvisu.htm to include a <title></title>...
Hello @dmitryy, I found an even better way: Open your webvisu.cfg.json and add the following entry: ChangeWindowTitle:false { "UpdateRate": 200, "PlcAddress": "0001", "UseLocalHost": true, "Application": "Application", "StartVisu": "Visualization", "BestFit": false, "LogLevel": "INFO", "CommBufferSize": 50000, "HasKeyboard": false, "TouchHandlingActive": false, "ScaleTypeIsotropic": false, "BestFitForDialogs": false, "ChangeWindowTitle": false } Edit your webvisu.htm to include a <title></title>...
Hello @dmitryy, you can achieve this the following way: Copy your webvisu.htm and rename it to title.htm Copy your webvisu.cfg.json and rename it to title.cfg.json (You will have to do this every time you change something in the webvisualization object below the visualization manager or in the visualization manager itself). Then add an <title></title> tag to your title.htm in the . In the of your title.htm add the following code (based in https://stackoverflow.com/a/29540461) <script> // select the...
Hello @electrojoe, check out the example here https://store.codesys.com/visu-file-transfer-example.html#Support (left side of the visualisation) Don't forget to enable file transfer in the webserver with the following configuration: [CmpWebServerHandlerV3] AllowFileTransferServices=1 Best regards, Marcel
Hey, What codesys version are you using? Could you attach the project please? Thx a lot. Best regards, Marcel
Hello @manoj, the globaltextlist can be found under POU not devices. Best regards, Marcel
@eschwellinger @i-campbell do you guys have a PI available? Could you take a look at this? Thx
The feature "reload image when file changes" only applies to the IDE, but not to the PLC. Best regards, Marcel
@alrcastro why you want to do this? Why do you need a fully dynamic image and want to handle the updating of the file etc? The reason why this is not working is you expect is that the imagepool is more static than you think to improve performance. Every image referenced in an imagepool and downloaded to the PLC will be added into a file e.g. application.imagepoolcollection.csv . The visu will only send a unique identifier for the image to the visu client (webvisu or targetvisu) which then will be...
Hallo @jf89, kein Grund gleich zwei Topics zu erstellen ;) Siehe englisches Topic LG
Just do a download. Images will be automatically transferred (if e.g. the image is used as static bitmap id). Best regards, Marcel
Hello @jf89, should it not be PROG_RAD_STD.SS_PROG_RAD1.FB_CIRC_RAD_[indexJF] Try to use the intelli sence when adding the variable Best regards, Marcel
Hello @celliott, I was not able to reproduce this issue with a normal controlwin. Any specific settings you have in your CODESYSControl.cfg? Best regards, Marcel
Hello nikhin24, which visu profile version are you using? Is this the target visualization or the web visualization? Best regards, Marcel
Hello @jtebokkel, sorry for being late. https://help.codesys.com/webapp/_cds_edit_data_source_variables;product=codesys should help you set up remote data Best regards, Marcel
Hello @kislov, I think you are running into the changes described e.g. here https://developers.google.com/web/updates/2017/09/autoplay-policy-changes There is a distinct difference between the IDE Visualization and the webvisu. In the IDE a browser will be started to replace the browser element, in the webvisu a iframe will be spawned to reference the website. I was not able to reproduce these freezes. Best regards, Marcel
Hello @jtebokkel, what do you mean by HMI demo license? If have no license at all, you get a 30 minutes test duration with no variable limit. Best regards, Marcel
Hello everyone, @Comingback4u described the correct way to fix this issue. If you are using the bitmap id variable, you can use images which are in a totally different image pool than your static image is. Therefore you have to download all images which could be used and therefore no optimizations are possible. If you know which images you need, move them into a separate imagepool and uncheck the box "Download only used image pools". Best regards, Marcel
Hello @sternberg, how about having multiple visualizations referenced in the frame which support the different expected process lengths? Best regards, Marcel
Hello @sternberg, No, the size of the visualization will be determined during download. Could you please describe your use case a bit for me? What are you trying to do? Best regards, Marcel
Adding the runtime installation folder to the PATH would not help you with multiple installations. Then always the first installed runtime would win and for everyone it would not be clear which runtime is currently used.
@alrcastro If that would be a product feature, someone would have to solve the problem of multiple runtimes being installed. And what should happen if the runtime is running with different configuration files resulting in different ProgramData paths. Currently the feature request sounds really specific for your use case.
Hello @maartengoris, clicking the button writes the current values into the file on the device. The editor view will not be updated with this command. Best regards, Marcel
Hello, it is always a good idea to only do things if you need to do them ;) Best regards, Marcel
Hello @maartengoris, could you please provide an example project? Thx a lot. Best regards, Marcel
Hello, you should use functions provided in StringUtils to compare strings. See e.g. https://help.codesys.com/webapp/j_Vv9rKJunN0hYHRxSh4DwVHUXY%2FStrCmpA;product=StringUtils;version=3.5.15.0 Best regards, Marcel
thought the same, just wanna make sure we are all on the same page ;)
You cannot put variables into X/Y/Width/Height
@i-campbell you got any example for this?
Hello @jtebokkel, well ok then we are talking about an old visu profile version. Not sure if anything was fixed between 9 SPs in this area out of my head. Try to get in contact with the schneider support if you know how to reproduce this issue. Best regards, Marcel
Hello @appling, the difference between the options in a library and a application is "caused" by the visualization style. The predefined text sizes are defined in the style you are using. Since the visu in the library does not have a visu manager (and therefore a default style) you have to configure the fallback style in the option. Check out this help article for more information https://help.codesys.com/webapp/visudlgoptionsstyles;product=corevisualization (Section: "Fallback if no visualization...
Hey, you sould be able to write the plc log to file with the following settings. [CmpLog] Logger.0.Name=PlcLog Logger.0.Filter=0xFFFFFFFF Logger.0.Enable=1 Logger.0.Backend.0.ClassId=0x00000104 ;writes logger messages in a file Not sure if you can open this file with the texteditor (due to security concerns when accessing files outside of the $visu$ folder) but you could try. Best regards, Marcel
Hello @jtebokkel, what CODESYS Version did you use to download the visualization? What visu profile version did you use? Events are stored temporarily in a buffer in the runtime when they are received from the client. The Visu-Task will pull on or more (depending on e.g. the event type) out of the buffer and handle the event. The queue is big enough for most use cases. An exception e.g. in the runtime or visualization may cause this error. Or a lot of quick clicking (maybe multiple fingers without...
Using these properties you can also change the width/height of the rectangle (not only the top left position) Best regards, Marcel
Hello @manoj, which visu profile version are you using? In the latest version we save both the utc time and the offset between local and utf time to correctly display the timestamp. Changing the local time to something different does therefore not have any effect on already saved alarms. Best regards, Marcel
You could use the text editor to display the plc-log file on the plc. Best regards, Marcel
Hello @audi0615, check out this help site: https://help.codesys.com/webapp/_visu_cmd_trend_insert_elements_for_controlling;product=core_visualization;version=3.5.15.0 With this command you can add additioanl elements (date range picker and time range picker) to set the date and time in the trend via visualization. Best regards, Marcel
Hello Tatsuya, I added an ticket in our issue tracker for your problem! Best regards, Marcel
Hallo, im Bibliotheksverwalter gibt es den Button "Download fehlender Bibliotheken". Damit kannst du die fehlenden Libs nachladen. LG Marcel
Hallo "Dumpfbacke" (ist das schon eine Beleidigung, wenn ja sorry :-P) ja, das geht recht einfach. Erstell einfach eine html Seite auf deiner Steuerung (z.b. wetterwidget.html) Dateipfad $PlcLogic$/$visu$ (dort liegt auch z.b. die webvisu.htm) <html> <body> Inhalt von "Ich möchte das Widget als Script" </body> </html> Also z.B.: <html> <body> <div id="cont_e52c7b15f87df95aeef9346501ebc456"><script type="text/javascript" async src="https://www.daswetter.com/wid_loader/e52c7b15f87df95aeef9346501ebc456"></script></div>...
Hello, this can be achieved in a much easier way. You can start the webserver without having a visualization (or a webvisu below the visu manager). Therefore you have to adjust the configuration (CODESYSControl.cfg). Check out the section CmpWebServer. [CmpWebServer] ;The handling of startup/shutdown of the webserver: ;0->automatically start, shutdown only on shutdown of the runtime;1->automatically start, could be shutdown on demand ;2(default)->start/shutdown on demand;3->start on demand, shutdown...
Hallo Björn, könntest du bitte ein Beispielprojekt anhängen? Danke! LG Marcel