Post by tvm on Function block method default arguments
CODESYS Forge
talk
(Post)
This works for me in Schneider Machine Expert 2.2, which is based on Codesys 3.5.19. It did not work in Machine Expert 2.1, which was based on Codesys 3.5.16. METHOD PUBLIC Method1 : INT VAR_INPUT TestVar: INT:= 5; END_VAR Method1:= TestVar; PROGRAM SR_Main VAR TestFB: TEST_FB; Var1: INT; END_VAR Var1:= TestFB.Method1();
Last updated: 2024-01-04
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 tk096 on Some 'pathetic' errors in SoftMotion program
CODESYS Forge
talk
(Post)
Hi, I suppose that you are referring to the error code "SMC_FB_WASNT_CALLED_DURING_MOTION"? Starting of Softmotion version 4.15.0.0 the instance path of the function block that has not been called is logged into the device log. This might help you to identify why it has not been called.
Last updated: 2024-07-18
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 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
Post by tehthoams on Find Function: Object reference not set to an instance of an object.
CODESYS Forge
talk
(Post)
Hey, Sorry this isn't super helpful, but i had this problem once and was able to resolve it. I can't recall how I solved it and whether it was a problem with my codesys installation or the project itself. If it is the codesys installation, make sure all your required libraries and plugins are installed and available. compare with a colleagues installation if possible. I vaguely recall saving a copy of my project and deleting things one by one until the error went away...
Last updated: 2023-10-30
Post by tehthoams on Find Function: Object reference not set to an instance of an object.
CODESYS Forge
talk
(Post)
Hey, Sorry this isn't super helpful, but i had this problem once and was able to resolve it. I can't recall how I solved it and whether it was a problem with my codesys installation or the project itself. If it is the codesys installation, make sure all your required libraries and plugins are installed and available. compare with a colleagues installation if possible. I vaguely recall saving a copy of my project and deleting things one by one until the error went away...
Last updated: 2023-10-30
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
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
I would like to make use of PWM function on my Raspberry pi with CODESYS.
CODESYS Forge
talk
(Thread)
I would like to make use of PWM function on my Raspberry pi with CODESYS.
Last updated: 2020-07-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
.