Post by tmarmy1 on Redundancy for RTE x64 - stuck in standalone
CODESYS Forge
talk
(Post)
Sorry if this has been asked before, but I can't seem to locate a thread that leads me answers. I am running two RTE x64 softPLCs, one on the host machine and a second via a VM. I have managed to finally get both to a position that they see each other, but they are in standalone mode instead of an active/passive state for failover (image attached). Every attempt to sync via the button fails. There is probably some step or option that I have missed in my bumbling through this learning process, but for the life of me I can't seem to figure it out. Anyone got any suggestions what I need to look at to get this into an active/passive redundancy state?
Last updated: 2025-02-20
Post by janber0206 on Adding PLC to the List view resolves in Unknown Error
CODESYS Forge
talk
(Post)
Problem Solved The Problem was within the Usermanagment. There should be 6 files for the Usermanagment in /var/opt/codesys/ .UserMgmtDB.csv .UserMgmRightstDB.csv .GroupDatabase.csv .UserDatabase.csv_ .GroupDatabase.csv_ .UserDatabase.csv The file .UserMgmtDB.csv was missing. I moved the other files in a savefolder. Full Step by step instructions stop the runtime with sudo /etc/init.d/codesyscontrol stop rename the following files on the PI: (or save them and then delete them) in this directory: /var/opt/codesys/ .UserMgmtDB.csv .UserMgmRightstDB.csv .GroupDatabase.csv .UserDatabase.csv_ .GroupDatabase.csv_ .UserDatabase.csv then restart the Runtime: sudo /etc/init.d/codesyscontrol start now reconnect the PLC via the Automation Server - here you will be asked to create a new CODESYS user password, The user management files deleted above are then created again (in /var/opt/codesys/ on the PI).
Last updated: 2025-02-24
Post by peterkcontrols on TargetVisu started in windowed or not full screen
CODESYS Forge
talk
(Post)
Hello, I am using Codesys on an industrial pc with a single monitor. I would also like to have a separate vision software running on the PC and would like to display it half screen. When I run the soft PLC the my visualization screen appears full screen, I would like to be able to set the size of the visualization screen so I can display other software on the monitor. Is it possible to set the width/height of the targetVisu? Anyone try something similar? I would like to avoid having to put it on a Virtual Machine. Thank you
Last updated: 2025-02-26
Post by bingo on PLC Shell commands via ST Code
CODESYS Forge
talk
(Post)
Suppose you need to switch PLC IP dynamically between 192.168.1.10\192.168.2.10, First, set PLC IP to 192.16.1.10. Create a PGVL with a flag ‘xUseSecondry’ xUseSecondry : bool ; create a function that use socket to update IP: FUNCTION fSwitchIP : bool VAR_INPUT useMainIP:bool; END_VAR --------------------------------CODE------ if useMainIP then SysSockSetIPAddress(‘0’, ‘192.168.1.10’); PGVL.xUseSecondry := 0; else SysSockSetIPAddress(‘0’, ‘192.168.2.10’); PGVL.xUseSecondry := 1; end_if Now, if during execution, you need to switch IP, call the function ‘fSwitchIP()’, Set input to 1 for main IP, 0 for secondary IP. In order to set secondary IP at startup, you can do the following: in your PLC_PRG add a flag: xInit : bool := 1 ; and the code: if xInit then if PGVL.xUseSecondry then fSwitchIP(0); end_if xInit := 0 ; end_if *Alternative way is to use system events.
Last updated: 2025-03-03
Post by mazino on How to download dependencies packages for CODESYS Control for Raspberry Pi SL ?
CODESYS Forge
talk
(Post)
Hi starmaxou, I’m facing the same issue you mentioned with the dependencies for the CODESYS Control for Linux SL installation. I was able to find the manual downloads for the CODESYS Edge Gateway and CodeMeter, but I’m still stuck on the other two dependencies: CODESYS Control SL Extension v4.0.0.0 CODESYS Control SL Deploy Tool v4.10.0.0 Since you’ve encountered the same problem, I’d really appreciate any help or insights you can share on how you were able to resolve it. Any tips or suggestions would be greatly appreciated! Thanks in advance!
Last updated: 2025-03-07
Post by alberto on ExportPLCopenXML is failing
CODESYS Forge
talk
(Post)
I'm trying to export my whole project through the option ExportPLCopenXML. It seems working, but when I'm trying to import the xml I have the following error during the importation process: Object reference not set to an instance of an object. It seems a usual issue with this process that affects to the pointer to user classes inside a procedure. I receive this error for two general functions that have this pointer declarations in the VAR_INPUT section. It seems a bug into the export/import process of CodeSYS and I couldn't skip it so far. Anyone could help me? Thanks in advance.
Last updated: 2025-03-15
Post by madskaizer on ModbusTCP Slave Device, maximum uiClientConnections?
CODESYS Forge
talk
(Post)
I got a Wago PFC200V2, running Codesys 3.5.16.40, 100ms scan cycle, consumes about 20ms. It will randomly crash the runtime every 10 minutes to a few hours. We suspect an overloaded ModbusTCP Slave Device, as this is work done by a 3rd party contractor, but we can not find anything in the help files or documentation, that mentions a hard limit on maximum number of clients connections. This PLC currently has 44 client connections to the Slave Device and 29 slaves configured for its own Master Device. This topic metnions a hard limit of maximum 16 connections, but where is this written? https://forge.codesys.com/forge/talk/Engineering/thread/bd95b9d6d2/
Last updated: 2025-03-26
Post by ameba on PersistentVars and Webvisu Element
CODESYS Forge
talk
(Post)
hello everyone I would like to try to better understand how persistent variables work. I created some boolean variables in the PersistentVars section initialized to the value TRUE. I have tied these boolean variables to toggle switches placed inside the HMI interface pages. Once the PLC program is started, the lever selectors, if operated, change their state, at least at a graphical level, but the persistent variables do not undergo any variation. Initially the above variables were declared as simple global variables, in this case the operation with the levers was correct; I then tried to transform them into persistent ones with the aim of using them as "settings saver" Thank you for support Bye
Last updated: 2025-04-03
Post by andrej on Creating, using an external Function.
CODESYS Forge
talk
(Post)
Hello all, I would like to create a simple which runs directly on Control WinV3 x64 3.5.21.0 For this purpose I created a simple dll myAdder.dll in Cpp // MyAdder.cpp // cl /LD /EHsc MyAdder.cpp /Fe:MyAdder.dll #include <windows.h> extern "C" __declspec(dllexport) int __cdecl CmpMyAdder_Add(int a, int b) { return a + b; } I added the dll in the respective folder. Furthermore I "registred" the dll in the CODESYSControl.cfg. However, when I want to use the library I get the error message: Uresolved reference: *'CMPMYADDERADD' * Can you give me a hint what step I missed or where I need to declare the dll, such that the dll resp. the reference can be resolved. Many thanks and kind regards
Last updated: 2025-04-18
Post by kut69 on Retain / Persistent Variables in Codesys for Raspberry Pi
CODESYS Forge
talk
(Post)
Hi, I am interested in details about the .ret file in the filesystem. I have already a project where the file is used (write on demand, read by start) and I want to share it as 'default input' for test devices using the identical application. Opening the .ret file content in a hex editor (I only use a single string retain var) I asked myself what the meaning of the first 24 bytes is. It neither contains a handle to the application nor a reference to the variable. Is this maybe a timestamp? Or a CRC/checksum? Regards, Thomas
Last updated: 2025-05-19
Post by edson-bueno on IFM Controller Connection Issue
CODESYS Forge
talk
(Post)
Hi, Could you please send an print of your ethernet adapter info? Ip addr Subnet Mask Default Gateway Also, check if the gateway service is active in your windows. Win+R > services.msc > Look in the list CODESYS Control Win V3 x64 Gateway OR CODESYS Gateway V3 Hook up the M12 code D into the ETH port, supply the controller, it should apperars to you. Make sure when you try to connect with the controller, the target of your project has to match with the controller. Otherwise, click on the device in the devices tree > Communications Settings tab > Device > Options > And disable "Filter Network Scans by Target ID". Good luck.
Last updated: 2025-05-29
Post by viksym on How to get the motor scaling value from code
CODESYS Forge
talk
(Post)
Is there a way to see what value is set as the "Work travel distance per motor rotation" that is set in the Scaling menu of the axis ? I am working on my own homing function block for sensorless (hardstop) homing and I want to make it be universal between different axes with different motor's scaling for distance per rev so I need to know this value from the axis itself. I know I could do it by just creating an input variable for the function block but I'm leaving that option as a last resort.
Last updated: 2025-06-12
Post by hclai on Maximum Array Index Issue
CODESYS Forge
talk
(Post)
I was trying to use a table object in visualization. I want to dynamically show the valid rows in the table. However, it does not work when there is 1 row. i put the maximum array index to 1. it does not show the 1st row. when i change to 2, it show the second row only. my project with older visualization profile version is working perfectly fine. I did some test and realized that i must use a Row Selection variable to change from 0 to 1. With this change of Row selection, then the row 1 will show up.
Last updated: 2025-06-19
Post by timvh on Dynamically enabling/disabling Modbus slave devices in runtime (performance issue with timeouts)
CODESYS Forge
talk
(Post)
As far as I remember, the Reconfigure functionality doesn't work for Modbus devices. But... Each Modbus device in your device tree has a name. You can set the property "Enable" of this device to FALSE to stop communicating with it. So if one of your Modbus Slave devices name is "MbSlave1" in the device tree, then in your code you can set the Enable to FALSE to let it stop communicating: MbSlave1.Enable := FALSE; Please let us know if this worked on your controller with your application and your CODESYS version. Alternatively you could use the ModbusFB library. See: https://forge.codesys.com/prj/codesys-example/modbus/home/Home/
Last updated: 2025-08-13
Post by bruceae on Special Characters
CODESYS Forge
talk
(Post)
Hello, I am fairly new to the codesys environment. Is there a reference chart that I can look at in order to write special character in a string? The Special characters that I need to inclue inside the string are as follows; Null Bell Carriage Return I have a TCP_Write command that I am sending to an external device. In order for that device to function properly it needs to see the string with the null and bell characters as the header, followed by the desired command, terminated with the carriage return. Any reference sheet or how to write this in the actual string would be greatly appreciated.
Last updated: 2025-08-26
Post by pernockham on AC Persistence - values are not read from file during start?
CODESYS Forge
talk
(Post)
I swear I tested this like 20 times yesterday without success. Repeated it today and it works. Maybe the system needed a "real" power reboot? To note. To make a manual edit of a variable I tried some different approaches this is what worked for me. "system/online edited" gvl_var.example_variable REAL:F16#2FFB334H-4 767.7 "manually edited" (with runtime stopped followed by a "cold start" to read from file) gvl_var.example_variable REAL:790.1 (the system will use the manual value but will not set an equivalent "hex" value until next online edit/write cycle)
Last updated: 2025-09-03
Post by voffi on projects.open not working for file based storage project
CODESYS Forge
talk
(Post)
Hello! Opening a project from a python script given at the CODESYS command line does not work for me with a file based storage project. Example: Running projects.open("test.project", primary = True) works but converting the project to a file based storage project and then give the folder name as an argument to project.open Running projects.open("test.fbsproj", primary = True) does not work. We decided to work with file based storage for the project. Is there a scripting API for file-based storage to e.g. convert it while running the script back or how to open file based storage project with projects.open? Thank you! voffi
Last updated: 2025-09-05
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 davidbo on All the things needed for anonymous login to OPC UA
CODESYS Forge
talk
(Post)
I thought I knew what I am doing, but something is missing what? From Device-Communication Settings select from drop down menu "Device" Select entry "Change Runtime Security Policy" Check the "Allow anonymous login" Select "Symbol Configuration" in your application In settings check "Support for OPC UA features" Check some of the values you want in your set Press the build button in the "Symbol Configuration" Press the button "Configure Symbol Rights" Make sure that Anonymous_OPCUAServer has access right to your "default set" From Device-Communication Settings select "Access Rights" in RemoteConnections-OPCUAServer Anonymous_OPCUAServer should be given modify and view rights I suppose. I can connect with UaExpert but I cannot see my Application or browse my values. What is missing?
Last updated: 2025-09-10
Post by alexgooi on Licensing info not available.
CODESYS Forge
talk
(Post)
Dear Forum I have the following config: Codesys_IDE 3.5.20 Codesys_Virtual_Control 4.13 Codesys_License_Server 4.13 I know these are not the newest versions, but in my mind these should work. I have the same problem here. I have the license server installed on the host, and in the docker container(Codesys virtual control) I'm able to ping the license server. In the /conf/codesyscontrol/CODESYSControl_User.cfg I have added the following config: [CmpCodeMeter] EnableNetLicenses=1 LicenseServer.1="ip address of the host" I have tried it via the wbm web-page. I can create new license containers over there, but still no luck. I also have tried to run the docker container with the -s "server_IP" command. I have searched for some tutorial's but I couldn't find it. If anyone has some clue or can give me a push in the right direction it would be very very welcome!
Last updated: 2025-09-29
Post by alexgooi on Licensing info not available.
CODESYS Forge
talk
(Post)
Thank you for your quick response, I have updated to the 4.17.0 (Virtual control and the license server). Now I am able to see the softcontainer from the Codesys IDE. But when I want to activate the license I get the following message: Licensing info not available. The device does not support this service (See picture). I then tried to active it via the WBM service like you suggested. But when I try this is get an error (see picture for error). I also tried to put RTS- in front of the serial number, but when I try this I get an error that the serial number is not correct. I think I'm getting closer, but I'm not there yet.
Last updated: 2025-10-01
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 manuknecht on Using SMC_MOVTYP.INITPOS without specifying the start position
CODESYS Forge
talk
(Post)
I am using the object SMC_GEOINFO to generate a trajectory and move a system accordingly using the SMC_INTERPOLATOR function block similar to the sample project CNC10_DynamicPath.project. According to the documentation, the movement type INITPOS does not require a start position in the SMC_GEOINFO object, which is confirmed in the documentation of the SMC_GEOINFO object. When using the movement type INITPOS however, the motion will still start from the starting point defined in the SMC_GEOINFO object (0,0,0 if not specified otherwise). Does someone know how to resolve this or is there an example project that makes use of the INITPOS movement type without specifying the starting point? Thanks in advance!
Last updated: 2023-12-15
Post by sean-barton on Function block method default arguments
CODESYS Forge
talk
(Post)
I have default arguments specified for function block methods but when calling a method, an error is produced requiring me to supply all the arguments despite there being default values. According to the online documentation, under section "Calling a Method" and subsection "argument passing" of the following link: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_obj_method.html "Passing an argument for an input ... can be omitted ... for which a default or initial value was specified in the declaration..." I have found this to be the case for all Codesys IDEs I've used, 3.5.11, 3.5.16, 3.5.17, 3.5.19. Am I missing something?
Last updated: 2023-12-21
Post by sawicpx on CANbus Remapping PDOs During Runtime
CODESYS Forge
talk
(Post)
Hello, I am working on an application where I need to remap PDOs to a different CANopen object during runtime depending on what value is at a specific register. I have gotten to the point where I put the device into Preoperational State using the CIA405.NMT function. I then reconfigure the PDO 180x and 1a0x obejcts usings SDOs to point to a new canopen object on the device however when I go to restart the Device from PREOP to OP using the CIA405.NMT function the device is reset back to the original configuration as per the initial setup. I am wondering is there any way to change the PDOs at runtime is there some more functionaility I can access to do this. Any direction is appreciated!
Last updated: 2023-12-22
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.