Post by t-probst on Strong Private Key Protection for Encryption Certificates
CODESYS Forge
talk
(Post)
Hello, We are trying to implement an automated method of adding of a certificate and private key to the Windows certificate store for encrypting CODESYS projects. We want to do this so that users do not have to deal with details of certificates at all and to prevent user error. We are keen on enforcing strong private key protection since it ensures that a password is required for the certificate to be used to decrypt a CODESYS project. When we add a certificate to the certificate store and enable strong key protection using the Microsoft Management Console Certificates snap-in, it works as expected. However, through this method the user may mistakenly not enable strong private key protection. For the certificates we create programmatically (using Microsoft’s Cryptography Next Generation API in .Net 7) bag attributes are added to the certificate and key by the API. These bag attributes are as follows: Bag Attributes localKeyID: 01 00 00 00 subject=C = xx, ST = xxx, O = xxx, OU = xxx, CN = xxx issuer=C = xx, ST = xxx, L = xxx, O = xxx, OU = xxx, CN = xxx -----BEGIN CERTIFICATE----- [encoded certificate] -----END CERTIFICATE----- After using this certificate with bag attributes to encrypt a CODESYS project, it can’t be decrypted, showing this error: "The specified project could not be loaded. Possible reasons might be: - The project file is corrupted or invalid - The project has been saved with a newer version of the programming system. If this is the case, you can open the project in the corresponding version. Choose "Save as..." with the appropriate storage version, and retry again. - You may not have the necessary permissions to lad the project" We know that the bag attributes are causing the issue because if we manually edit the certificate file to remove them before using the certificate to encrypt a project, the project can be decrypted as expected. However, we are unable to automatically enforce strong key protection using this method. Here is a link to a StackOverFlow question that we have posted recently for this issue: https://stackoverflow.com/questions/76922355/enforcing-strong-private-key-protection-for-x509certificate2-objects-in-net-mod Any help is greatly appreciated.
Last updated: 2023-08-22
Post by josul on Web Client HTTPS Communication Issue
CODESYS Forge
talk
(Post)
Web Client Library Documentation Company: 3S - Smart Software Solutions GmbH Title: Web Client Version: 1.0.1.7 Categories: Application|Utils Namespace: WEB_CLIENT Author: 3S - Smart Software Solutions GmbH Placeholder: WebClient I encountered an issue using this library above. Note it is now part of Codesys IIoT Libraries SL in the form of Web Client SL, but I am not using this version. I was sending Content-Type: application/json, HTTP POST using a HTTPS URL. No issue observed initially, successful operation. At some point operation stopped and the codesyscontrol.log file started to accumulate errors: ERROR: TlsCreateContext2: Failed to save context. An application reset failed to resume operation and I was unable observe any TCP connection forming to a destination port 443. The error appeared as a TCP_INIT error. I can find no details as to what may have happened or why a reset of the PLC application did not resume operation. Testing with a curl operation proved to be successful, so I am confident there was no fundamental networking issue preventing a TCP connection forming. The solution was to reboot the hardware itself, but this is not satisfactory in the long term. Is there any description of the TLS error I received? Is there any suggestion here that there might be an issue with certificates? Any advice or information is appreciated.
Last updated: 2025-06-05
Post by ragarcia on Error while using UpdateConfiguredIPSettings to change IP address
CODESYS Forge
talk
(Post)
Hello everyone, I am trying to change dynamically by code the IP address of a Weidmuller controller. So I am basically using IoDrvEthernet library to use UpdateConfiguredIPSettings function but I am getting constantly the 'INVALID_STATE' error. Even though I am following a procedure it should work: * First I added on the config file of codesys the following: [SysSocket] Adapter.0.Name="eth0" Adapter.0.EnableSetIpAndMask=1 Adapter.1.Name="eth1" Adapter.1.EnableSetIpAndMask=1 * Secondly I am first disabling the ethernet interface by using Ethernet_0.Enable = FALSE and then executing DED.Reconfigure. After that, I run the Ethernet_1.updateConfiguredIPSettings Code: Ethernet_1.Enable:= EnableDisable; Reconfigure(xExecute:= TRUE, itfNode:= Ethernet_1, xError=> ErrorReconfigure, eError=> ErrorCodeReconfigure); IF Reconfigure.xDone THEN ErrorCodeIP:= Ethernet_1.UpdateConfiguredIPSettings(IPAddress:= newIP, SubnetMask:= newMask, Gateway:= newGW); END_IF IF Reconfigure.xDone OR Reconfigure.xError THEN Reconfigure(xExecute:= FALSE); END_IF Ethernet_1.Enable:= TRUE; Reconfigure(xExecute:= TRUE, itfNode:= Ethernet_1); IF Reconfigure.xDone OR Reconfigure.xError THEN Reconfigure(xExecute:= FALSE); END_IF Can someone help me? Thank you. All I am trying is to find a way to change dynamically with code, the IP addresses of my controller (2 ethernet ports).
Last updated: 2023-12-11
Post by janderson on OPC UA Server limitations, large array crashes runtime
CODESYS Forge
talk
(Post)
when using an array of structs, the runtime crashes. but when using an array of LREALS, it'll do 100k at least
Last updated: 2023-08-23
Post by tvm on Web Client (HMI) Disconnects from Webvisu (Weidmuller u-OS)
CODESYS Forge
talk
(Post)
We have seen this kind of thing before. I have two questions: 1. What kind of HMI are you using? 2. When this happens, are you able to connect using https, on port 8089?
Last updated: 2023-09-06
Post by wehling-h on Troubles with using CAN API
CODESYS Forge
talk
(Post)
Hi together, I'm using a 11bit driver system which seems to work well so far. May someone here knows if i have to configure a singleID for each message i like to receive and evaluate?
Last updated: 2023-09-11
Upgrading CODESYS runtime from v4.7 to v4.9 using a bash script leads to lose the licences stored in the soft container
CODESYS Forge
talk
(Thread)
Upgrading CODESYS runtime from v4.7 to v4.9 using a bash script leads to lose the licences stored in the soft container
Last updated: 2023-09-19
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
CODESYS Forge
talk
(Thread)
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
Last updated: 2022-09-08
Setting up the "Visual Studio Code" debugging environment (using .NET debugging) for use with the ScriptEngine API in Python.
CODESYS Forge
talk
(Thread)
Setting up the "Visual Studio Code" debugging environment (using .NET debugging) for use with the ScriptEngine API in Python.
Last updated: 2023-10-02
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
CODESYS Forge
talk
(Thread)
When using the Element Collections library, is there a proper way to remove a dynamically created collection from memory?
Last updated: 2023-10-31
Post by pistola on Checking or changing objects dimensions using code.
CODESYS Forge
talk
(Post)
That works, thanks, I was trying to get a variable into the Position>Height and was struggling, then I was using absolute movement, never though to try relative movement.
Last updated: 2024-11-19
Post by thn-power on Opaque NodeId in the OPC UA server
CODESYS Forge
talk
(Post)
I'm wondering the same. Using the old symbol configurator opc ua server gave the node id using a string. Must be a way to specify this at build time?
Last updated: 2024-12-16
Post by caliberbishop on Having trouble using the Web Client SL library
CODESYS Forge
talk
(Post)
Edited: Thank you, after further inspection the library is unavailable in the example project for some reason, but using the correct Namespace in my project solved the problem.
Last updated: 2025-10-07
Is there a way to Connect Visualization to a web that the buttons can be used using a mobile phone?
CODESYS Forge
talk
(Thread)
Is there a way to Connect Visualization to a web that the buttons can be used using a mobile phone?
Last updated: 2021-04-22
getting compile errors C0035 and C046 for instances of FB when using redundancy, without redundancy => no errors
CODESYS Forge
talk
(Thread)
getting compile errors C0035 and C046 for instances of FB when using redundancy, without redundancy => no errors
Last updated: 2022-10-19
I am using wago 750-871 plc but in codesys software i can't find the target module if any have TSP for this module
CODESYS Forge
talk
(Thread)
I am using wago 750-871 plc but in codesys software i can't find the target module if any have TSP for this module
Last updated: 2022-10-20
Controlling PM564-eth PLC using Weintek HMI with MODBUS TCP/I. I keep getting communication errors.
CODESYS Forge
talk
(Thread)
Controlling PM564-eth PLC using Weintek HMI with MODBUS TCP/I. I keep getting communication errors.
Last updated: 2021-02-15
Post by dominggus on Recipe Manager - RecipeManCommands, load & write wrong values, Bug?
CODESYS Forge
talk
(Post)
I've workaround it by not using an array but 30 instances of the struct and putting these in the recipe, and then using converter functions to save and load
Last updated: 2024-03-02
Post by thewizard8 on Raspberry PI4 Serial Port
CODESYS Forge
talk
(Post)
Hi thanks once again, Yes it supports because using python scripting I'm able to send data from the rasberry raspberry and receive it on my pc and vice versa (Image attached). But when using the CoDeSyS I just got red flags. Any light on this problem?
Last updated: 2024-03-19
Post by guilhermeleao on How to communicate 2 pcs that are using CODESYS
CODESYS Forge
talk
(Post)
I need to connect 2 computers on the same network that are running codesys, so that they can receive and change variable values from each other. This connection must preferably be made using Modbus.
Last updated: 2024-05-06
Post by jonathan1321351 on IO-Link write parameters Ethernet/IP
CODESYS Forge
talk
(Post)
I want to read and write parameters of an IO-Link device using acyclic messages. I have a Cube67+ in Ethernet/IP, connected to an IO-Link master. In the datasheet, I can find the parameters required for the message (Service, Class, Instance, etc.). I see the function block "Set_attribute_single" in the "EthernetIP Services" library, but I'm not sure how to correctly send the index and sub-index for the IO-Link device. The class in the datasheet is 0x80 for the IO-Link Parameter Object, but it’s not present in the CPIClass enum. Is there another function block more suitable for configuring IO-Link devices? (similar to "iol_call" in PROFINET or what’s used in EtherCAT).
Last updated: 2024-09-02
Post by damian177 on Problem with downloading OPC UA tags by Data Source Manager
CODESYS Forge
talk
(Post)
Hi, In Codesys V3.5 SP20, using Data Source Manager I am trying to connect to the OPC UA server and receive tags from it. The connection is ok, but the Codesys have a problem with downloading Tags group. The window (downloadingTags.jpg in attachement) never stop. After waiting for a while, I disconnect the connection and only the Server group remains downloaded, with OPC UA server diagnostic data (and this is read in Codesys). Of course, I tried connected via another OPC UA client : UaExpert , and everything works as it should, all tags are downloaded (Uaexpert.jpg screen). Has anyone on the forum encountered the OPC UA client configuration in Codesys? Is it possible to manually request the appropriate tags from the OPC server for reading in Codesys?
Last updated: 2024-09-03
Post by struccc on Multiple applications on one device sharing variables.
CODESYS Forge
talk
(Post)
I don't exactly recall where (I think some release notes), but I read the information that this multiple application / sub application feature is to be discontinued. Please, correct me, if I'm not right about this I am a bit sad about that - I was using that feature with more or less success. However I understand the reason behind the change: it introduces huge complexity, especially when dealing with multicore and safety support... AS I understand, it's to be replaced with the new virtual plc architecture, and standard ways for synchronizing / sharing data... So, for now the "Add application" context menu item was removed, but behind the scene it is still supported... Hint: if you still want to experiment with it, might try copy-paste things within the PLCLogic tree...
Last updated: 2025-02-28
Post by struccc on Problem Reading Registers via Modbus from non Codesys device
CODESYS Forge
talk
(Post)
Hi, Might be a good idea first to try out the connection and the device with some handy software, like Modbus Poll. There you can see better, what's really going on... - Is it really connected? - What error code does it return? - Can it read from the register address? - Maybe try Input registers and Holding Registers - can make a difference - Sometimes register addresses are messed up: shifted +-1 (mixing of 2 standards) - Sometimes register addresses start with offset 30000, 40000 ... - Are you using the right protocol? - Is it RTU or TCP? Maybe ASCII? - Can even have a look at the data packets, etc... All this is easier to figure out first with some modbus utility... and then to set it up in CODESYS should not be an issue. P.
Last updated: 2025-03-09
Post by milan-svarny on ModbusFB.ClientSerial Problem with Reply Timeout
CODESYS Forge
talk
(Post)
Hi All, I have problem with ModbusFB.ClientSerial. I'm using 4 different port for Modbus communication. After some time of running program ClientSerial stops to receive data to reply buffer and all request finish with Reply Timeout. The Device sent reply correctly,that it is visible on oscilloscope and it is possible to see that data( reply )are in the device. If the usbtty device is read over external app. then it is possible to see all data which were not taken by ModbusFB.ClientSerial. The stack does not overflow or something , program runs correctly forward and no exceptions or something. The main problem it is that when the error occur than it is not possible to reset port or something or maybe i'm doing it wrong way. please help me with this issue. Thank you for any help in advice Milan
Last updated: 2025-05-23
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.