Codesys V3 Encrypted Communication

Codesys V3 Encrypted Communication
none 0.0 0
  • HMI Model: -
  • EasyBuilder Pro Version: V6.10.01.510 Build 2025.10.22

Hi guys,

do you support the encrypted communication with the Codesys V3 protocoll?

In the settings I can just find username and password but nothing about encryption.

Also loading the tags does not work.

Hi @TheCodeCaptain ,

The CODESYS V3 Ethernet driver does not support encryption.

Regarding the issue with loading tags, I have attached a link to our CODESYS V3 connection guide. Could you please ensure that the settings in your project match the information outlined in the guide?

If you are still encountering errors during the tag import process, please send us screenshots of your setup so we can review it.

Thank you, and please let me know if you have any questions.

Hi @Aaron.S

ctrlX PLC is communicating only encrypted since years.

Which version do you use? Can you please recheck.

I found this information about CODESYS:

Starting with CODESYS Runtime ≥ 3.5 SP14, encryption can be enabled to secure this communication — which is critical because, without it, credentials and process data could be sent in plain text.

How PLCHandler Encryption Works

  • Purpose: Protects authentication credentials and PLC data from interception or tampering.

  • Mechanism: Uses TLS (Transport Layer Security) for the communication channel between the PLCHandler client and the CODESYS runtime.

  • Configuration: Encryption is enforced via the Communication Policy in the runtime settings.

Steps to Enable Encryption for PLCHandler

  1. Update Runtime
    Ensure your CODESYS runtime is 3.5 SP14 or newer.

  2. Enable Encryption in the PLC

    • Open the CODESYS Control device configuration in your project.

    • Navigate to:
      Device → Communication Settings → Communication Policy

    • Set Encryption to Required (or at least Preferred).

    • Deploy the updated configuration to the PLC.

  3. Configure PLCHandler Client for Encryption
    In your C/C++ application using the PLCHandler SDK:

    • Use the encrypted connection flag when calling PLCHandler_Connect().

    • Provide the TLS certificate if the PLC is using a self-signed or custom CA certificate.

  4. Certificate Handling

    • If using a self-signed certificate, the client must trust it (import into OS trust store or specify via TLSCertFile).

    • For production, use a CA-signed certificate.

  5. Test the Connection

    • Try connecting with encryption enabled.

    • If encryption is Required on the PLC, unencrypted connections will be rejected.

Hi @TheCodeCaptain ,

Yes, our CODESYS V3 Ethernet driver does not support encryption. Some newer PLCs require encrypted communication in order to connect. In those cases, we recommend using the OPC UA client driver in the EasyBuilder Pro project and enabling an OPC UA server on the PLC side, if available.

OPC UA Client Connection Guide

Please let me know if you have any further questions.

Hi @Aaron.S

thank you very much for your confirmation.

Do you have any plans to support this feature in the future?

Regards

Hi @TheCodeCaptain,

We have not received confirmation from our development team regarding the addition of encryption at this time. We will make note of this request and be sure to bring it up in future discussions.

Thank you for bringing this to our attention.