Post by timvh on Alarmmanagement – Dynamic Alarm List
CODESYS Forge
talk
(Post)
Probably best to create an alarm template for your motor function block. Then automatically the alarm manager can be filled with all the alarms for all instances of the motor function blocks (based on the created alarm template). See: https://content.helpme-codesys.com/en/CODESYS%20Visualization/_cds_obj_alarm_group_template.html
Last updated: 2026-04-25
Post by simotion on Inheritance of axis
CODESYS Forge
talk
(Post)
I have developped a function block 'Axis' the inherits from 'AXIS_REF_SM3' -> FUNCTION_BLOCK Axis EXTENDS AXIS_REF_SM3 In my global variable list I define a variable MasterDrive of type Axis and assign Axis1. Axis1 is a virtual drive (AXIS_REF_VIRTUAL_SM3). This type should inherit from AXIS_REF_VIRTUAL. VAR_GLOBAL MasterDrive : Axis := Axis1; However I get the error 'Cannot convert type'. What is the way to obtain what I want : function block inheriting AXIS_REF_SM3 and initialising this function block with a Softmotion virtual or real axis?
Last updated: 2023-12-07
Post by jbu0105 on Dynamic limits invaild
CODESYS Forge
talk
(Post)
Hello, For my delta robot i wil use the MC_MoveCirvularAbslolute function. Every time that i set the execute of this function has my Axis group a error. Thats is: The dynamic limits for the movement are invalid. What can i do that this error go away? I saw a view funcitons with limit dymanics but i don't now how they work. If i use the function MC_MoveLinearAbsolute than i have no error. Does anyone know how i fix this?
Last updated: 2025-04-04
Post by jbu0105 on Dynamic limits invaild
CODESYS Forge
talk
(Post)
Hello, For my delta robot i wil use the MC_MoveCirvularAbslolute function. Every time that i set the execute of this function has my Axis group a error. Thats is: The dynamic limits for the movement are invalid. What can i do that this error go away? I saw a view funcitons with limit dymanics but i don't now how they work. If i use the function MC_MoveLinearAbsolute than i have no error. Does anyone know how i fix this?
Last updated: 2025-04-04
Post by apurv on Cannot pass array of constant size to a function as a reference
CODESYS Forge
talk
(Post)
I have a Array of constant size defined like this Var Constant MAX_SIZE :UINT := 10; End_var VAR array : ARRAY[0..MAX_SIZE] OF INT; END_VAR Now I want to pass this array to a function by reference, Function fun : INT VAR_IN_OUT CONSTANT MAX_SIZE : UINT; END_VAR VAR_INPUT array : REFERENCE TO ARRAY[0..MAX_SIZE] OF INT; END_VAR but when I run this it gives strange Errors Error : Cannot Convert type 'ARRAY [0..MAX_SIZE] OF INT' to type 'ARRAY[0..MAX_SIZE] OF INT'
Last updated: 2024-01-07
Post by sturmghost on Visualization using methods and cyclic ST-calls
CODESYS Forge
talk
(Post)
I found a way to do it: You can use, for example, the text variable property of any visualization element and call a function in it. Example: Write a test POU as a function (FUN), like MyTestFun which need a boolean Variable as an input value. Now write into the text variable property: MyTestFun(bBooleanValue) Thats it. The function is called at each visu_task cycle.
Last updated: 2024-01-22
Post by micik on CAA File, how to check whether file exists or not
CODESYS Forge
talk
(Post)
Hello, what would be the most efficient way to check whether the file exists or not. I don't want to use file.Open function, it seems like rather inefficiet operaton. I considered GetAttribute function, but this function doesn't accept filename (with path) as an input. Basically I need to check first time when program is loaded to the runtime i.e. when application is started for the first time, whether a file exists on the specific location or not.
Last updated: 2024-05-16
Post by shaunvdm on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
Hi We have picked up an issue OSCAT_BASIC.Scale_r function call not working in the old lad and FBD version 4.60. Gives no output on the function call. When we convert this to LAD2 it works. As can be see by the two screenshot in normal LD not working in LAD2 it works. Please confirm if this is an issue with Oscat or with LAD in 3.5.21sp3, is there an workaround. Regards Shaun
Last updated: 2025-10-23
Post by shaunvdm on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
Hi We have picked up an issue OSCAT_BASIC.Scale_r function call not working in the old lad and FBD version 4.60. Gives no output on the function call. When we convert this to LAD2 it works. As can be see by the two screenshot in normal LD not working in LAD2 it works. Please confirm if this is an issue with Oscat or with LAD in 3.5.21sp3, is there an workaround. Regards Shaun
Last updated: 2025-10-23
Post by kishan on OSCAT Scale_r function not working in LD 4.60 works in LAD2 on 3.5.21sp3
CODESYS Forge
talk
(Post)
here is formula for scale function you can impliment your own scale function Output=OutMin+(Input−InMin)×(InMax−InMin)(OutMax−OutMin) FUNCTION_BLOCK FB_Scale VAR_INPUT xIn : REAL; // Input value (e.g., raw sensor) xInMin : REAL; // Input range minimum xInMax : REAL; // Input range maximum xOutMin : REAL; // Output range minimum xOutMax : REAL; // Output range maximum END_VAR VAR_OUTPUT xOut : REAL; // Scaled output END_VAR VAR xGain : REAL; xOffset : REAL; END_VAR // Implementation xGain := (xOutMax - xOutMin) / (xInMax - xInMin); xOffset := xOutMin - xGain * xInMin; xOut := xGain * xIn + xOffset;
Last updated: 2025-10-26
Post by rossanoparis on Internal Error (ARM): Unsupported conversion! With new version v3.5 SP21
CODESYS Forge
talk
(Post)
I have updated CODESYS development tool to the version v3.5 SP21 (64bit) The previous version was v3.5.20.40 Compiling an existing application with the new evelopment tool I get the following error. kunbusiodrvrevpibridge, 1.4.1.0 (kunbus gmbh): IoDrvScanModules [IoDrvRevPiBridge](Line 51, Column 1 (Impl)): Internal Error (ARM): Unsupported conversion! This error was not reported in the previous compiler version and is now highlighted in a third-party library, which I cannot change or modify. The error is due to the following conversion: m_udiError := TO_UDINT(excCode); . The excCode variable is a system type, declared as shown below, and should be converted to a UDINT excCode : __SYSTEM.ExceptionCode; m_udiError: UDINT; . I would appreciate it if someone could provide feedback on this issue.
Last updated: 2025-04-15
Post by astrum on OPC UA Information Model Error "Dimensions must be empty"
CODESYS Forge
talk
(Post)
Hello everyone, does anyone know what this error means: Internal Error in code generation for http://opcfoundation.org/UA/DI/: Dimensions must be empty. I use the standard information models from Codesys and haven't even called the Information Model, but my program can't compile. the only thing I did was to insert the Communication Manage.
Last updated: 2025-08-11
Post by namwind on Wago 8210
CODESYS Forge
talk
(Post)
Hi guys, I ran into problem with the controller is not saving the project into the internal memory. I was able to download the project to the controller, but as soon as I try to recycle the power it power back up with no project. I have not ran into this problem before. Please help me out thank you.
Last updated: 2024-03-02
Post by vstrom on Codesys v3.5.22.10 - Internal error:System.AggregateException...Value cannot be null...Parameter name: expLValue
CODESYS Forge
talk
(Post)
Hi to all, I receive an error when I try to compile a project that in v.3.5.21.50 have no problem. The error seems to comes out when I add the Visualization part into the project. The complete error is: [ERROR] Internal error:System.AggregateException: One or more errors occurred. ---> System.Exception: Internal error in Code ---> System.ArgumentNullException: Value cannot be null. Parameter name: expLValue at _3S.CoDeSys.LanguageModelManager.LanguageModelBuilder.CreateAssignmentExpression(IExprementPosition pos, IExpression expLValue, IExpression expRValue, Operator kindof) at _3S.CoDeSys.LanguageModelManager.LanguageModelBuilder.CreateAssignmentStatement(IExprementPosition pos, IExpression expLeft, IExpression expRight) at ..(IExpression , IExpression ) at ..(_IAssignmentExpression , ) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.AssignmentStatementReplacer.ReplaceExpressionStatement(_IExpressionStatement expressionStatement, _ICompiledPOU cpou) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_IIfStatement ifst) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_IIfStatement ifst) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_IForStatement forloop) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at ..(_ICompiledPOU ) at ..(_ICompiledPOU ) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Codegeneration.(_ICompiledPOU , _ISignature ) at ..(_ICompiledPOU ) at ..(_ICompiledPOU& ) at ..() --- End of inner exception stack trace --- --- End of inner exception stack trace --- at _3S.CoDeSys.Compiler35220.CompilerPhases.CompilerPhase5_Codegenerator.(IList1 ) at _3S.CoDeSys.Compiler35220.CompilerPhases.CompilerPhase5_Codegenerator.(IScope5 , IList1 ) at _3S.CoDeSys.Compiler35220.CompilerPhases.CompilerPhase5_Codegenerator.(ICodegenerator ) at _3S.CoDeSys.Compiler35220.CompilerPhases.CompilerPhaseControllerGenerateCode.() at _3S.CoDeSys.Compiler35220.CompilerPhases.CompilerPhaseControllerGenerateCode.() ---> (Inner Exception #0) System.Exception: Internal error in Code ---> System.ArgumentNullException: Value cannot be null. Parameter name: expLValue at _3S.CoDeSys.LanguageModelManager.LanguageModelBuilder.CreateAssignmentExpression(IExprementPosition pos, IExpression expLValue, IExpression expRValue, Operator kindof) at _3S.CoDeSys.LanguageModelManager.LanguageModelBuilder.CreateAssignmentStatement(IExprementPosition pos, IExpression expLeft, IExpression expRight) at ..(IExpression , IExpression ) at ..(_IAssignmentExpression , ) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.AssignmentStatementReplacer.ReplaceExpressionStatement(_IExpressionStatement expressionStatement, _ICompiledPOU cpou) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_IIfStatement ifst) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_IIfStatement ifst) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_IForStatement forloop) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Optimization.ExpressionStatementReplacerVisitor.visit(_ISequenceStatement sequenceStatement) at ..(_ICompiledPOU ) at ..(_ICompiledPOU ) at _3S.CoDeSys.Compiler35220.Phase5_Codegeneration.Codegeneration.(_ICompiledPOU , _ISignature ) at ..(_ICompiledPOU ) at ..(_ICompiledPOU& ) at ..() --- End of inner exception stack trace ---<---
Last updated: 2026-04-22
Post by hhermsen on Codesys v3.5.22.10 - Internal error:System.AggregateException...Value cannot be null...Parameter name: expLValue
CODESYS Forge
talk
(Post)
Internal compiler error in SP22.x (expLValue null) — SP21 unaffected — need help isolating root cause I'm hitting the same internal compiler crash reported here. Same exact stack trace (AssignmentStatementReplacer → CreateAssignmentExpression → ArgumentNullException: Value cannot be null. Parameter name: expLValue), but in my case triggered by a self-written library, not a Visualization object — so this looks like a general SP22.x codegen regression rather than something tied to one specific language feature. What I've confirmed: Reverting to SP21 — no issue, builds clean SP22.x — internal compiler crash during Build > Application, code generation phase, with zero useful location info (no POU, no line number) check_for_errors/precompile-only passes cleanly; the crash only happens on a real full build, meaning static analysis never sees it coming What I've tried to isolate the cause (without success): Removed a suspected pattern involving a VAR_IN_OUT parameter used directly as a FOR-loop control variable, combined with early RETURN inside the loop — crash persisted identically afterward Confirmed no Visualization Manager or similar object in the project (ruling out the trigger in the linked report) Used an AI coding assistant (Claude Code) to search for other suspicious patterns — no luck pinpointing the exact statement Question @codesys-com Since the compiler gives no location info at all, is there any way to get more diagnostic output from the SP22.x codegen phase (verbose/debug build flags, log level settings, etc.)? Without that, isolating this in a large library means blind bisection — cutting the codebase in half repeatedly until the crash disappears, which is slow and error-prone without official tooling support. Happy to share the affected project or a minimal repro if that helps CODESYS engineering track it down.
Last updated: 2026-07-11
Post by i-campbell on Ping By Name
CODESYS Forge
talk
(Post)
https://content.helpme-codesys.com/en/libs/Net%20Base%20Services/3.5.19.20/NetBaseServices/Function-Blocks/IP/fld-IP.html resolve hostname and ping?
Last updated: 2023-08-24
Post by matthew on New Ladder Editor Issues
CODESYS Forge
talk
(Post)
Hi There, When using the new ladder editor there is no option for function blocks to Remove uncalled FB call parameters. I also see no update function block. When you double click the function block it no longer opens the function block. I also now get warnings if I insert FB call without a contact in front. Warning is: (Impl)): C0373: Expression or part of it has no effect I take it the new editor must work differently? The only reason for using new ladder editor is the ST execute/block editing is far better, If you have alot of text in the old ST execute the editor window is very small and when online it's even worse. The new ST block seems a lot better Thanks!
Last updated: 2023-10-10
Post by smartcoco on Visualization using methods and cyclic ST-calls
CODESYS Forge
talk
(Post)
I think what you want is a declaration period function for the page, but unfortunately CODESYS does not have it.
Last updated: 2023-10-17
Post by jerry-sorrells on Find Function: Object reference not set to an instance of an object.
CODESYS Forge
talk
(Post)
Build: CODESYS 3.5 SP19 Patch 1 (64-bit) Host OS: Windows 10 Target: Linux SL I have a project with programs in Structured Text and Ladder Diagram. When I try to use the Find function, it works for the Active Editor; however, when I try to use Find for the Entire Project, I get the error "Object reference not set to the instance of an object." I know what this error means in the context of the program, but I have no idea why the find function is returning this error. The variable I am searching does not matter: it happens with all variables. Any help with this will be greatly appreciated. I generally use the Find function quite often as I am developing and not having it is really slowing me down.
Last updated: 2023-10-23
Post by pascaljt on Function block for Ethernet/IP
CODESYS Forge
talk
(Post)
Hello, I program a function for an Ethernet/IP controller. I made a structure with input and output corresponding with the map of my controller for the function block. My problem is that I don't know how to do the link between the controller and my PLC (CC 100 from Wago). The addresses declare in Codesys are illogic, The first addresses are 12 and 13 then 7 then 4. How to do corresponding the addresses of the controller and the input / output structure ? IP adress ? Does I must create the all variables of controller with the controller adresses to use with the function block ? Thanks for your help. (I hope I'm clear, I'm not english)
Last updated: 2023-10-26
Post by eguerra on Error in ScriptingEngine Docs - create_pou()
CODESYS Forge
talk
(Post)
In the ScriptingEngine documentation there seems to be an error (or missing information) in the ScriptIecLanguageObjectContainer part ( https://content.helpme-codesys.com/en/ScriptingEngine/ScriptIecLanguageObjectContainer.html#ScriptIecLanguageObjectContainer.ScriptIecLanguageObjectContainer ). The description of the function create_pou() doesn't specify the correct arguments requested, it only says create_pou(type: SpecialPouType) and a script using the documentation definition of the function will raise an error. I tried passing the function arguments similar to the ones specified for the create_dut() function and it seems to work fine: create_pou(name, PouType) , name : str UPDATE: The offline help has the correct definition IExtendedObject<IScriptObject> create_pou( string name, PouType type = PouType.FunctionBlock, Nullable<Guid> language = null, string return_type = null, string base_type = null, string interfaces = null )
Last updated: 2024-08-05
Post by tk096 on SMC_NCDecoder very slow to decode lines
CODESYS Forge
talk
(Post)
Hi, you can call the decoder function block in a loop and/or decrease the task cycle interval of Task_PATH.
Last updated: 2024-08-23
Post by opineiro on Stack overflow with really simple function
CODESYS Forge
talk
(Post)
Thanks, I'm going to rework everything with this in mind.
Last updated: 2024-09-23
Post by gatto on library ModbusTCP Slave 4.1.0.0 - function block ModbusServer
CODESYS Forge
talk
(Post)
I've always liked codesys, but sometimes it drives me crazy
Last updated: 2024-11-28
Post by struccc on library ModbusTCP Slave 4.1.0.0 - function block ModbusServer
CODESYS Forge
talk
(Post)
:) Yeah... Definitely not a "boring" platform, they are nice to give us work for the upcoming years... :)
Last updated: 2024-12-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.