SCADA Systems Are Becoming Easier to Integrate With Modern Applications
CODESYS Forge
talk
(Thread)
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
Last updated: 2026-08-04
ICertificateVerifier.VerifyCertificate doesn't appear to override an ERR_CERT_HAS_EXPIRED rejection in TCP_Client.Upgrade()
CODESYS Forge
talk
(Thread)
ICertificateVerifier.VerifyCertificate doesn't appear to override an ERR_CERT_HAS_EXPIRED rejection in TCP_Client.Upgrade()
Last updated: 2026-08-06
Deploy Codesys Control SL to a 'secure' device
CODESYS Forge
talk
(Thread)
Deploy Codesys Control SL to a 'secure' device
Last updated: 2026-08-10
How to get SYM File on CodeSys 3.5
CODESYS Forge
talk
(Thread)
How to get SYM File on CodeSys 3.5
Last updated: 2026-01-27
Login Screen to small for 10" screens
CODESYS Forge
talk
(Thread)
Login Screen to small for 10" screens
Last updated: 2026-02-01
EXCEPTION [watchdog] how to find position cause
CODESYS Forge
talk
(Thread)
EXCEPTION [watchdog] how to find position cause
Last updated: 2026-02-09
Power off bit to save last log
CODESYS Forge
talk
(Thread)
Power off bit to save last log
Last updated: 2026-02-17
Unable to deploy "Control for Linux SL 4.18.0.0"
CODESYS Forge
talk
(Thread)
Unable to deploy "Control for Linux SL 4.18.0.0"
Last updated: 2026-02-23
How to use MQTT in CODESYS Control Win V3
CODESYS Forge
talk
(Thread)
How to use MQTT in CODESYS Control Win V3
Last updated: 2026-02-25
How to register own component - CMAddComponent() or CMAddComponent2()
CODESYS Forge
talk
(Thread)
How to register own component - CMAddComponent() or CMAddComponent2()
Last updated: 2026-03-13
Unable to compare projects containing alarm manager 4.5.0.0
CODESYS Forge
talk
(Thread)
Unable to compare projects containing alarm manager 4.5.0.0
Last updated: 2026-03-15
Codeys Installation freezes while attempting to install packages
CODESYS Forge
talk
(Thread)
Codeys Installation freezes while attempting to install packages
Last updated: 2026-03-19
Virtual Api to vieuw what im sending
CODESYS Forge
talk
(Thread)
Virtual Api to vieuw what im sending
Last updated: 2026-04-05
Virtual Api to vieuw what im sending
CODESYS Forge
talk
(Thread)
Virtual Api to vieuw what im sending
Last updated: 2026-04-05
Post by eschwellinger on V3.5 SP22 Patch1
CODESYS Forge
talk
(Post)
I would suggest to send the projectarchive to the CODESYS support.
Last updated: 2026-05-06
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
CODESYS Forge
talk
(Thread)
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
Last updated: 2026-05-28
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
CODESYS Forge
talk
(Thread)
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
Last updated: 2026-05-28
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
CODESYS Forge
talk
(Thread)
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
Last updated: 2026-05-28
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
CODESYS Forge
talk
(Thread)
SCADA Systems Are Becoming Easier to Integrate With Modern Applications
Last updated: 2026-05-28
Post by rshabsh on Using Latch Variable in Alarm as input from text list
CODESYS Forge
talk
(Post)
I am currently utilizing Alarm Manager’s Latch Variable 1 to display additional information related to alarms. However, instead of mapping this latch variable to a fixed PLC variable, I would like to dynamically update its text content based on the selected language in the system. To achieve this, I am considering using a text list that corresponds to different languages rather than directly linking Latch Variable 1 to a PLC variable. This approach would allow the displayed alarm information to be automatically translated according to the active language setting. Could you please confirm if this method is feasible within the Alarm Manager configuration? Additionally, if there are specific steps or best practices to follow when implementing this functionality, I would appreciate any guidance you can provide. Looking forward to your insights.
Last updated: 2025-02-26
Post by jbcregen on Accessing parameters from a structure or function block with the web interface
CODESYS Forge
talk
(Post)
I have a project with hundreds of OPC-UA variables available on the network. A lot of these variables are used actively in various scripts that run in background in the OS (Linux). I'm experimenting with Automation Server and I have a hard time understanding how the web interface populates its parameters list for a given PLC (<plc details="" parameters="" for="" plc="" 'xyz'="">).</plc> In this page, it looks like the only variables available are the ones that are of a "base" type : bool, TIME, String, INT, etc. All the variables that are nested into function blocks or structures are not available in the web interface, even if they are available to any OPC-UA client. Is this a limitation of the Automation Server or is there something that can be done in Codesys?
Last updated: 2025-12-01
Post by mondinmr on Direct Pointers in IOMapping for EtherCAT with IoDrvEthercatLib.ETCSlave_Dia
CODESYS Forge
talk
(Post)
Using SDO, I can read the EtherCAT mappings and offsets from various registers like 0x1c12, 0x1c13, etc. When I obtain registers mapped in the PDOs and various offsets, I could technically access directly to the statusword, controlword, etc., if they are mapped. I have noticed that on IoDrvEthercatLib.ETCSlave_Diag I can find pointers to the input and output buffers. However, although the input buffer can be easily read by referring to what has been obtained from the SDOs, it is not possible to write to the output buffer, as it is overwritten in each cycle by the data from the IOMapping task. Is there a way, knowing an instance of IoDrvEthercatLib.ETCSlave_Diag, to obtain the pointer to the first data in the IOMapping? The offsets are identical to those of the PDOs, but obviously the data is a copy. For me, the cleanest thing would be to access the pointers on IOMapping, for DS402a devices to retrieve the key data and point them to internal references. I need to know this as, having developed our own motion library, I would like to simplify the initial setup by eliminating unnecessary and nonsensical mappings that can lead users to unnecessary errors. In the current version that we have been using for years, we have to map everything manually. I would like to pass only the slave reference to the FB_init constructors and eliminate the mapping.
Last updated: 2024-02-12
Post by pmolke on Datenkonvertierung für ein SPS-AO-Modul
CODESYS Forge
talk
(Post)
Hallo, du solltest dir angewöhnen Präfixe für die Datentypen zu nutzen. Dann ist das auch lesbarer. Aus value wird rValue für ein REAL oder wValue für ein WORD. Daher ist jetzt nicht ersichtlich mit welchen Datentypen du dort arbeitest und was die Bausteine an den EIN- und Ausgängen erwarten. Du kannst aber explizit eine Typkonvertierung durchführen indem du am Ausgang noch einen Baustein "TO_WORD" setzt.
Last updated: 2024-06-21
Post by dandyk on Dynamic Images
CODESYS Forge
talk
(Post)
Hello, I have very similar problem, but it seems that your solution does not work for me. I am using TwinCAT XAE Shell v3.1.4024.55 and TwinCAT Runtime. Sorry for writing here on codesys forge, but since I found the only relevant topic here and since TwinCAT is almost the same with CODESYS in many applications, I chose to write here. I simply need to dynamically update image in visualization based on camera trigger (I am doing a machine vision application). Camera triggers an image, my program processes it (applies thresholding, draws contours etc...) and saves the processed image in the runtime location (the same one you were mentioning). This was done successfully. I need to make it work at runtime, while the program is executing and I need to refresh the image in the visualization each time camera triggers a new image and program processes it. When I create image element in the visualization and define the bitmap ID variable as STRING which contains the image ID defined in the image pool, then it displays the image in the image pool, but does not work at runtime, while the program is executing. I also used the Bitmap Version. I declared it in Global variable list as integer with initial value of 0 and wrote the variable in the bitmap version in the image element in visualization. Each time new image is saved to the runtime location, I wrote a program to increment Bitmap Version by 1. It increments and the image does not update in the visualization, unfortunately. I think that bitmap version is working correctly and deletes the cached image as it is supposed to, but the Image Pool does not update the image ID with the new image... the path to the image is always the same... only the actual image changes with the same file name. Image Pool is not dynamic and cannot refresh the image in the path to the actual one at runtime. How can I refresh the image ID in the image pool at runtime? Bitmap version only deletes cached image and reloads the image from the image ID, but the image ID has the same image, because image pool won't update at runtime. Do you know any solution to this problem?
Last updated: 2024-04-06
Post by brouwyka on JSONByteArrayWriter string result incorrect order
CODESYS Forge
talk
(Post)
Hi @TimvH, As discussed in our email contact, your example does not actually test/reproduce the bug I am describing: Adding to the JSON builder on later cycles works fine. Your example works because you do the following: 1. You finish the first cycle (xFirst) with adding an object to the array with 2 fields; 2. When the next cycle is triggered (xAdd), you immediately start with adding another object to that array. This works fine as the last thing you did before #2 was the addition of the array and an object to it. To reproduce the bug you should be doing the following instead, as I showed with the code I shared with my first post: 1. Create the array - save the index that is returned; 2. Add an item, either a primitive or an object, to the array; 3. Add an item outside the array (anything: a primitive, a new array, a nested object, etc); 4. Add another item to the array using the index you saved at #1. You will now see, as I shared in my initial post, that the second item is placed completely outside the root JSON object. This also happens to anything else you try to add after step #4: everything after this point will be added outside the root JSON object: the JSON is completely broken. Important to note is that this not only happens with arrays, but also with nested JSON objects. Once you add something outside of a nested JSON object, you can no longer add anything to that nested JSON object, as that causes the exact same bug. This also applies to arrays of objects, so if in your test you had tried adding a new key-value pair to the first nested object in your array after you created the second nested object, you would also run into this bug. It seems that the JSONByteArrayWriter (I haven't tested the other writers in the JSON Utilities SL library, so I don't know if they suffer from the same problem) simply does not handle any JSON fields that add brackets (so arrays with "[" & "]" and nested objects with "{" & "}") well, and closes them prematurely instead of checking if any later JSONElements in the JSONData's array belong to any of these bracketed fields. After reviewing the objects & functions of the JSON Utilities SL library, my guess is that either the JSONByteArrayWriter linearly goes through the array of JSONElements in the JSONData and only checks the diParentIndex of each JSONElement in direct ascending order, OR if it does use the JSONElement.GetChildren(); method, that this method is either broken and doesn't give all children correctly to the writer. Neither explains why everything completely breaks, and you cannot even add to the root JSON object anymore, however, so there is probably more than just that going wrong in the writer. To me, after a full week of testing and attempting workarounds, this seems like a bug in the library that needs to be fixed by Codesys, as I cannot see anything wrong in the JSONData constructed by the JSONBuilder - this seems purely a problem in the writer.
Last updated: 2026-06-15
To search for an exact phrase, put it in quotes. Example: "getting started docs"
To exclude a word or phrase, put a dash in front of it. Example: docs -help
To search on specific fields, use these field names instead of a general text search. You can group with AND or OR.