Post by snhatton on Add device greyed out
CODESYS Forge
talk
(Post)
What type of PLC are you using?
Last updated: 2023-12-19
Post by snhatton on Add device greyed out
CODESYS Forge
talk
(Post)
What type of PLC are you using?
Last updated: 2023-12-19
Post by reinier-geers on Inheritance of axis
CODESYS Forge
talk
(Post)
Do You have a solution ? Ive want the same
Last updated: 2024-01-12
Post by alexgooi on Codesys OPC DA server requires more then 2 GB of ram
CODESYS Forge
talk
(Post)
Last updated: 2024-01-25
Post by jamil on Send_email Codesys V3.5
CODESYS Forge
talk
(Post)
Hello Guys Where can I find the library of Send_Mail (FB)
Last updated: 2024-01-31
Post by jamil on Send_email Codesys V3.5
CODESYS Forge
talk
(Post)
Hello Guys Where can I find the library of Send_Mail (FB)
Last updated: 2024-01-31
Post by jackbrady on Function Blocks and arrays of function blocks
CODESYS Forge
talk
(Post)
Thanks for the reply. Much appreciated.
Last updated: 2024-02-15
Post by noahpiskor on Configuration dialog screen with a Frame
CODESYS Forge
talk
(Post)
Hello, I'm trying to configurate a frame. My goal is to have a frame with the symbol of a component. When I press the symbol a dialog screen of my choosing comes up. What variable should be used in the frame configuration, that I can put in the input configuration of my symbol. so that I can chose which dialog screen comes up on my multiply instances of this frame. Kind regards. Noah Piskor CODESYS V3.5 SP19 Patch 6
Last updated: 2024-04-02
Post by jonasz on Discontinuity of A/B/C axis movement.
CODESYS Forge
talk
(Post)
PrtScr
Last updated: 2024-05-09
Post by talhaali on Alarm Class "Notification Actions"
CODESYS Forge
talk
(Post)
Hi, do you have code implementation of this?
Last updated: 2024-06-06
Post by talhaali on Alarm Class "Notification Actions"
CODESYS Forge
talk
(Post)
Hi, do you have code implementation of this?
Last updated: 2024-06-06
Post by thieulam on Codesys access to DICTIONARY OBJECTS of ethercat (CoE ) Servo Drive
CODESYS Forge
talk
(Post)
ok. tnx! best regards.
Last updated: 2024-06-19
Post by thieulam on Codesys access to DICTIONARY OBJECTS of ethercat (CoE ) Servo Drive
CODESYS Forge
talk
(Post)
Last updated: 2024-06-19
Post by jose-coro on Trouble installing codesys 64 3.5.19.0
CODESYS Forge
talk
(Post)
yes of course
Last updated: 2024-06-19
Post by gseidel on MC_Phasing state explenation
CODESYS Forge
talk
(Post)
Hi kenth1973, MC_Phasing has been improved in recent versions. I would recommend to install the latest version of SoftMotion (4.20.1.0) and test whether the problem still exists, and if so, what the error identifier is. (Also check the PLC log in this case, it might contain additional information.) Setting the internal state of the FB is not recommended, it could lead to malfunction of the FB and unintended movements of the drive. Best regards, Georg
Last updated: 2025-11-28
Automation Server π¬π§
CODESYS Forge
talk
(Discussion)
The Industry 4.0 administration platform for users and operators of CODESYS compatible controllers
Last updated: 2026-02-11
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 kurtk on dynamic modbus devices
CODESYS Forge
talk
(Post)
I am CODESYS neophyte getting my wheels on. My goal is to re-platform an existing PLC application written in 61131 ST I've got the majority of the code/variables in a compilable form - excluding all the IO and comms nuances I am not sure whether this the right forum An important functionality which I implemented on the other platform was totally dynamic modbus devices... Most configurations I have come across impose static MB configs in which all configured devices MUST be present and functional... I have monkeyed around with MB enough to know that herding a half dozen MB cats into a working config can be tricky. I just do them one at a time and dynamically turn them on/off in whatever combination is convenient with ID, IP, baud, parity etc being runtime tweakable. I am totally curious whether this is possible with codesys, or whether its device configuration corrals one into a static cage which requires re-building the code to support flexible variations. Best regards
Last updated: 2025-08-19
Post by kurtk on runtime dynamic modbus devices
CODESYS Forge
talk
(Post)
I am CODESYS neophyte getting my wheels on. My goal is to re-platform an existing PLC application written in 61131 ST I've got the majority of the code/variables in a compilable form - excluding all the IO and comms nuances I am not sure whether this the right forum An important functionality which I implemented on the other platform was totally dynamic modbus devices... Most configurations I have come across impose static MB configs in which all configured devices MUST be present and functional... I have monkeyed around with MB enough to know that herding a half dozen MB cats into a working config can be tricky. I just do them one at a time and dynamically turn them on/off in whatever combination is convenient with ID, IP, baud, parity etc being runtime tweakable. I am totally curious whether this is possible with codesys, or whether its device configuration corrals one into a static cage which requires re-building the code to support flexible variations. Best regards
Last updated: 2025-08-19
Post by timvh on Sorting array of any-sized structure
CODESYS Forge
talk
(Post)
Look all the way at the end of the link below. This provides a way to use arrays with various lengths: https://content.helpme-codesys.com/en/CODESYS%20Development%20System/_cds_datatype_array.html
Last updated: 2023-08-18
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 janderson on OPC UA Server limitations, large array crashes runtime
CODESYS Forge
talk
(Post)
when using an array of structs, the runtime crashes. but when using an array of LREALS, it'll do 100k at least
Last updated: 2023-08-23
Post by tvm on Web Client (HMI) Disconnects from Webvisu (Weidmuller u-OS)
CODESYS Forge
talk
(Post)
We have seen this kind of thing before. I have two questions: 1. What kind of HMI are you using? 2. When this happens, are you able to connect using https, on port 8089?
Last updated: 2023-09-06
Post by sivakov on Change the default ssh port
CODESYS Forge
talk
(Post)
Of course there is! =) just edit file/etc/ssh/sshd_config and restart ssh service. but you'll lose the possibility of runtime management through "update Linux", so there enother question - how to change default port in codesys it-self?
Last updated: 2023-10-11
How to use more 4 instances of CANopen/Profibus/Modbus with The application-based license CODESYS Control
CODESYS Forge
talk
(Thread)
How to use more 4 instances of CANopen/Profibus/Modbus with The application-based license CODESYS Control
Last updated: 2023-11-02
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.