Post by remcoborghuis on C0032 Error to type Pointer to IoConfigParameter
CODESYS Forge
talk
(Post)
Hi All, I'm using codesys on a raspberry PI. I use V3.5 SP18 Patch 2 development system and codesys for raspberry pi 4.8.0.0. Sometimes when I build the project I get error messages C0007: Expression expected instead of ',' and C0032: Cannot convert type 'Unknow type: '!!!'ERROR'!!!" to type 'POINTER TO IoConfigParameter'. I can't click on the message to bring me to the fault. After I do a "Clean all" the build finishes successful. Anyone who can help me with this problem? Thanks! Remco Borghuis
Last updated: 2024-03-25
Post by mimodia1 on I do not have any reedings in RUN MODE from MPU6050........
CODESYS Forge
talk
(Post)
Good morning, mecke96. Exactly the same thing happens to me, although I have not done the part of executing a .py file. It only reads the temperature and the counter, but the other values are zero as in your image "no readings". I have tested the MPU6050 device on an Arduino and it works. Could you tell me if you solved it?
Last updated: 2024-03-29
Post by marcolim on RPC failed 0x16c9a085
CODESYS Forge
talk
(Post)
Hello Matteo, I think the problem is about configuration of firewall (windows firewall usually). You can disable temporary the firewall to check if the communication works. Eventually you can: Go to the control panel -> Windows Defender Firewall -> Allow an app or feature Enable the options to change the settings. Scroll down in the application list to CODESYS and CODESYS ControlService. If you donβt see this application add it to the list. Make sure that all the checkboxes are checked (Domain, Private and public).
Last updated: 2024-04-01
Post by esave on Softmotion Axis Controll
CODESYS Forge
talk
(Post)
Hello everybody I have two of these EtherCat CiA402 stepper driver from Leadshine: https://www.leadshine.com/product-detail/EM3E-556E.html I want to controll them. I already have implemented them in Codesys with Softmotion. I see the position, the velocity and the status word so I can read everything. See picture 1. But when I want to write something like MC_Power or MC_MoveAbsolut with the SM3_Basic library it wont work and with the MC_Reset POU it shows: "SMC_R_DRIVE_DOESNT_ANSWER". See picture 2. Can somebody help me? Thanks a lot esave
Last updated: 2024-05-24
Post by tba123 on Script engine, git checkout, Project Environment
CODESYS Forge
talk
(Post)
Hi, I clone a git repository with VersionUpdateFlags.SilentMode, works fine But now I want to checkout a specific commit (with branch_copy command). When using the branch_copy command there is no VersionUpdateFlags and I get this annoying "Project Environment" prompt, blocking further execution of my script without user input. I already tried something like system.prompt_answers[???] = PromptResult.Cancel but I donΒ΄t know the string I need here.. The goal is to have a script that clones a repository and compiles every tag + create compiled libraries.
Last updated: 2024-06-10
Post by dekelec on Request for IFM ecoPlus21 installation package
CODESYS Forge
talk
(Post)
Hello, Iβm looking for the ecoPlus21 development environment used with early IFM controllers (e.g., CR0020_Q firmware). We have an old project created in ecoPlus21 that cannot be opened in CoDeSys 2.3, and IFM no longer provides this software. If anyone still has the ecoPlus21 installer or knows where it can be downloaded, please let me know. Itβs needed only for recovery and migration of an existing project. Thanks in advance,
Last updated: 2025-10-17
Post by mizi on SM_Drive_Virtual
CODESYS Forge
talk
(Post)
Hi I recently started learning Codesys SoftMotion. At first, I mainly used YouTube videos. I stopped at two videos where the same problem keeps recurring. fbReadPos( Axis := X_Axis, Enable := TRUE, Position => gAxes.lrActualPos); <- axis cannot move I checked the entire code line by line. Zero errors. GPT spits out nonsense, throwing up increasingly worse errors. And when I copy its code, it says the code is wrong and gets stuck in a loop of its own stupidity. Can anyone explain why it doesn't work? Link to the video below: https://www.youtube.com/watch?v=CYa2HvYZgbM&list=PLsEhEcYjG7na0OveU7cqFXBx7ATyGGn0A&index=3
Last updated: 2025-10-21
Post by rtlman on Scan devices hangs CODESYS
CODESYS Forge
talk
(Post)
Hello, I have a problem that randomly appeared today. When trying to scan a network adapter in "Deploy Control SL" the whole program hangs and needs to be restarted. I have been running "CODESYS v3.5 SP21 Patch 3" for a while and it has worked without any issues until now. I've tried upgrading to "CODESYS v3.5 SP21 Patch 4" with the same result. I've not made any system settings recently that im aware of which could cause this. Has anybody had similar a issue?
Last updated: 2025-12-12
Post by farren on Codesys complains about matching versions
CODESYS Forge
talk
(Post)
I'm building up a 2nd PC to match an existing developer PC. Installed the same SP and Patch levels but when I open a project that was created on the existing PC, Codesys complains that it's not the same version. Attaching a screenshot..... What else is there to match? Also, can all of the libraries that are on the existing machine be copied from it to the new machine and if so, how? (So I get the same versions) Which files/folders do I copy? Thanks! -Farren
Last updated: 2025-12-14
Post by struccc on Inheritence of struct,
CODESYS Forge
talk
(Post)
Strangely reminds me to my struggles... Want to do something "Elegant", reusable, universal, practical... In CODESYS??? π First of all, before you get too deep into this: If you could find a way, to make a "universal" log entry object, containing the variable length data itself, you wouldn't be able to store them in an array, or access them like an array, or pass them by value as a type. (please correct me, if I'm wrong, incorrect, or not precise). Because... Basically you can't declare a type with variable memory footprint. This is a very deeply embedded characteristic of CODESYS, and all IEC 61131-3 systems, and it has many reasons behind. And yes, it is a very common trap / mistake, to forget about. So, with a log entry - I guess - it's pretty much the purpose: store data and metadata together, and then handle it in a uniform way. There are ways to handle this, really depends on what is the purpose. For example: 1. Entries with fixed length (Maybe it is not as evil as it looks for the first time. Depends on the situation, but definitely the fastest and easiest code) You can have your base object, with an internal, fixed length string or byte array variable. I would go with a string, and call it _Data.; And then you can make properties, like As_Bool, As_Int, As_Real... In the 'set' accessors, you can do like: pReal := ADR(_Data); // POINTER TO REAL As_Real := pReal^; In the 'get' accessors, evidently: pReal := ADR(_Data); // POINTER TO REAL pReal^ := AS_Real; Or, can use ANY type, if you are not obsessed with variable / property like access: 2. Fixed length, but nicer First, some disadvantage to any values: - You can only assign values with write access. No literals, constants, etc... - Can only be used as input variable of function or function_block - Therefore, stg you could reach: LogEntry.Initialize (stVariable|rVariable|iVariable|xVariable); Just a quick example (it's funny to play with ANY): Be careful it was not tested. I'm sure can be done better, please feel free to comment FUNCTION_BLOCK FB_LogEntry VAR_INPUT MsgClass : UDINT; // Like DEBUG, WARN, ERR... MsgCode : UDINT; // Like Errors.ERR_FAILED MsgTS : DT; // The timestamp END_VAR VAR _Data : STRING(80); // Our data container... _Descr : __SYSTEM.AnyType; // A standard descriptor for our data, containing TYPE_CLASS, address and size END_VAR METHOD SET_Value : BOOL VAR_INPUT anyValue : ANY; END_VAR VAR I : DINT; diSize : DINT; pStr : POINTER TO STRING; END_VAR // Check what did we receive in anyValue. diSize := anyValue.diSize; // We use constant __SYSTEM.TYPE_CLASS to identify the received data type CASE anyValue.TypeClass OF // Maybe we don't want to store references, pointers... and who knows what else... __SYSTEM.TYPE_CLASS.TYPE_REFERENCE, __SYSTEM.TYPE_CLASS.TYPE_POINTER : SET_Value := FALSE; // For the planned types we will be just fine. TYPE_CLASS.TYPE_BOOL, TYPE_CLASS.TYPE_INT, TYPE_CLASS.TYPE_REAL : SET_Value := TRUE; // Optionally string can be handled separately, maybe we have received STRING(255), but practically it is shorter than 80 bytes... TYPE_CLASS.TYPE_STRING : pStr := anyValue.pValue; diSize := MIN(anyValue.diSize, LEN(pStr^) + 1); // Get the actual size, and rewrite the received structure member diSize := MIN(SIZEOF(_Data), diSize); // Can chop down the received string to our length... SET_Value := TRUE; // Maybe want to play a little bit more here, to narrow down or convert datatypes, etc... // Or just reject any other datatype ELSE SET_Value := FALSE; RETURN; END_CASE // Fail, if the received value is still larger than our container... IF diSize > SIZEOF(_Data) THEN SET_Value := FALSE; END_IF // Here we should be ok, just set up the _DataType structure, and copy store the data IF SET_Value THEN THIS^._Descr.TypeClass := anyValue.TypeClass; // The typeclass is already filtered THIS^._Descr.diSize := diSize; // Set the (adjusted) size THIS^._Descr.pValue := ADR(_Data); // This will not change, just to be sure {IF defined (pou:SysMem.SysMemCpy)} SysMem.SysMemCpy(_DataType.pValue, anyValue.pValue, TO_UDINT(anyValue.diSize)); {ELSE} // An ugly replacement MemCpy FOR I:=0 TO diSize - 1 DO _Descr.pValue[I] := anyValue.pValue[i]; END_FOR {END_IF} // Otherwise, in case of failure maybe better set an empty value (overwrite the former data descriptor) ELSE THIS^._Descr.TypeClass := TYPE_CLASS.TYPE_NONE; THIS^._Descr.pValue := ADR(_Data); THIS^._Descr.diSize := 0; END_IF METHOD GET_Value : BOOL VAR_INPUT anyValue : ANY; END_VAR VAR I : DINT; END_VAR // We just have to serve the data, using the __System.AnyType structure received // Roughly we can say: IF anyValue.TypeClass = _Descr.TypeClass AND anyValue.pValue <> 0 // This should not be possible, already taken care of by Codesys (?) THEN {IF defined (pou:SysMem.SysMemCpy)} SysMem.SysMemCpy(anyValue.pValue, _DataType.pValue, TO_UDINT(MIN(anyValue.diSize, _Descr.diSize))); {ELSE} // An ugly replacement MemCpy FOR I:=0 TO MIN(anyValue.diSize -1, _Descr.diSize - 1) DO anyValue.pValue[I] := _Descr.pValue[I]; END_FOR {END_IF} // Just to make sure, that our string is terminated... IF anyValue.TypeClass = TYPE_CLASS.TYPE_STRING THEN anyValue.pValue[anyValue.diSize -1] := 0; END_IF GET_Value := TRUE; RETURN; END_IF // ... But can play more CASE anyValue.TypeClass OF TYPE_CLASS.TYPE_WSTRING : ; // Could do conversion TYPE_CLASS.TYPE_XSTRING : ; // Wow, I have to figure this out TYPE_CLASS.TYPE_PARAMS : ; // BTW, what is this, how to use? TYPE_CLASS.TYPE_ANYNUM : ; // ... END_CASE Be careful it was not tested. I'm sure can be done better, please feel free to comment 3. If you really want to do entries with variable size In a standard environment, it would be similar to the previous, except you dont have the container variable _Data, just use a pointer, practically _Descr.pValue At Initialize (SET_Value), you have to allocate the memory, would be easy with SysMem.SysMemAlloc - nowadays with SysMem.SysMemAllocData -, and you make sure to release it after use with SysMem.SysMemFreeData... SysMemAlloc was already hidden. The problem with this, that sooner or later your application will totally fragment the dynamic memory, and fail... So should look for some form of dynMaybe MemUtils.MemoryManager (I am not sure what is the status and the future of it). 4. You will end up by a LogEntry Factory ... 5. You could still have a look at this IEC Snippets BTW, Standard Codesys Logger is not a bad choice either. If you are really interested, I share some more code / library.
Last updated: 2025-03-09
Transparency of element rectangle works only in simulation not in WebVisu
CODESYS Forge
talk
(Thread)
Transparency of element rectangle works only in simulation not in WebVisu
Last updated: 2023-05-25
What is the best way to upgrade a project to a new version of Codesys?
CODESYS Forge
talk
(Thread)
What is the best way to upgrade a project to a new version of Codesys?
Last updated: 2022-03-01
I want to use the function of PVT to realize move
CODESYS Forge
talk
(Thread)
I want to use the function of PVT to realize move
Last updated: 2013-05-14
Which kinds of data is transferred with 'Scan for devices' command?
CODESYS Forge
talk
(Thread)
Which kinds of data is transferred with 'Scan for devices' command?
Last updated: 2020-12-14
RPI How to login for a copy of the SD image
CODESYS Forge
talk
(Thread)
RPI How to login for a copy of the SD image
Last updated: 2023-10-18
Find Function: Object reference not set to an instance of an object.
CODESYS Forge
talk
(Thread)
Find Function: Object reference not set to an instance of an object.
Last updated: 2023-10-30
Can't open online view of FB instance from code editor, only from Device/POU windows
CODESYS Forge
talk
(Thread)
Can't open online view of FB instance from code editor, only from Device/POU windows
Last updated: 2023-11-08
Post by tk096 on Axis_Ref_SM3.perfTimers
CODESYS Forge
talk
(Post)
Hi, these variables are internal members of the axis. They measure the duration of some internal function calls.
Last updated: 2023-11-23
C0244: No VAR_PERSISTENT list is part of the application to enter instance path for variable
CODESYS Forge
talk
(Thread)
C0244: No VAR_PERSISTENT list is part of the application to enter instance path for variable
Last updated: 2024-07-17
Mimic behavior of the visualization button element with a custom button
CODESYS Forge
talk
(Thread)
Mimic behavior of the visualization button element with a custom button
Last updated: 2024-08-04
how to extract the name of an FB to a variable
CODESYS Forge
talk
(Thread)
how to extract the name of an FB to a variable
Last updated: 2024-10-01
Get $100 EVERY TIME USE THIS COUPON CODE OF ACU934948 TEMU
CODESYS Forge
talk
(Thread)
Get $100 EVERY TIME USE THIS COUPON CODE OF ACU934948 TEMU
Last updated: 2024-10-26
Temu Discount Code Republic of Korea β ["^"acq615756"^"] for First order (Free Credit $750)
CODESYS Forge
talk
(Thread)
Temu Discount Code Republic of Korea β ["^"acq615756"^"] for First order (Free Credit $750)
Last updated: 2024-10-26
Is there a pragma for init/instantiation of local variables in FB (like in Methods)
CODESYS Forge
talk
(Thread)
Is there a pragma for init/instantiation of local variables in FB (like in Methods)
Last updated: 2024-11-05
Programmatically change the IP addresses of the Modbus TCP slave devices
CODESYS Forge
talk
(Thread)
Programmatically change the IP addresses of the Modbus TCP slave devices
Last updated: 2024-12-11
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.