Post by paulg on Converting hex bytes to float
CODESYS Forge
talk
(Post)
I'll be capturing a hex stream over serial into a RasPi and I'd like to convert a group of bytes into a float. I see this is available (https://content.helpme-codesys.com/en/CODESYS%20Development%20System/cdsoperatorrealto.html) but not its inverse (i.e. BYTE_TO_REAL). The packets will be 18 bytes but I'll be selecting 4 byte segments from the middle, swapping byte endianness (i.e. changing 0x51847641 to 0x41768451), and converting to float; I believe they adhere to IEEE 754. Is there a pre-built function for some or all of this, or do I need to follow (https://forge.codesys.com/forge/talk/Engineering/thread/dc5829c7ea/)? Thanks!
Last updated: 2024-08-02
Post by timvh on control loop library IIR filter
CODESYS Forge
talk
(Post)
In the Control Loop Library package are multiple example projects, including one for the filters. Program containing: GVL.filterIIR( xEnable:= GVL.xEnableFilter, lrValue:= GVL.lrYOriginal, lrFilteredValue=> GVL.lrOutputIIR); GVL.filterFIR( xEnable:= GVL.xEnableFilter, lrValue:= GVL.lrYOriginal, lrFilteredValue=> GVL.lrOutputFIR); GVL.filterSOS( xEnable:= GVL.xEnableFilter, lrValue:= GVL.lrYOriginal, lrFilteredValue=> GVL.lrOutputSOS); GVL containing aCoefficientsA_IIR : ARRAY[0.. 4] OF LREAL := [1,-2.3695130071820376,2.31398841441588,-1.0546654058785676,0.18737949236818494]; aCoefficientsB_IIR : ARRAY[0.. 4] OF LREAL := [0.0048243433577162282,0.019297373430864913,0.028946060146297369,0.019297373430864913,0.0048243433577162282]; filterIIR : Ctrl.Filter_IIR := (palrCoefficientsA:= ADR(GVL.aCoefficientsA_IIR), udiSizeCoefficientsA:= SIZEOF(GVL.aCoefficientsA_IIR), palrCoefficientsB:= ADR(GVL.aCoefficientsB_IIR), udiSizeCoefficientsB:= SIZEOF(GVL.aCoefficientsB_IIR)); aCoefficientsB_FIR : ARRAY[0.. 5] OF LREAL := [0.01982722552692669,0.1325131219866022,0.34765965248647102,0.34765965248647107,0.13251312198660226,0.019827225526926694]; filterFIR : Ctrl.Filter_FIR := (palrCoefficientsB:= ADR(GVL.aCoefficientsB_FIR), udiSizeCoefficientsB:= SIZEOF(GVL.aCoefficientsB_FIR)); aCoefficientMatrix_SOS : ARRAY[0.. 1] OF Ctrl.FilterCoefficients_SOS := [(b0:= 1, b1:= 2, b2:= 1, a0:= 1, a1:= -1.048599576362609, a2:= 0.2961403575616683), (b0:= 1, b1:= 2, b2:= 1, a0:= 1, a1:= -1.320913430819428, a2:= 0.6327387928852787)]; lrG : LREAL := 0.004824343357716228; filterSOS : Ctrl.Filter_SOS := (paCoefficientMatrix:= ADR(GVL.aCoefficientMatrix_SOS), udiSizeCoefficientMatrix:= SIZEOF(GVL.aCoefficientMatrix_SOS), lrGain:= GVL.lrG); lrX : LREAL; lrYOriginal : LREAL; lrOutputFIR : LREAL; lrOutputIIR : LREAL; lrOutputSOS : LREAL; xEnableFilter : BOOL := TRUE;
Last updated: 2025-08-01
Post by reinier-geers on Web client
CODESYS Forge
talk
(Post)
Hi, ive got the webclient example. So now i want to use it. Ive got an example. but thats some JSON type. As far i know is JSONe som kind of structure. But thats new for me. I think its posible with get. Can someone help me? This is the link witch explains what to do https://reversed.notion.site/Marktprijzen-API-89ce600a88ac4abe8c2ad89d3167a83e i tried this : sURL : STRING(1024) := 'https://graphql.frankenergie.nl/get/ {"query":"query MarketPrices {\n marketPrices(date:\"2022-01-01\") {\n electricityPrices {\n from\n till\n marketPrice\n marketPriceTax\n sourcingMarkupPrice\n energyTaxPrice\n perUnit\n }\n gasPrices {\n from\n till\n marketPrice\n marketPriceTax\n sourcingMarkupPrice\n energyTaxPrice\n perUnit\n }\n }\n}\n"}'; // URL But thats a bad request
Last updated: 2025-10-08
Post by msegon on OPC UA Client failed to connect
CODESYS Forge
talk
(Post)
Hi everyone, I would appreciate your help with a problem I've been working on for a few days but haven't been able to resolve. I'm trying to read data from Tridium Niagara 4.15 OPC UA Server, but I get the error BadCertificateInvalid. As far as I understand, you need to add a CA certificate somewhere to establish a secure connection, but I don't know where. 2025-10-27T09:06:43.247Z, 0x0000008d, 4, 0, 0, * ERROR: OpcUa_Channel_BeginConnect: Cannot create secure channel without certificates! 2025-10-27T09:06:43.247Z, 0x00001090, 4, 0, 0, * ERROR: Datasource: Error Failed (268468242) in state Connecting I tried communicating without encryption, but it doesn't find the point. Has anyone managed to establish encrypted OPC UA communication?
Last updated: 2025-10-28
Post by harryc on Soft Container License issue with ARM64 Linux
CODESYS Forge
talk
(Post)
Hi, We are working to provide our customers with CODESYS operation on our hardware product ( https://elprotech.com/product/el-qe-e-quantum-edge-series/ ). I'm trying to enable a CODESYS license (Soft container) on our product running ARM64 linux. This problem am having looks similar to here: https://forge.codesys.com/forge/talk/Runtime/thread/6d29b6b4de/ and here: https://forge.codesys.com/forge/talk/Runtime/thread/a2d0c63375/; but I am not running docker, and I am not re-installing a license. This is first time install. I have CODESYS Control SL running on my device, as well as CodeMeter. I purchased a license, and installed it to the CODESYS Development system, (Tools >> License Repository) then tried to install to the device (Tools >> License Manager >> o Device >> o Soft container >> Remote [0001] >> OK. This gives me the "License Manager - Overview" dialog, and the message "Licensing info not available. There is no dongle attached to the device." Below shows the running applications, installed packages, and current content of /var/opt/codesys Also attached screenshots of the Development software as I go through the steps to install the license. # # ps | grep -e "code" -e "CodeMeter" 1391 daemon /usr/sbin/CodeMeterLin 1407 root /opt/codesys/bin/codesyscontrol.bin /etc/codesyscontrol/CODESYSControl.cfg 1442 root /opt/codesysedge/bin/codesysedge.bin /etc/codesysedge/Gateway.cfg 29229 root grep -e code -e CodeMeter # dpkg -l Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-=============-============-============================================================================================== ii codemeter-lite 8.20.6539.500 arm64 WIBU CodeMeter minimal runtime ii codesyscontrol 4.14.0.0 arm64 codesyscontrol based on SDK 3.5.20.40 , from Fri Nov 29 08:35:37 CET 2024 [265], Release build ii codesysedge 4.14.0.0 arm64 codesysedge based on SDK 3.5.20.40 , from Fri Nov 29 08:34:19 CET 2024 [265], Release build # ls -la /var/opt/codesys total 208 drwxr-xr-x 6 root root 4096 Nov 7 05:31 . drwxr-xr-x 1 root root 4096 Nov 6 08:33 .. -rw-r--r-- 1 root root 23515 Nov 7 07:26 .Audit.log -rw-r--r-- 1 root root 160 Nov 7 05:31 .GroupDatabase.csv -rw-r--r-- 1 root root 160 Nov 7 04:37 .GroupDatabase.csv_ -rw-r--r-- 1 root root 20736 Nov 29 2024 .SoftContainer_CmRuntime.wbb -rw-r--r-- 1 root root 1982 Nov 29 2024 .UFC_SoftContainer_CmRuntime.WibuCmLif -rw-r--r-- 1 root root 229 Nov 7 04:35 .UserDatabase.csv -rw-r--r-- 1 root root 229 Nov 7 04:35 .UserDatabase.csv_ -rw-r--r-- 1 root root 11807 Nov 7 05:30 .UserMgmtRightsDB.csv drwxr-xr-x 6 root root 4096 Nov 6 08:30 .pki drwxr-xr-x 3 root root 4096 Nov 6 08:30 OPCUAServer drwxr-xr-x 7 root root 4096 Nov 6 08:30 PlcLogic -rw-r--r-- 1 root root 13 Nov 6 08:30 SysFileMap.cfg -rw-r--r-- 1 root root 2640 Nov 29 2024 bacstac.ini drwxr-xr-x 4 root root 4096 Nov 6 08:30 cert -rw-r--r-- 1 root root 94105 Nov 7 07:25 codesyscontrol.log # # uname -a Linux Remote 6.1.22 #5 SMP PREEMPT Tue Nov 18 11:35:46 AEST 2025 aarch64 GNU/Linux #
Last updated: 2025-12-04
Post by edson-bueno on SysProcess Execute Command unable to run commands with special characters
CODESYS Forge
talk
(Post)
Hi, I found the same issue, and I fixed with this steps: 1st go to codesys .cfg file. sudo nano CODESYSControl.cfg Then insert this: [SysProcess] BasePriority=Realtime Command=AllowAll Now we need to grant codesys root rights on Linux. Step 1: Create or edit the systemd override configuration: sudo systemctl edit codesyscontrol In the editor that opens, insert: [Service] User=root Save and exit: Press Ctrl+O to save Press Ctrl+X to exit Step 2: Reload systemd and reboot To apply the override: sudo systemctl daemon-reexec sudo systemctl daemon-reload sudo reboot Step 3: Confirm CODESYS is running as root After reboot, open the terminal and run: ps aux | grep codesyscontrol You should see something like: root 1234 ... /opt/codesys/bin/codesyscontrol.bin ... If instead it shows admin or another user, the override was not applied correctly. Step 4: (Optional) Confirm from within CODESYS In your CODESYS project, insert this test code to run the Linux command whoami: Make sure the lib SysProcessImplementation, SysTypes, and CmpErrors is on the project. VAR sCommand : STRING := '/usr/bin/whoami'; sOutput : STRING(255); refCommand : REFERENCE TO STRING; refOutput : REFERENCE TO STRING; resultCmd : UDINT; END_VAR refCommand REF= sCommand; refOutput REF= sOutput; SysProcessExecuteCommand2( pszCommand := refCommand, pszStdOut := refOutput, udiStdOutLen := SIZEOF(sOutput), pResult := ADR(resultCmd) ); Notes & Warnings This method gives full system access to the CODESYS runtime — do not expose this system to the public network without protection. Do not use sudo in commands inside CODESYS when the runtime is already running as root. @tomas111, in case you want to read the temperatur, use this command: sCommand:STRING:='/usr/bin/vcgencmd measure_temp';
Last updated: 2025-05-20
After un upgrade of "CODESYS Control for Raspberry Pi MC SL" from v4.7 to v4.9 SysFileOpen function stopped working
CODESYS Forge
talk
(Thread)
After un upgrade of "CODESYS Control for Raspberry Pi MC SL" from v4.7 to v4.9 SysFileOpen function stopped working
Last updated: 2023-08-22
Post by eschwellinger on Device User Logon and No device is responding.. Pi4b codesys 3.5 SP19 2 + (64-bit)
CODESYS Forge
talk
(Post)
CODESYS runtime version 4.9.0.0 for your Pi. ssh user should be pi. This is for RasperrPi Os 32 bit. If you are on RasperryPi OS 64Bit use Arm 64bit SL product as Runtime.
Last updated: 2023-09-11
Post by aott33 on Webvisu NO load
CODESYS Forge
talk
(Post)
I put in a support ticket request for this issue since I need this application to be running reliably for my customer's application. Hope to hear back from support soon to troubleshoot this process.
Last updated: 2023-10-09
Post by chris12345 on IO-Link Lizenz
CODESYS Forge
talk
(Post)
Moin, IO-Link läuft nur 30 Minuten im Demo Modus. In meinem Fall, brauch ich zusätzlich zur "CODESYS Control for Raspberry Pi MC SL" diese Lizenz :- https://store.codesys.com/de/codesys-io-link-master-for-el6224-sl.html Gruß Chris
Last updated: 2023-10-11
Post by davidredondo on Send file from codesys to...... ftp, cloud, etc
CODESYS Forge
talk
(Post)
Hi all, I am also looking for a solution to transfer a csv file from ifm HMI-PLC to some cloud and finally to node-red, for example. Do any of you advise me how to do it? Thanks
Last updated: 2023-11-08
Post by pietrobalint on Retain / Persistent Variables in Codesys for Raspberry Pi
CODESYS Forge
talk
(Post)
Hi, I am very new in Codesys so let me apologize for my dumb question. Could you explain how to impement this code mentioned before? Thank you very much!
Last updated: 2024-08-17
Post by hfelek on TargetVisu for Linux Package on runtime 4.12.0.0 install error due to Qt dependencies.
CODESYS Forge
talk
(Post)
I use V3.5.SP20 Patch 2 for development and my device with runtime is armv7l 32-bit arch
Last updated: 2024-08-27
Post by tmo21 on Automation server - trends stop recording - need to manually reconnect
CODESYS Forge
talk
(Post)
Hi Edwin, Thanks for your message. Edge controller Version: 4.4.0.0 based on 3.5.17.30 PLC version: Device Identification Name CODESYS Control for Raspberry Pi MC SL Vendor 3S - Smart Software Solutions GmbH Device type Softmotion3S Firmware version 4.4.0.0
Last updated: 2024-10-23
Post by pernockham on Is there a pragma for init/instantiation of local variables in FB (like in Methods)
CODESYS Forge
talk
(Post)
Never seen VAR_TEMP before, but seems to be what I was looking for! Thank you!!
Last updated: 2024-11-05
Post by winki on OPCUA Server With COntrol For Linux Arm64
CODESYS Forge
talk
(Post)
Hello, I am wondering if it is possible to have OPCua Server with Control for linux ARM64. Indeed I am not able to add symbol configuration.
Last updated: 2025-01-13
Seeking a Code-Based Solution for EtherCAT Slave Dropout or Master Errors in Production (Beyond Software Hot Reset)
CODESYS Forge
talk
(Thread)
Seeking a Code-Based Solution for EtherCAT Slave Dropout or Master Errors in Production (Beyond Software Hot Reset)
Last updated: 2025-07-18
Post by llewv123 on Bullseye and Waveshare 2-CH CAN FD HAT rev2.1 with two slaves
CODESYS Forge
talk
(Post)
Hi David, I am trying to use a Waveshare AD/DA hat for RPi in CodeSYS control for RPi, and have no idea as to where to start. Perhpas you've cracked this above? Any help appreciated!
Last updated: 2025-08-04
How to correctly create a device descriptor (.devdesc.xml) for a custom Linux ARM64 PLC in CODESYS 3.5.21.20?
CODESYS Forge
talk
(Thread)
How to correctly create a device descriptor (.devdesc.xml) for a custom Linux ARM64 PLC in CODESYS 3.5.21.20?
Last updated: 2025-10-07
Why do I get C0434: Function block AbstractFunctionBlock is ABSTRACT and cannot be instantiated for a Reference?
CODESYS Forge
talk
(Thread)
Why do I get C0434: Function block AbstractFunctionBlock is ABSTRACT and cannot be instantiated for a Reference?
Last updated: 2022-08-14
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
[Error when Install Codesys for Beaglebone black ver4.0.0] cannot access '/sys/bus/i2c/devices/0-0050/at24-0/nvmem': No such file or directory
CODESYS Forge
talk
(Thread)
[Error when Install Codesys for Beaglebone black ver4.0.0] cannot access '/sys/bus/i2c/devices/0-0050/at24-0/nvmem': No such file or directory
Last updated: 2021-11-21
Wie nutzt man die GPIOs (und das IOT2000 IO-Modul) mit dem CODESYS Control for IOT2000 SL ? Problem: GPIO Mapping
CODESYS Forge
talk
(Thread)
Wie nutzt man die GPIOs (und das IOT2000 IO-Modul) mit dem CODESYS Control for IOT2000 SL ? Problem: GPIO Mapping
Last updated: 2017-11-22
Post by tvm on multiply gives negatives
CODESYS Forge
talk
(Post)
you might have some slight inaccuracies with using a REAL. See here for an explanation: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019ZSMSA2&l=en-US It might not matter, depends on how accurate you need it. I usually stick with integer types for something like this
Last updated: 2024-01-04
Post by fasica on CODESYS Edge Gateway for Linux on embedded distribution
CODESYS Forge
talk
(Post)
It's possible find or build a CODESYS Edge Gateway for Linux on embedded distribution like Yocto or other version? Thanks, Andrea
Last updated: 2024-04-16
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.