Post by hanoues on Holding brake release
CODESYS Forge
talk
(Post)
I've tried using the SMC3_BrakeControl function block to control the brake, but unfortunately, it's not functioning as expected. Despite setting the appropriate parameters and inputs, the brake control does not operate correctly. Any insights or suggestions on resolving this issue would be greatly appreciated. STATE_MANUAL.UNLOCK_BRAKE: IF Button_release_brake THEN GVL.drum1_Control_Brake:=TRUE; FBA.T11_ContBrake.bExecute := TRUE; GVL.manual_state := STATE_MANUAL.WAIT_FOR_BRAKE_RELEASE; END_IF STATE_MANUAL.WAIT_FOR_BRAKE_RELEASE: IF FBA.T11_ContBrake.bDone THEN FBA.T11_ContBrake.bExecute := FALSE; GVL.manual_state := STATE_MANUAL.WAIT_START_BUTTON; END_IF
Last updated: 2024-04-08
Post by idir93dz on Identifier 'IoDrvGPIO' not defined
CODESYS Forge
talk
(Post)
Hello, After installing the pi runtime and creating a pi project, I get these errors: [ERROR] Untitled3: Application [Device: PLC Logic]: C0046: Identifier 'IoDrvGPIO' not defined [ERROR] Untitled3: Application [Device: PLC Logic]: C0080: Function block 'IoDrvGPIO' must be instantiated to be accessed [ERROR] Untitled3: Application [Device: PLC Logic]: C0004: 'IoDrvGPIO' is no component of 'IoDrvGPIO'
Last updated: 2024-04-10
Post by rikher on Error: Too few outputs exixts for the box 'MemCopy' (minimum is 1).
CODESYS Forge
talk
(Post)
I am using MemCopy Function for this example: https://www.youtube.com/watch?v=DeTCT5Vyn28&t=482s It is from library WagoSysPlainMem. I want to use this for an MQTT example. However, Codesys is complaining the block does not have outputs. How to fix this?
Last updated: 2024-06-19
Post by imdatatas on Auto Declare window disappears by itself in the Ladder editor
CODESYS Forge
talk
(Post)
Hello Everyone, The "Auto Declare" window disappears by itself in the Ladder editor. For example, a new function block is wanted to be added to the Ladder editor. (For example; MC_Jog block and instance name will be fbMcJog). To do this, "Empty box with EN/ENO" is added to the ladder line from the Toolbox on the right and when you type MC_Jog in the empty box and press enter, normally the "Auto Declare" window appears and you are expected to be asked to write the instance name here. However, this "Auto Declare" window closes itself immediately, it does not wait for the user to enter a value or close the window. I often encounter this situation in many IDE versions. Does this seem like a bug? If anyone has encountered a similar problem while creating a new program name, function or function block instance name regarding the "Auto Declare" window and knows a solution, I would be glad if you could share it. Best wishes Imdat
Last updated: 2025-03-06
Post by kurtk on Modbus TCP Server
CODESYS Forge
talk
(Post)
ditto I'm just getting my codesys wheels on and the modbus stuff is confusing. I am re-platforming an existing PLC application On that platform one could simply tag variables to register numbers and the whole shooting match could be accessed via modbus and typically holding registers and input registers were treated the same way... On codesys I see there is a modbus TCP server Device I/O mapping tab and a Modbus TCP server IEC objects tab I get the sense that one can configure the serving of variables both/either way but am unclear about the optimum/necessary path. Apparently in the IEC Objects tab one can "ADD" something or other - presumeably channels. I have created a preliminary function block but the Select Function Block window shows nothing to select WTH ? I exported the Device mapping and was surprised to see the entire Device IO map - complete with all the bit-mapped holding/input registers!! WTH!!?? Bit-mapped words are strictly a nichey special purpose application. I am targetting making a couple hundred variables available which would turn into hundreds of pages of IO/mapping Is the FUnction Block IEC objects thingy an alternative to that ? I notice that CODESYS shows the tags which the PLC used to specify the register address... are tags used in CODESYS for any specific hard-core purpose ?
Last updated: 2025-08-19
Post by grant32 on RAMP_REAL FB is retaining my output value when i try to re use the FB
CODESYS Forge
talk
(Post)
Hello, I'm relatively new to PLC programming. I am trying to creat a ramp down function, I have an example here of what I am using. I can get the function to work, the issue is that the OUT (variable3) value is being held by the FB so after I use it once it no longer works. In this example i set variable3 to 100 and the rest is as seen, over the course of a minute it ramped down to 10 (as desired). But when I deenergize TEST_START, set variable3 back to 100, and then re-energize TEST_START it immediately jumps back to the previously held value 10. The reset on this block just pauses the function and holds the last OUT. In my case I will need the function to start OUT at a set value, ramp down to the IN (variable2) value, and then accept a new OUT value to ramp down next time the block is energized. Hopefully this made sense, if anyone has any advice that would be awesome!
Last updated: 2024-07-29
Post by lookingforhelp on CODESYS v3.5 SP18
CODESYS Forge
talk
(Post)
I am so sorry this topic was posted twice and the subject is not completely. It should named like "CODESYS v3.5 SP18 - Missing Action".
Last updated: 2025-04-17
Post by timvh on Alarm Configuration Notification Action
CODESYS Forge
talk
(Post)
If it is a BOOL, then use: ...Error_Active := ALARM BOOL: ALARM INT: STATE
Last updated: 2024-05-14
Post by alexgooi on Function Blocks and arrays of function blocks
CODESYS Forge
talk
(Post)
Hi Jack, I think you have to look at a FB in a different way. A Function block (Class) can contain its own data. In other words don't define loose data in your GVL, but define a instance of a FB (Object) in your GVL: Example: Function_Block Basic_Class VAR_INPUT Open_Command: BOOL; END_VAR VAR_OUTPUT Opened: BOOL; END_VAR if Open_Command then Opened := TRUE; ELSE Opened := FALSE; END_IF Global Variables Objects: ARRAY[1..100] OF Basic_Class; //Here you ar defining you objects END_VAR In your code you can directly acces the data and couple it to the IO: GVL.Objects[1].Open_Command := %IX0.0; %QX0.0 := GVL.Objects[1].Opened; //To call the code itself use: GVL.Objects[1](); If you want to take this a step further you are also able to add methods and properties to the FB/Class end thereby creating a OOIP program
Last updated: 2024-02-15
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
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
Issue with Timer-Based Increment Function in CoDeSys Ladder Logic (LD)
CODESYS Forge
talk
(Thread)
Issue with Timer-Based Increment Function in CoDeSys Ladder Logic (LD)
Last updated: 2025-08-12
Can't get the IEC var address correcttly when using the function "IecVarAccGetAddress 2"
CODESYS Forge
talk
(Thread)
Can't get the IEC var address correcttly when using the function "IecVarAccGetAddress 2"
Last updated: 2018-12-25
How do I pass a array throught a function and return an array - Pointers
CODESYS Forge
talk
(Thread)
How do I pass a array throught a function and return an array - Pointers
Last updated: 2018-04-16
read SVN-revisions of project and library insinde a library function
CODESYS Forge
talk
(Thread)
read SVN-revisions of project and library insinde a library function
Last updated: 2018-05-16
Is it possible to create extensible Parameters in CODESYS ST function blocks?
CODESYS Forge
talk
(Thread)
Is it possible to create extensible Parameters in CODESYS ST function blocks?
Last updated: 2021-09-17
Very slow downloading of a project which has 10 000 function blocks
CODESYS Forge
talk
(Thread)
Very slow downloading of a project which has 10 000 function blocks
Last updated: 2018-03-05
Pass the second array dimension into a function as a parameter
CODESYS Forge
talk
(Thread)
Pass the second array dimension into a function as a parameter
Last updated: 2022-05-10
it is possible to add a function template to a program from scripting ...
CODESYS Forge
talk
(Thread)
it is possible to add a function template to a program from scripting ...
Last updated: 2018-05-25
How can you Toggle a Function BOOL input from a different POU?
CODESYS Forge
talk
(Thread)
How can you Toggle a Function BOOL input from a different POU?
Last updated: 2021-08-01
Disable SIL2 warning 'Safe POU call to non safe library function is not allowed'
CODESYS Forge
talk
(Thread)
Disable SIL2 warning 'Safe POU call to non safe library function is not allowed'
Last updated: 2019-03-28
Extending a library function in an application and getting Interface conversion errors
CODESYS Forge
talk
(Thread)
Extending a library function in an application and getting Interface conversion errors
Last updated: 2020-06-03
There is an error When calling IecTaskGetInfo3 with the RTS_IEC_HANDLE from SchedGetTaskHandleByName function
CODESYS Forge
talk
(Thread)
There is an error When calling IecTaskGetInfo3 with the RTS_IEC_HANDLE from SchedGetTaskHandleByName function
Last updated: 2017-09-11
How to initialize arrays of function blocks that need FB_Init to work
CODESYS Forge
talk
(Thread)
How to initialize arrays of function blocks that need FB_Init to work
Last updated: 2020-08-21
Can I use the "High Speed Counter" function on Raspberry PI.
CODESYS Forge
talk
(Thread)
Can I use the "High Speed Counter" function on Raspberry PI.
Last updated: 2017-05-09
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.