Post by ggis on Unable to connect to git remotes through Codesys.
CODESYS Forge
talk
(Post)
When trying to connect to a Github repository in the Git remotes windows of Codesys, the user can be the account username or the account email, while the password is the Github token. (I know this is an old topic, but I lost some time figuring it out from the guides.)
Last updated: 2023-11-10
Post by abauza on Image Pool using in other libraries
CODESYS Forge
talk
(Post)
Hi I have done some tests and i realised that it's an issue with the visualizator simulator because i uploaded the program to a device and tried to see on the Web browser and I see correcctlu the images of the image pool of the library. I post this for anyone that have the same problem.
Last updated: 2024-08-20
Post by spiessli on Softmotion axis to CANopen Maxon IDX drive
CODESYS Forge
talk
(Post)
Just verified the behaviour. Still is the same. It should be attached here. But I also tried the DCF-file with the axis in the lab with the real drive: The MC_Power block never goes out of busy. Had not time to investigate further, though.
Last updated: 2024-01-08
Post by gseidel on Absolute movement controlled by an external encoder.
CODESYS Forge
talk
(Post)
Hi polyautomacao, hmm, did you tune the PD parameters as shown in the link I posted above? One thing that could cause the behavior are bad parameters. I also don't understand the screen shot: when you hold the encoder to 0, why is the actual position of the DrivePosControl -208? Best regards, Georg
Last updated: 2026-03-27
Post by pernockham on Gateway in China - "Gateway not connected"
CODESYS Forge
talk
(Post)
I think I understand my problem. They are most probably related to configuration of the network. When I use DHCP for the unit to my router it all works. However when using static IP I have not managed to reach functioning state. Trying to replicate the situation on my desk. Having a static IP on the "debian host" and a connection to my computer which then routes traffic on to internet. I have entered settings for gateway and netmask. I can ping from my "debian plc host" to internet and also do "curl google.com" so traffic seems to find its way through and back, still "Automation server" will not find the gateway. Any hints how a manual configuration should be done? Is it possibly a "firewall" issue of my "normal router"? Thanks for any help! Per
Last updated: 2026-01-27
Post by dkugler on Webvisu client connection monitoring
CODESYS Forge
talk
(Post)
you can give this code snippet a try. It's extracted and simplyfied from my code: Install VisuElemBase lib if not installed yet. Execute in visu task: VAR pClientData : ARRAY [-1..100] OF POINTER TO VisuElemBase.VisuStructClientData; END_VAR VisuElemBase.g_ClientManager.BeginIteration(); pClientData := VisuElemBase.g_ClientManager.GetNextClient(); WHILE pClientData <> 0 DO pClientData[pClientData^.GlobalData.GlobalClientID] := pClientData; END_WHILE You have to make shure every no longer updated pointers in the array have to be deleted and no longer used by your code! Usage of this pointer access at your own risk :-) Works with SP16. From SP17 and newer there will be warnigs etc. using this solution as I remember. It will be great, if Codesys publishes a example or give a hint how to accesse this client values with the VisuUtil lib or other future-proof way!
Last updated: 2024-09-09
Post by timvh on ernesto881124
CODESYS Forge
talk
(Post)
You will need a USB to RS485 converter to connect the PC to the Modbus RTU Slave Device. In Windows this converter will be recognized as Serial COM poort (e.g. COM2, or COM3, see the windows device manager to find this out). Select this port in your CODESYS application. On the PC you need to use the CODESYS Control Win (SoftPLC) to run your application. It will not work in simulation mode, because then the Modbus Communication will not be activated.
Last updated: 2023-09-14
Post by taqamert on Codesys 2.3 & Peak PCAN
CODESYS Forge
talk
(Post)
Despite working on it for days, I haven't achieved any results. I followed the necessary steps one by one as mentioned in the file you sent, but there hasn't been the slightest change. I couldn't find the step you mentioned "Set the 'Can Board Type' to PCAN USB" in the Word document. There is no such setting anywhere I looked. Is there a more detailed explanation available, or can you explain it in more detail? What am I missing?
Last updated: 2024-07-16
Post by trusty-squire on implementing continuous movement in Codesys
CODESYS Forge
talk
(Post)
What do you mean by continuous movement? You want to continuously follow a dynamic target position? SMC_ControlAxisByPos, which is typically used with CNC Interpolators, could work for that. Instead of feeding the target position in from the Interpolator, feed in the target position from your server instead. Once you enable the FB, it will continuously move the axis to track the fSetPosition input. https://content.helpme-codesys.com/en/libs/SM3_CNC/Current/SM_CNC_POUs/SoftMotion-CNC/Direct-Axis-Control/SMC_ControlAxisByPos.html
Last updated: 2024-09-12
Post by paulpotat on Can't find the safety manual in the documentation
CODESYS Forge
talk
(Post)
Hello, I was browsing the "CODESYS Virtual Safe Control for Linux SL" documentation page, and it says the following : For more information about the development of safety-critical applications with CODESYS, see: * Safety Manual H1 – SafetyManual.pdf, which is stored in the directory ../<user>/CODESYS Virtual Safe Control Linux SL/Delivery/Manuals</user> What does this path refers to ? I can't find it in CODESYS installation directories. Best regards
Last updated: 2025-01-23
Post by jvfred on Reading a negative number
CODESYS Forge
talk
(Post)
I have a Codesys-based Eurotherm E+PLC400 connected to Codesys HMI SL for visualization. I am also bringing in several Pressure Indicators via the Ethernet. Everything works; however, the Pressure indicators sometimes read a negative value. When they do, the displayed value on the screen reads "65532." While I know what it represents, the customer freaks out and wants it to read "0" or a negative number. The value comes in as an integer, just in case that matters. Does anyone have any ideas?
Last updated: 2025-05-22
Post by camjam on BOOL variable in OPC UA and modbus simultaneously
CODESYS Forge
talk
(Post)
I have come across this. The only way i could get it to work would be to define a word that is also the same address as the Bools. eg %MX600.0 through to %MX600.15 would be individually defined in the variables and them have another variable word defined at %MW300. You still need to break out the word in what ever program you are using to read/write the OPCUA tags.
Last updated: 2025-08-18
Post by davidbo on All the things needed for anonymous login to OPC UA
CODESYS Forge
talk
(Post)
When you have a deep object structure where not all values are not exposed to OPC UA, the top object will not have a V check mark but be filled fully out. In that case CODESYS do not always registrate changes to inner object. Solution set a V in the checkbox of the top object, build, download. Now you can browse, but all values in the top object will be selected, then you can deselect the ones you don't want, build, download and it works
Last updated: 2025-09-10
Post by syjoo on Recipe Manager in PRG (3.05.13.XX)
CODESYS Forge
talk
(Post)
I'm using version 3.5.13. Is it possible to handle Recipe Manager in PRG in this environment? Can you give me a simple example? Although it has been confirmed that the functions work on Recipe Manager, they do not work properly when implemented through FB within a simple PRG. I would like to save the current value as a recipe or load the recipe's value as the current value. And I want to save the recipe as a file or load the recipe saved as a file. somebody help me. (TT)
Last updated: 2024-04-15
Post by timvh on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
It seems like a bug in FBD. Work-around: If you click on the small line between the box and the output variable and delete this, the variable is removed. When you then assign a variable again (Ctrl-A), then you will see that the line will be a bit longer. If you then select the previous variable, you will see that it works.
Last updated: 2025-10-26
Post by micik on Python scripting - print whole project tree
CODESYS Forge
talk
(Post)
Hello, I have found a script for printing device tree in Codesys project. This script is available as code snippet as an exmaple for using Python in Codesys. However I feel main documentation is lacking. For example, where can I find that object has "is_device" attribute? Code examples are given here: https://content.helpme-codesys.com/en/CODESYS%20Scripting/_cds_access_cds_func_in_python_scripts.html However, I have a question how to print the whole Project tree and not just devices? Of course I need to remove check: if treeobj.is_device: But simply removing this test condition will not produce what I want. I need to print PLC Logic, Application, ad other nodes in the Project tree. Where to find this documentation?
Last updated: 2024-08-12
Post by gatto on CAA File open Problems
CODESYS Forge
talk
(Post)
Ciao, here same question https://forge.codesys.com/forge/talk/Engineering/thread/2538729618/ in this post https://forge.codesys.com/forge/talk/Engineering/thread/4586a90290/?limit=25#d531 i find : keep in mind that all files which are generated / or read should be exist in the iecfilepath this means: for Windows (Control Win as example) c:\ProgramData\CODESYS\CODESYSControlWinV3x64\268E8ADF\PlcLogic for Linux /var/opt/codesys/PlcLogic I never use codesys on windows but im sure on linux we can manipulate file only inside /var/opt/codesys/Plc Logic. Or you need to modify the file codesyscontrol.cfg for change path permission, but this is another history Buone feste !
Last updated: 2024-12-21
Post by timvh on FB string and naming
CODESYS Forge
talk
(Post)
I see, you want to initialize the FB. To be able to initialise it like you described, you need to add the FB_Init method to your FB. (right click on the FB, select add object --> method). Then press the arrow down, to select the FB_Init (overwrite default implementation). In the VAR_INPUT section of this method, add the variable --> Tag : STRING; Then in the code section of this method add: THIS^.Tag := Tag; // copy initial value to local variable in FB Search Google if you want to know more about FB_Init. PS, reflection + instance path, is also an option if you want to get the full name of the instance (path) of the Function Block. See: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_pragma_attribute_instance_path.html
Last updated: 2024-09-30
Post by qkkk on Device Scan
CODESYS Forge
talk
(Post)
Hello all, I have developed a custom I/O driver in CODESYS that communicates via a Unix Domain Socket. In my DeviceDescription.xml, I have set up the following: <scan supported="true"> <scanfbinstance fbname="IOScanDevice"> The goal is to allow the user to scan for connected I/O modules from the CODESYS GUI ("Scan for Devices") and automatically populate the device tree with detected submodules.</scanfbinstance></scan> The function block IOScanDevice is implemented in the driver library and added to the main device's FB instances. However, when I initiate the scan from the GUI, nothing appears to happen the function is not executed. Is there an example project or driver (open source or from CODESYS Forge) that demonstrates a working custom scan implementation?
Last updated: 2025-05-26
Post by fless on Warning C0564 when compiling CNC project with variables program
CODESYS Forge
talk
(Post)
Update: We managed to avoid the warnings by changing the order of initialization by adding an attribute to the GVL with the variables. {attribute 'global_init_slot' := '49989'} The variables are initialized right before the regular GVLs (default GVL slot 49990). Note to Codesys: I see the problem, Codesys needs to initialize the CNC objects before the GVLs so they can be used in the GVL. But then you can't use variables from GVLs in CNC programs. Maybe you could disable the warning in your generated CNC objects? At least a note for a workaround would have been nice.
Last updated: 2024-04-02
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
Post by transmin01 on CANbus issue
CODESYS Forge
talk
(Post)
Update: This initial issue was when using a Linux target PLC. Since then I have created a Win10 target PC and the Codesys software reported an issue associated with the device version (see attached). I am assuming this is an incompatibility with the xml file from the manufacturer and the firmware version on the module and I am chasing this up with Beckhoff. Question is, why would this not report with a Linux target?
Last updated: 2023-09-14
Post by ralfki on User management
CODESYS Forge
talk
(Post)
Hello eschwellinger, at first thank you for your answer. So the only ways to activate the user management are CodeSys delevelopment enviroment and the Codesys Automation Server. So there is no function to activate the user management via code? Do you have an idea how to get back the users when somebody replaced the PLC. Our customers have only our own developed visualization and they also don't want to install further softwares. Do you maybe have a solution for this
Last updated: 2024-09-04
Post by rmaas on TCP Server
CODESYS Forge
talk
(Post)
Hi George, I do not know what the problem is with the syssocket implementation, but when i read the forums it seems the Net Base Services library is the recommended way to go. There is another more extensive example here: https://forge.codesys.com/prj/codesys-example/plc-chat-nbs/home/Home/ I have just tested this example and it works very well, also with closing and opening the connection from hercules... good luck!
Last updated: 2025-02-20
Post by ewi04 on Recipe Manager - RecipeManCommands, load & write wrong values, Bug?
CODESYS Forge
talk
(Post)
Hello, according to Codesys, the problem should be solved with version 4.3.0.0. After the update to version 4.3.0.0 I had the problem that the recipes weren’t saved correctly, but loading was okay. Return to the version 4.2.0.0 didn’t change the behavior. Strange… So I uninstalled the update, cleaned the project and built it new. The known behavior of version 4.2.0.0 was back. Update to version 4.3.0.0, clean and build it new, it works. Even with version 4.2.0.0. Strange, but okay. Notice: ManCommands.LoadRecipe() no longer writes into the PLC. Just as it should be. As of now, I can use the new version.
Last updated: 2024-01-05
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.