Post by irshad on Modbus TCP/IP slave communication errow
CODESYS Forge
talk
(Post)
While reading the value of a slave device, it shows error frequently and i need to restart my PLC for getting the communication back. In codesys it shows the slave in Red color with error status. How to solve the above
Last updated: 2024-02-03
Post by arundara on Variable Sync Issue In Soft Plc Redundancy
CODESYS Forge
talk
(Post)
i understood that we have to use sync variable function. when i used this i was able to achieve on the requirements of our project.
Last updated: 2024-02-13
Post by francescoc on Retrieve GIT commit hash from runtime
CODESYS Forge
talk
(Post)
Hello, is it possible to retrieve the hash of the current GIT commit hash from runtime? I would like to show it on hmi in a service section. Thank you
Last updated: 2024-02-19
Post by timvh on Import OPC UA model to Codesys
CODESYS Forge
talk
(Post)
See the attached pdf with some notes (screenshots) which I prepared for one of our customers to help them get going. Hopefully this helps for you too.
Last updated: 2024-03-12
Post by mosayeb on Power off
CODESYS Forge
talk
(Post)
Hello. It is interesting that almost everyone has faced this problem. Run the program as shown in the attached photo. Give True to the Enable input and change the status of the drive to on and off with Servo-On
Last updated: 2024-04-08
Post by kislov on Remove white spaces in file .txt
CODESYS Forge
talk
(Post)
Seems like you use SIZEOF as size, but you need to use LEN as size of data which you want to write.
Last updated: 2024-04-23
Post by ekristoffe on 3.5.19.0 IDE forced "hide namespaces" on 3.5.16.40 project
CODESYS Forge
talk
(Post)
Hello, I have the same problem, I used to enforce the usage of the namespace (which was really helpful). and now I can't even find the option (CS 3.5.19.20). Where in the option this setting used to be ? Thanks
Last updated: 2024-04-25
Post by davelewis104 on J1939 SA
CODESYS Forge
talk
(Post)
I am curious if there is a function block or function that will allow me to monitor the J1939 CANBus and pull out all of the SAs that are on a particular bus, without having to have them loaded in the J1939 manager?
Last updated: 2024-04-30
Post by simonep on new version of CODESYS have problem to load GSDML files
CODESYS Forge
talk
(Post)
I have update codesys today but now i can't install my GSDML files, until Friday I was always able to load without any problem, now it gives me this error. Codesys version V3.5 SP19 Patch 1 + (64 bit)
Last updated: 2024-05-20
Post by nano on Is it possible to profile builds?
CODESYS Forge
talk
(Post)
pls check whats gookg on with antimalware-service-executable during the build most of my problem are directly connected to that "great" microsoft feature
Last updated: 2024-06-06
Post by installwhat on How to access to variable value through symbolic string name
CODESYS Forge
talk
(Post)
Maybe your question makes sense but I don't see it. Maybe you should rephrase and add a lot of detail
Last updated: 2024-06-13
Post by jonasz on Deploy LicenseServer for Linux SL
CODESYS Forge
talk
(Post)
Thank you for your response. Is there documentation for the commands? I spent a lot of time trying to figure this out. I have a potato computer at home, so I'll have to test this later.
Last updated: 2025-11-21
Post by durallymax on How to use MQTT in CODESYS Control Win V3
CODESYS Forge
talk
(Post)
With the IIoT library/license or the one provided by the hardware OEM. Several examples online of how to use the MQTT Client SL library.
Last updated: 2025-12-12
Post by emmieturner on Which Lib to use, connect to a socket with URL instead of IP address
CODESYS Forge
talk
(Post)
hi, maybe Net Base Services https://forge.codesys.com/prj/codesys-example/nbs/home/Home/ https://geometrydashlite.online Thank for sharing
Last updated: 2025-11-16
Post by bdschnapp on OPC-UA ApplicationUri / ProductUri
CODESYS Forge
talk
(Post)
Were you able to figure out if it is possible to change the Application/Product URI of your server? I am having the same problem.
Last updated: 2026-03-16
Post by eaglealex on Length of string and Array of bytes
CODESYS Forge
talk
(Post)
Thank you for your answer! I know that 0 will be the end of the string. I checked it. There is no 0 in array of bytes. I made screenshots. There is array of bytes, aborted string and the result of my test via online converter.
Last updated: 2025-04-02
Post by ph0010421 on Stepper Drive with Ethercat
CODESYS Forge
talk
(Post)
Hello That's certainly CiA402. I'll attach a part of the manual for my servos, but the state diagram should be the same at yours. To be sure, get one from your manufacturer. Look at the bits in the StatusWord to see where you are in the diagram, then twiddle the bits in the ControlWord to get you to the next step. Then there are other bits in the StatusWord to tell you 'InPosition' and things like that. From the screenshot, as it mentions only 'PositionProfile' the driver will create the motion profile. So you need to put a target position in here - there should be profile velocity somewhere? Possibly, you need to write these with SDO's? At the minimum, you need to write a value to 0x6081, 0x6083 and 0x6084 (velocity, accel, decel)
Last updated: 2024-03-22
Post by dominggus on FileDialog - OnDialogClosed not called anymore
CODESYS Forge
talk
(Post)
Hi, since the latest update it seems the OnDialogClosed is not called anymore?? using CODESYS SP20 Patch 3 with CODESYS Visualization 4.6.0.0 I am using LoadWriteRecipe to load a recipe file from disk (with some custom dialog settings), and I need to run a function (Recipes_LoadFromRecipeData()) afterwards which I execute when OnDialogClosed is closed with OK button. See attached screenshot and code below: *** OnDialogClosed : Recipes_OnLoadFileDialogClosed(pClientData): *** // the DialogManager is provided via the implicitly available VisuManager dialogMan := VisuElems.g_VisuManager.GetDialogManager(); IF dialogMan <> 0 AND pClientData <> 0 THEN FileOpenCloseDialog := dialogMan.GetDialog('VisuDialogs.FileOpenSave'); // gets the FileOpenSave dialog IF FileOpenCloseDialog <> 0 THEN result := FileOpenCloseDialog.GetResult(); // gets the result (OK, Cancel) of the dialog IF result = VisuElems.Visu_DialogResult.OK THEN Recipes_LoadFromRecipeData(); END_IF END_IF END_IF *** OnMouseClick: Execute ST-Code *** // override FileOpenSave Dialog settings // Visu_FbFileListProvider.Initialize(stDirectory, stFilter, stFileIn, stTitle, iRowCount, bBrowseDirectory, bTouch) VisuDialogs.g_FileListProvider.Initialize('./', '*.bunkerrecipe', '', 'Load recipe', 20, TRUE, FALSE); VisuDialogs.g_FileListProvider(); This used to work in CODESYS v3.5 SP20 Patch 1, but it seems it doesn't work anymore unfortunately? The OnDialogClosed just never seems to be called anymore....
Last updated: 2024-12-18
Post by mrkm-dic on CODESYS: Combining Master Redundancy with EtherCAT Ring Topology – Is it Supported?
CODESYS Forge
talk
(Post)
Hello, I would like to ask whether it is technically supported (and practically achievable) to combine CODESYS Master Redundancy with EtherCAT ring (loop) redundancy in the same system. System setup CODESYS version: CODESYS 3.5.21.40 CODESYS Control SL for Weidmuller u-OS-4.12.2.0 Controllers (Masters): Weidmuller UC20-M4000 ×2, configured as Active / Standby using CODESYS redundancy EtherCAT Slaves: Weidmuller UR20-FBC-EC ×3, supporting EtherCAT ring / line break detection Topology: EtherCAT ring (loop) Main question Is it officially supported to use: ・CODESYS PLC/Master redundancy (Active/Standby) and ・EtherCAT ring topology (for cable redundancy) at the same time? Expected behavior Our expectation is: ・When the Active PLC fails, the Standby PLC becomes Active ・The Standby PLC then takes over the role of EtherCAT Master ・EtherCAT communication is re-established ・I/O control continues after reinitialization (a short interruption is acceptable; no strict bumpless requirement) We do not expect completely seamless / zero-cycle switchover, but we want to understand: ・Whether this combination is supported by design ・Or whether there are known limitations or restrictions when EtherCAT ring mode is used together with Master redundancy Clarification At this stage, the question is mainly about feasibility and support, not about a specific error message yet. Any official guidance, limitations, or real-world experience would be greatly appreciated. Thank you in advance.
Last updated: 2026-02-05
Post by jzhvymetal77 on IecVarAccessLibrary.IBaseTreeNode methon
CODESYS Forge
talk
(Post)
I had this code working in a previous version of CoDeSys to read variables from a GVL that were added to the Symbol configuration. The problem now is that when I get the _IBaseTreeNode_Parent, it returns a valid interface, but none of the methods or properties work. If you monitor the _IBaseTreeNode in the watch window, it does show the correct child count. However, it fails at step 30, where the child count incorrectly returns zero. In the image, you can see that the watch window displays the correct value that the property should return. Attached is the full project code. FUNCTION_BLOCK Symbols_TO_STR VAR_INPUT i_sPath : STRING(255); i_diIndexChild : DINT; i_diIndexComponent : DINT; END_VAR VAR_OUTPUT q_diChildCount : DINT; q_diComponentCount : DINT; q_sName : STRING(255); q_sValue : STRING(255); q_sType : STRING(80); q_sErrorResult : STRING(80); END_VAR VAR uiStepCopy : UINT; uiStep : UINT; uiStepProcessCopy : UINT; uiStepProcess : UINT; _IBase : IecVarAccessLibrary.IBase; _pIIecVarAccess5 : POINTER TO IecVarAccessLibrary.IIecVarAccess5; _IIecVarAccess5 : IecVarAccessLibrary.IIecVarAccess5; _RTS_IEC_RESULT : IecVarAccessLibrary.RTS_IEC_RESULT; _udiResult : UDINT; _VariableInformationStruct : IecVarAccessLibrary.VariableInformationStruct; _IBaseTreeNode_Parent : IecVarAccessLibrary.IBaseTreeNode; _IBaseTreeNode_Child : IecVarAccessLibrary.IBaseTreeNode; _ITypeDesc_Child : IecVarAccessLibrary.ITypeDesc; _TypeDescAsUnion_Child : IecVarAccessLibrary.TypeDescAsUnion; _arIBaseTreeNode_Child : ARRAY[0..20] OF IecVarAccessLibrary.IBaseTreeNode; _TypeClass_Child : IecVarAccessLibrary.IBaseLibrary.TypeClass; _psSymbolName_Child : POINTER TO STRING; _sSymbolName_Child : STRING(255); _IBaseTreeNode_Component : REFERENCE TO IecVarAccessLibrary.IBaseTreeNode; _TypeClass_Component : IecVarAccessLibrary.IBaseLibrary.TypeClass; _ByteAddress_Component : __XWORD; _ByteOffset_Component : __XWORD; _sArrayIndexName_Component : STRING(20); _diArrayIndexCalc_Component : DINT; _diArrayIndexValue_Component: DINT; _psSymbolName_Component : POINTER TO STRING; _sSymbolName_Component : STRING(255); END_VAR uiStepCopy:=uiStep; uiStepProcessCopy:=uiStepProcess; CASE uiStep OF 10: // GET IBASE FROM CURRENT APP _IBase:= IecVarAccessLibrary.IecVarAccGetFirstInterface2(0); IF _IBase<>0 THEN uiStep:=20; ELSE q_sErrorResult:=CONCAT(UINT_TO_STRING(uiStep), ': IecVarAccGetFirstInterface2'); uiStep:=9000; END_IF 20: //QueryInterface IIecVarAccess5 from IBASE _pIIecVarAccess5 := _IBase.QueryInterface(IecVarAccessLibrary.ITFID_IIecVarAccess5, ADR(_RTS_IEC_RESULT)); IF _pIIecVarAccess5<>0 AND _RTS_IEC_RESULT=0 THEN _IIecVarAccess5 := _pIIecVarAccess5^; uiStep:=30; ELSE q_sErrorResult:=CONCAT(UINT_TO_STRING(uiStep), ': QueryInterface_IIecVarAccess5'); uiStep:=9000; END_IF 30: // Get IBaseTreeNode_Parent _IBaseTreeNode_Parent := _IIecVarAccess5.VarAccGetNode3(ADR(i_sPath), ADR(_VariableInformationStruct), ADR(_RTS_IEC_RESULT)); IF _IBaseTreeNode_Parent<>0 AND _RTS_IEC_RESULT=0 THEN q_diChildCount:=_IBaseTreeNode_Parent.ChildCount; uiStep:=40; ELSE q_sErrorResult:=CONCAT(UINT_TO_STRING(uiStep), ': IBaseTreeNode_Parent'); uiStep:=9000; END_IF 40: // Get IBaseTreeNod_Child IF(q_diChildCount-1>=i_diIndexChild AND i_diIndexChild >=0) THEN _IBaseTreeNode_Child := _IBaseTreeNode_Parent.GetChild(i_diIndexChild); IF _IBaseTreeNode_Child<>0 THEN uiStep:=50; ELSE q_sErrorResult:=CONCAT(UINT_TO_STRING(uiStep), ': IBaseTreeNode_Parent'); uiStep:=9000; END_IF ELSE q_sErrorResult:=CONCAT(UINT_TO_STRING(uiStep), ': i_diIndexChild OutBounds'); uiStep:=9000; END_IF
Last updated: 2025-08-20
Post by berkdan on SMC_ReadNCFile2 is always busy
CODESYS Forge
talk
(Post)
Hey tk96 Thank you for your help. I have found the reason why fbreader stuck. It was not the program but it was the gcode itself. G21 command blocks the reader. And multiple G codes in a line also blocks the reader. My code was: N010 G21 G17 G90 -> Blocked the reader When i change it to: N010 G90 N020 G17 Then it worked. The only thing i did not get is why the reader did not thwor error. ErrorId was SMC_NO_ERROR. Anyway, it is now working. Thanks again.
Last updated: 2025-06-17
Post by totorovic on Softmotion not working with simulation mode
CODESYS Forge
talk
(Post)
Good morning, I think that the mode Simulation does not support the Softmotion functionnality because it runs the CODESYS process with normal priority wich is not a good thing for real-time behavior. If you want to test your PLC project, please use a Codesys Control Softmotion (and your computer must have the Ethercat driver installed) or much easier, download your code into the C6 Smart. BR
Last updated: 2024-05-13
Post by gseidel on Mismatch between coordinate monitor and actual motion using SMC_GroupJog2, MC_MoveLinearAbsolute (6DOF)
CODESYS Forge
talk
(Post)
Hi darwin03, when all joints are 0°, then the 6-axis robot is in a so called singularity. This means that it is in a special position where it cannot move freely in all directions but is restricted by its own construction. For a simple example, imagine a scara robot where the arm is fully stretched. In this position it cannot move freely. You can find a lot of information about robot configurations in the www. As far as CODESYS SoftMotion Robotics is concerned, this page holds the most important links, look for the error SMC_CP_CONFIGS_DIFFER: https://content.helpme-codesys.com/en/CODESYS%20SoftMotion/_sm_robotics_errors.html The most important rules: 1) CP movements (linear moves, circular moves, cartesian jogging) cannot change the configuration during the movement. Both start- and endpoint must be in the same configuration. This excludes also the edge case that one or both of them are in a singularity. 2) PTP movements can move through singularities and cross configurations without problems. 3) SMC_SetKinConfiguration can be used to set the configuration of the axis group. Regards, Georg
Last updated: 2026-05-04
Post by blitz on Arcs intersection
CODESYS Forge
talk
(Post)
Does anyone have an idea how to run such a spiral on CNC smoothly without stops? SMC_SmoothPath and SMC_RoundPath don’t help. In general according to the documentation they should work on arcs but in the example only straight lines are shown and I get the impression these functions only work for straight lines. N005 G51 D15 N010 G01 X120.00 Y120.72 F100 N020 G03 X110.00 Y130.72 I-10.00 J0.00 F100 N030 G03 X100.00 Y120.72 I0.00 J-10.00 F100 N040 G03 X140.00 Y120.72 I20.00 J0.00 F100 N050 G01 X140.00 Y120.72 F100 N060 G03 X80.00 Y120.72 I-30.00 J1.67 F100 N070 G01 X80.00 Y120.72 F100 N080 G03 X160.00 Y120.72 I40.00 J-1.25 F100 N090 G01 X160.00 Y120.72 F100 N100 G03 X50.00 Y120.72 I-55.00 J-5.00 F100 N110 G01 X50.00 Y120.72 F100 N120 G03 X190.00 Y120.72 I70.00 J-0.71 F100 N125 G50 N130 M30
Last updated: 2025-09-23
Post by imdatatas on C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr
CODESYS Forge
talk
(Post)
Hello everyone, I downloaded the "Example: PLC Chat Net Base Services" example from the Codesys help site to review and try it out. https://content.helpme-codesys.com/en/CODESYS%20Examples/_ex_cds_plc_chat_net_base_services.html However, when I open and compile the example program with SP21 Patch2, I get the strange error message below regarding Visualisation component, and it fails to compile. " [ERROR] visuelems, 4.8.0.0 (system): VisuFbTabControl: C0138: No matching 'FB_Init' method found for instantiation of VisuClientObjectMgr " Are others experiencing the error "C0138: No matching 'FB_Init' method found for instantiation..." when trying to compile example projects created with older versions of Codesys with a later version of the IDE? How did you overcome this problem? Could you share your solutions? Regards, Imdat
Last updated: 2025-08-26
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.