The Control RTE is 3.5.18.20, using the symbol configuration for exposure of variables.
Hi there, An "OPC Expert" client software is connecting to a Codesys Control RTE (x64) OPC UA Server. It reads only about 25 variables every 5 minutes. The OPC UA Server seems to shut down on the Codesys runtime. Is there any way to get information about the Codesys OPC UA Server status? Restart it? There is nothing in the PLC Logs after the OPC UA Server has started. It works for a while, then it doesn't. Any ideas? Any way of getting more info out of the Codesys OPC UA Server? -Bjarne
Thanks for this - I have now been looking in to just having an extra (non-RTE) runtime on the same machine, as you suggest. I will probably proceed this way. Even though it still seems very odd to me, that variable exchange to a different runtime is easier than between applications on the same controller. There will be some fun with the licensing, it seems. Does anyone know if it is possible to specify which license container/specific license the runtime is going to use at runtime. Let's say I have...
Hi, I would like to divide a project into multiple applications - as a minimum: one handling visualization and Alarm Manager, one handling I/O and plant control logic. But how to exchange variables between the applications? What have you done to get such a solution? In versions 3.5.19 and earlier, you can have Child applications, where the children can access a GVL in the Parent application. Children apps is no longer possible in 3.5.20 - but you can have 'sibling' apps - Several apps directly under...
I believe it should be available. It may be the case, that your device does not support the alarm configuration. Some smaller PLCs sometimes do not support it. You can try changing to a different device, like a Codesys Control Win, in your project, and see if then allows you to add the alarm configuration.
Hi A SINT is a short (signed) integer. It is already only 1 byte - so you should have no problem casting it to a byte like so: bMyByte := TO_BYTE(sintMyShortInt); If you have a regular INT you want to put in 2 bytes - there are a lot of ways you can do this. A Union is certainly one of them. You could have a union with 2 memebers: An array of 2 bytes as one member, and an integer value as another member. Another way would be to look at MEMCPY to put the value into your CAN-message. .. or create a...
Hi, With the new Runtime Based User Management, is there any way for WebVisu clients to be logged in to a default user automatically - no login prompt? I would like for the default user to be able to perform normal operation of the machine, without logging in to the WebVisu. This is possible with the Legacy User Management. For the Runtime based user management, there seems to be a default user for the TargetVisu - but not for the WebVisu. -Bjarne
Hi, With the new Runtime Based User Management, is there any way for WebVisu clients to be logged in to a default user automatically - no login prompt? I would like for the default user to be able to perform normal operation of the machine, without logging in to the WebVisu. This is possible with the Legacy User Management. -Bjarne
You can use the switch frame variable, but there should be a variable for each active visu user. You can put the switch frame variable in an array, and use CURRENTCLIENTID as index into the array to get what you want. The CURRENTCLIENTID is assigned to new users automagically by the Visu Management.
Thank you, eschwellinger - method 1 worked, and transfer speeds increased a lot. The device already had the CODESYS network driver installed, as it acts as EtherCAT master (on secondary interface). I already tried with/without the CODESYS driver on the primary ethernet interface, with no change. -Bjarne
Hi there Project download to/from a network-connected Panel-PC running Codesys Control RTE Win V3 x64 is very slow (~500kbps)(3.5.18.20, but I have seen same behaviour from fx 3.5.17.30). Network connection for other channels works OK - fx copying a file via windows remote desktop is around 25Mbps via a remote VPN connection. But transferring via Codesys is consistently slow, also on a direct LAN-connected device. I do not see the same issue for other runtime versions (Embedded Linux, vendor specific...
Hi Did you find a solution to this issue? I and a colleague are having the same issue. Not sure exactly when this happened - we have multiple installs of different CDS versions. I tried 3.5.17.30 and opened the FileTransfer.project from forge (https://forge.codesys.com/prj/codesys-example/visu-file-trans/home/Home/) -Bjarne
Hi - I did some reading, and ultimately updated to visualization profile 4.3.0.0, from 4.1.0.0. The release notes for 4.2.0.0 specifically mentions this issue (VIS-950 in the document, 'Change Shown Visualization to Previous requires two clicks') https://de.codesys.com/fileadmin/data/Images/System/Releaseinformation/Patch-Note-CODESYS-Visualization-4200.html This did fix the issue - also regarding the rotation, it seems.
Hi - I did some reading, and ultimately updated to visualization profile 4.3.0.0. The release notes for 4.2.0.0 specifically mentions this issue (VIS-950 in the document, 'Change Shown Visualization to Previous requires two clicks') https://de.codesys.com/fileadmin/data/Images/System/Releaseinformation/Patch-Note-CODESYS-Visualization-4200.html This did fix the issue - also regarding the rotation, it seems.
I am experiencing the exact same behavior as you describe. (CODESESYS Control RTE V3 x64, 3.5.18.20) My 'ugly fix' was to add the action twice to the button, so a button click has two identical actions: Change Shown Visualization to Previous. This is just for info - not a recommendation for others to follow. If you have more layers to your visus, it would lead to a mess. I have another issues also: Rotated images seem to sometimes at random have the rotation applied twice. If for example the image...
No, unfortunately. Time did not allow. Are you trying to update to 4.8.0.0 by now?
Hi OPC UA from codesys (via symbol configuration) works on the PFC200. But it puts a lot of strain on the CPU. So if you have too many variables, updated too frequently, the Codesys Runtime may crash/shut down due to high cpuload.
Hi, I have a PFC200 (750-8214) which has just been upgraded to firmware 19. CODESYS License has previously been registered with no problem. After firmware upgrade I would add the 4.5.0.0 runtime package, tried to restore the license, using the same key as before. I then get 2 errors in the log: CodeMWriteLicenseFile: 'CMLicenseNew.WibuCmRaU' failed CodeMWriteLicenseFile: After CmExecuteRemoteUpdate():CmGetLastErrorCode():233, ulCmFasResultCount:1 The file 'CMLicenseNew.WibuCmRaU' is in fact created,...
Hi I have had the same thing happen - It will be the Runtime shutting down for some reason. In my case it was due to reaching too high cpuload, which causes the runtime to stop. A lot of OPC UA traffic was taxing the CPU too much, so I eventually had to upgrade to a more powerful model. You can take a look at /tmp/codesyscontrol.log (will not survive a reboot) which may give you some hints, or /var/log/ If the cause is the same, high cpuload, you can check this by typing 'plcload' in the PLC Shell,...
Hi I have had the same thing happen - It will be the Runtime shutting down for some reason. In my case it was due to reaching too high cpuload, which causes the runtime to stop. A lot of OPC UA traffic was taxing the CPU too much, so I eventually had to upgrade to a more powerful model. You can take a look at /tmp/codesyscontrol (will not survive a reboot) which may give you some hints, or /var/log/ If the cause is the same, high cpuload, you can check this by typing 'plcload' in the PLC Shell, or...
Hello, Maybe I'm a bit late to the party here, but for future reference for others then... There is the 'disable input' variable property, right below the 'invisible' property. This could most certainly be set from the code, or even evaluating a statement, like fx. checking the previous field not being empty. -Bjarne
Hello, The xExecute bit on the function block instance needs a rising edge to start its asynchronous task. So setting it false, then true, should clear the outputs and restart the execution of you function block instance. Ifm uses the common behaviour model, so you will see the same behaviour for other function blocks. Hope this helps. -Bjarne
Hello, I have a PFC200 controlling a smallish new plant, but the linux load average is very high (over 5 sometimes, which then can lead to a shutdown of the codesyscontrol runtime). I have a separate PLC setup for testing, as the plant is nearly up and running. The test setup is much smaller, but can produce the same/similar problems. It is possible that the PLC is simply overworked, but I have noticed that the load average seems to be random: after a software download, the load average will often...