Post by abuckie on Getting raw value as full resolution for ADS1115
CODESYS Forge
talk
(Post)
I just found this and I am getting a value larger than 16 bit, around 81000 something. I am reading a 5 volt value and I am using level shifters for the i2c bus. This is how I have the channel configured: ADS1115.usiAddress := 16#48; ADS1115.ChannelConfigs[0].Active := TRUE; ADS1115.ChannelConfigs[0].PGA := FSR_6144mV; ADS1115.ChannelConfigs[0].InputMux := Single_0; RawAnalogValue := ADS1115.Channels[0].Value; It looks like every value is a multiple of 3. Any idea where to look to fix this? I think i found what I want to change in UpdateChannels Channels[FChannelNo].Value := INT_TO_REAL(WORD_TO_INT(LValue) * GetFullScaleRange(ChannelConfigs[FChannelNo].PGA)) / 2048.0; I try to edit it but I can't, sorry if this is a basic question, I am new to CODESYS.
Last updated: 2025-05-22
Post by elsmart on How to create custom visualisation components (widgets)?
CODESYS Forge
talk
(Post)
Hello I'm currently working on a project where I need to implement visualisation in Codesys on Raspberry Pi via web browser. I'm uing Codesys IDE V. 3.5 and I was able to successfully run my program and visualisation using generic elements provided by Codesys on Raspberry Pi Compute Module 4. However I am dissatisifed by the limiations and looks of generic elements. I would like to create my own components for this specific task (like cyclic buffer with messege boxes or matrix of data structures). How do people develop their own visualisation components in Codesys and how to implement them in a project?
Last updated: 2025-05-27
Post by kareem-pt on Velocity is too low even though correct value is reported
CODESYS Forge
talk
(Post)
Hello, I'm playing around with a single axis. I've setup scaling and set the drive to move 360 degrees in the commissioning tab. The axis does move 360 degrees, but it moves much slower than the 360 degrees per second that I set for the velocity. It seems to be about 3 times slower (taking about 3 seconds instead of 1). This is despite the set and actual velocity both being displayed as 360. The acceleration, deceleration and jerk are all set to very high values. I'm just running this on my PC, using demo mode (no license purchased yet). I've attached a video showing the problem. Does anyone know what the problem could be? Thanks
Last updated: 2025-06-06
Post by levih on FbHTTPs_Get how to get data from a website and use it in codesys
CODESYS Forge
talk
(Post)
You get an array of DWORD into your receive buffer. You need to process this into usable data, before you can fit it into your DUT. I've made it work using FbWrite_ToIEC_ByRule in stead of Fb_JSON_ParseAndModify. I've attached images of the code. You receive the data into ARRAY[0..1023] OF DWORD. Then you use that array as the input for fbWrite_ToIEC_ByRule. To get the output from this you define a rule to fit the expected data structure including nesting levels. The you feed the rule into FbWrite_ToIEC_ByRule and then you can set the output to be of your DUT type.
Last updated: 2025-06-16
Post by manuknecht on Using an Axis of an Axis Group in Torque Conctrol
CODESYS Forge
talk
(Post)
I don't seem to be able to use an axis, which is part of an Axis Group in torque control mode. I call the SMC_SetControllerMode FB to switch from position to torque control mode, followed by the SMC_SetTorque FB to set the desired torque. This works flawlessly for most axes, however if an axis is part of an axis group, switching the controller mode seems to work without any issues, but the desired torque is never set. SMC_SetTorque does not return an error, but fSetTorque of the axis is never changed. Disabling the axis group before does not change anything, but if I use MC_UngroupAllAxes before changing the controller mode, it all works as it should. Is there no way to control a single axis in torque control, if it is part of an axis group?
Last updated: 2025-07-17
Post by jzhvymetal77 on IecVarAccessLibrary.IBaseTreeNode methon
CODESYS Forge
talk
(Post)
I got this code working again. 3S/CoDeSys, your level of obfuscation and lack of documentation turns a simple task into a monumental complex challenge. The issue was that at some point the IecVarAccessLibrary changed and no longer allowed using IBaseTreeNode to retrieve a child or the number of children. The attached code has been updated to use IIecVarAccess6.VarAccBrowseGetChildByIndex instead. The code was also cleaned up but is still a work in progress. The current example only works one layer deep. This means native data types, arrays, and single-layer structures are supported. However, structure arrays and nested structures are not yet supported.
Last updated: 2025-08-25
Post by antonz on CoDeSys v3.5: creating libraries for both 32-bit and 64-bit controllers
CODESYS Forge
talk
(Post)
Follow up question: in the Project Settings, under Library Development, there is an option related to this: Check all Pool Objects -> Pointer size to use Options are: * 32 Bit * 64 Bit * 32 and 64 Bit The descriptions and online help suggest to me this is only relevant for checking and showing any incorrect pointer types as an error in the IDE. E.g. using a DWORD to store a pointer value on a 64-bit controller. It would not control the creation of either 32-bit or 64-bit compiled libraries. Is that correct?
Last updated: 2025-09-01
Post by pernockham on Gateway in China - "Gateway not connected"
CODESYS Forge
talk
(Post)
Trying to communicate (from Europe) with/to a unit located in china, the communication seems blocked/stopped. The edge gateway is installed in a linux environment and was possible to link to my Automation server account using the "Automation service tool". However it seems the unit cannot communicate with the Automation server (a Network scan will give the message "Gateway not connected"). (I have tested the eq. setup with units locally which works.) Anyone having experience situation similar to this and if its possible to make this work? Will a VPN be needed possibly? Other tips?
Last updated: 2025-09-04
Post by gseidel on Using an Axis of an Axis Group in Torque Conctrol
CODESYS Forge
talk
(Post)
Hi manuknecht, the axis group currently always writes the axis set torque values. If no dynamic model has been configured for the axis group, then the set torques are written to 0. The solution for your use case is to call SMC_GroupUpdate [0] before you call SMC_SetTorque on the axes. This way, the axis group will write 0 to the set torques in the call to SMC_GroupUpdate(), and SMC_SetTorque then will write the desired set torque. Best regards, Georg [0] https://content.helpme-codesys.com/en/libs/SM3_Robotics/Current/SM3_Robotics/POUs/AdministrativeConfiguration/Computation/SMC_GroupUpdate.html
Last updated: 2025-09-09
Post by durallymax on Persistent Vars
CODESYS Forge
talk
(Post)
Looking for a better way to manage Persistent Variables. We tend to have local vars in our FBs that need persistence through downloads as the systems are updated/altered on a regular basis. Retain would suffice if we had an easy mechanism to backup and restore like we can with Persistent variables and recipes. Although not having to remember that step with Persistent variables is preferred. We're running into issues with persistent storage capacity (WAGO PFC200) using the Persistent variable list (and adding all instances). It appears there are many ways to handle this, some with recipes, some with files, others with application manager. Is there a solution that exists that is as simple as declaring as Persistent and managing elsewhere? Or do we need to move onto periodically writing CSVs?
Last updated: 2025-09-22
Post by caliberbishop on Having trouble using the Web Client SL library
CODESYS Forge
talk
(Post)
Hello, I'm trying to use the Web Client SL library, I installed it in the IDE (did not purchase a license yet, as this is still a proof of concept so demo mode is good enough) and added it to the library manager. However, when trying to define a FB of the type WebClient I get a "Identifier 'WebClient' not defined" error message, setting the type to Web_Client_SL.WebClient did not work as well. Opening the example project the FBs defined there give the same error message. From the problem in the example project I deduce this is not a syntax problem, so maybe a license problem, but there should be a working demo mode, so what am I missing? IDE v 3.5.21.30 Library v 1.12.0.0 Thanks
Last updated: 2025-10-04
Post by snhatton on OpC UA server on Raspberry Pi 64 SL runtime
CODESYS Forge
talk
(Post)
Good afternoon, After changing the security settings to: CommunicationPolicy: POLICY_BASICSHA256SHA256 CommunicationMode: ALL Activation: Activated UserAuthentication: ENABLED Then generate a new certificate on the device for the OPC-UA server from Security Agent->Device->OPC UA Server. Restart the runtime using tools->Update Raspberry Pi->Stop->Start for the changes to take effect. It may take a minute for the runtime to start. Initiate the connection from the UA server side. You should see a pop-up asking you to trust the certificate. Click on the button 'Trust Server Certificate'. Next, you should see a certificate in the quarantined folder of the security agent in CODESYS. Click and drag this from quarantined to trusted and then try connecting from UA expert to the device. These steps worked for me and my setup and I hope they can help you!
Last updated: 2023-12-11
Post by niloufar on Execution Order of Function Blocks
CODESYS Forge
talk
(Post)
Hi, Our program incorporates various function blocks and programs written in different languages such as St and SFC. They implement numerous actions and methods using different languages from their function blocks. My question is whether the execution order of function blocks is associated with the programming languages used. I understand that cycle time can be configured in the task configuration, but I'm curious if there is a specific sequence order of execution for function blocks written in different languages. For example, all function blocks in (ST) are executed first, followed by the execution of (SFC). Specifically, when the function is written in (ST) and the action is implemented in (SFC). I modified all function blocks in the main PLC program and configured a task configuration for the main program.
Last updated: 2023-12-13
Post by anderson on function block output
CODESYS Forge
talk
(Post)
I'm trying to make a CNC machine, but I'm having problems because the drive I'm using only has the option of communicating through digital inputs. In this case, I should use the CLP's digital outputs to communicate with it, correct? However, in the function blocks it seems that they are already pre-programmed and I didn't find the pulse output options, for example, so that I could associate a digital output from the PLC to connect this to the drive's pulse input. My question is: is it possible to associate the pulse output of the function block with a digital output of the PLC? and how to do this?
Last updated: 2024-01-05
Post by askjong on Update variables when OPC UA Client updates. Error ID: 268468277 BadAttributeIdInvalid
CODESYS Forge
talk
(Post)
Hi, I'm connecting to a OPC UA Server using the Data Soruce Manager OPC UA Client. This works well until the OPC UA Server updates and the OPC UA list doesn't match up when i did last clicked the "Update variables" to add variables. All the variables are still the exists and none are removed from the server, but more are added during the engineering process. The error message i get in CODESYS is "Error in OPC UA call BadAttributeIdInvalid, Error ID: 268468277". The issues is fixed when i press the "Update variables" button and just press ok without adding or removing any variables in the list. Is there a way to either automatically update the browsepath if it fails or on startup, or to trigger it by code?
Last updated: 2024-01-08
Post by idalu on Profinet PN_Controller Issue, Network Adapter
CODESYS Forge
talk
(Post)
i have a problem with Profinet on my project. I'm using Codesys RTE 3.5.19.50. When i download program to controller the ethernet is ok, PN_Controller is ok but every device i'm trying to connect is red with error "DCP no RealStationName". When i'm trying to Scan for Devices on PN_Controller there are no devices found. I have installed Codesys driver CmpEt1000Drv to my network adapter (i'm sure it is right intel pro 1000 model). I have noticed that when i installed codesys driver i'm no longer able to ping this network adapter (i can ping it when intel driver is installed). On my previous projects with runetimes i can ping it even with codesys driver installed. I have also tried to do downgrade of everything to version 3.5.19.20 and it not helped.
Last updated: 2024-01-17
Post by fdmartello on Unable to compare projects containing alarm manager 4.5.0.0
CODESYS Forge
talk
(Post)
Hello. In Codesys version 3.5.19.50 when comparing two projects that have an "Alarm Configuration" obj from the Alarm Manager library vers. 4.5.0.0 the attached error pops up. This originally happened with two projects that I converted from vers. 3.5.17.30 so, thinking it was some conversion issue, I created two clean projects directly in 3.5.19.50 using the Standard Project template and only added the Alarm Configuration objects in them. The result is the same and the only way I found that allowed me to compare them is by deleting the incriminated object in one of the two projects. Has anyone else encountered this issue? Best regards
Last updated: 2024-01-19
Post by yang123 on EtherCAT Can't reconnect to servo drive
CODESYS Forge
talk
(Post)
I am using Ethercat Master 4.6.0.0 and have use the automatic restart slaves feature. But we found of after the Ethercat communication normal and slave drive power-off and power-on the slave can't reconnect sucess. The PLC Log show the drive was al status "6#34 : Invalid DC Timeout Error" and its was reconnection sucess first but seconced later the drive will show the "16#2C : Fatal Sync error" and then drive will can't reconnection. Other slave are reconnect sucess which was link after the can't reconnect's drive the drive was OMRON R88D-1SN
Last updated: 2024-01-23
Post by riccardo on Error while processing the visualization: Client id not present or no longer valid
CODESYS Forge
talk
(Post)
Hallo goodmorning, I am using codesys 3.5 sp19 with Weidmueller PLC. I created a page with several checkbox to manage an array of bool. When I build the project the system doesn't signal any error, when I go in simulation mode everything works until I click on checkbox to toggle the variables. Other visu elements works proprerly (e.g. bottons, lights, ect, ect) but the check boxes cause a crash giving the following error: Error while processing the visualization: Client id not present or no longer valid I serched to figure the problem out and to search a solution on the web but nothing. Can someone help? Thanks and Regards, Scanu
Last updated: 2024-01-23
Post by matt-s on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
I am having an issue where the manual start/stop push buttons on the HMI are supposed to take the pumps/blowers out of auto. The logic I have attached works for the pumps, but not the blower. From what I can tell it is the exact same logic, but it is not writing a 0 to the Auto PB variable. Attached is the logic, cross reference list to show nothing else is writing to it, and the HMI screen. Any help? Am I missing something? I am using a Groov Epic PR1, my software version is 3.5 SP19 Patch 5 32 Bit.
Last updated: 2024-01-25
Post by matthew on New Ladder Diagram conversion does not work due to missing features
CODESYS Forge
talk
(Post)
Hi It looks like in the new ladder there is no way to remove unused FB call parameters or update the function block? It's quite often where you have a function block with multiple uses and not all the parameters are required. Need the ability to leave an input/output blank without getting an compile error Expression expected instead of '' Also double clicking on the FB no longer opens the underlying FB code and view what it was doing online. Dragging and dropping a variable does not work, only using the selection works. Will these be available in the V1.0 release or just best to stick to the old ladder until it's available? Thanks
Last updated: 2024-01-28
Post by dkugler on Toggling Visualizations using HMI Physical Buttons
CODESYS Forge
talk
(Post)
the magic option is named "Use CurrentVisu variable" activate this option in the Visualization Manager an have a look: https://help.codesys.com/webapp/_visu_obj_manager;product=core_visualization;version=3.5.14.0 if your button is pressed, "feed" the string varable VisuElems.CurrentVisu := 'visu1'; with the correct name of the depending visu. alternative: place a frame element at a empty main visu, konfigure all visus to be shown by this frame. With setting the switching variable of the frame to the index value of the depending visu, it will switch to it. Advantage: the visu names are not hardcoded as string in the ladder lodgic. Good luck! Hint: If you have multiple VisuClients(Target, WebVisu,...) all will show the same visu. Independent switching is much more difficult, but there is a example from codesys.
Last updated: 2024-02-13
Post by tokamk on Dynamic setting of the modbus tcp/ip slave ip address
CODESYS Forge
talk
(Post)
Hello, I'm working on a project which includes Panel-PC which communicates with a PLC through Modbus TCP/IP. On the PLC I have a CODESYS code which has Modbus slave objects. The Modbus slave objects have to have manually set IP address in order for them to work properly and the Ip address has to be the PC-Panels's IP. This project is going to a customer and they're using their own IP address realm. So, my question is that is it possible to configure these slaves in some other way, so that the customer doesn't need to modify the CODESYS project? I was thinking that would it be possible to set the IP address of these slaves from external source?
Last updated: 2024-02-15
Post by amy123 on codesys mqtt publish serialization
CODESYS Forge
talk
(Post)
Hello, I am using the CODESYS IIoT Libraries SL MQTT Publish. Does this publish block only support publishing STRINGS as a readable format? I can publish ENUM, STRUCT, BOOL; however, MQTT Explorer will only display strings. When I use Wireshark, I can see that it is publishing something, but it looks to be publishing a serialized version which is a bunch of 0s or random text. If so, is there any way to deserialize this information back into a readable format? See pictures, where I have a BOOL TRUE that gets published as 001. Then see where I publish a STRUCT and it's an incomprehensible combination of 0s - only the string variable is displayed. Or, is it expected that you convert everything to a string before publishing? Any help is greatly appreciated! :)
Last updated: 2024-02-16
Post by mp9876 on Problems with simulation in Window 10
CODESYS Forge
talk
(Post)
Hi Automa, it seems the solution you were bringing up on 2022-04-06 could really help me as I did not remember the password I initially set. My problem though is that I am using Codesys Control Win V3.5 SP19/60 (64 bit) and I cannot locate any of the files you listed up there. I have been looking inside folder: C:\Program Files\CODESYS 3.5.19.60\CODESYS\ and they appear not to be present at all neither in the CODESYS folder or any sub-folders. Uninstalling and re-installing unfortunately does not do the trick. Any idea how I could get out of the ditch on this issue ? Anyone else maybe ? Thanks
Last updated: 2024-03-18
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.