Variable Sync Issue In Soft Plc Redundancy
CODESYS Forge
talk
(Thread)
Variable Sync Issue In Soft Plc Redundancy
Last updated: 2024-03-11
Trend recording build error - the variable "arrTraceMgrVariablesImpl" is too large
CODESYS Forge
talk
(Thread)
Trend recording build error - the variable "arrTraceMgrVariablesImpl" is too large
Last updated: 2024-04-10
How to write variable by name
CODESYS Forge
talk
(Thread)
How to write variable by name
Last updated: 2024-06-04
Visualisierung wechseln ΓΌber SPS Variable Codesys 3.5
CODESYS Forge
talk
(Thread)
Visualisierung wechseln ΓΌber SPS Variable Codesys 3.5
Last updated: 2024-08-27
Post by wehling-h on PI Input value
CODESYS Forge
talk
(Post)
Hi geoweil, have you tried to save changed values to remanent area or using a VAR RETAIN? After restart you have to initialize Counter with last remanent value. Depending on changes per cycle and the possibilitiy of your control unit to write remanent storage. Otherwise you need a buffering system to ensure save backup of last PI_Counter value. May you could read this Thread to get further help: https://forge.codesys.com/forge/talk/Engineering/thread/31e1c8349e/#bf48
Last updated: 2024-01-12
Post by john-robinson on Limiting Memory Access of an Array to Within its Bounds
CODESYS Forge
talk
(Post)
Recently we had an issue regarding some simple code to calculate a rolling average. The code indexes from zero to 199 to properly store the current input into a circular buffer which then allows us to calculate a rolling average: VAR input_5s : REAL; outs_arr : ARRAY[0..199] OF REAL; i : USINT := 0; END_VAR ___ //this code runs every five seconds, calculating a rolling average outs_arr[i] := input_5s; i := i + 1; output := OSCAT_BASIC.ARRAY_AVG(ADR(outs_arr), SIZEOF(outs_arr)); IF i >= SIZEOF(outs_arr) THEN i := 0; END_IF There is a simple bug in this code where the index will be set to 0 when it has surpassed the length of the array in bytes (800 in this case) rather than larger than the number of reals in the array (200). The solution here is simple, replacing i >= SIZEOF(outs_arr) with i >= SIZEOF(outs_arr)/SIZEOF(outs_arr[0]). In this example when the index increased to 201 and the line outs_arr[201] := input_5s was called, codesys arbitrarily wrote to the address in memory that is where outs_arr[201] would be if the array was that long. I would like to find a way to wrap the codesys array inside of a wrapper class that checks if an input is within the bounds of an array before writing to that value. I know how I would implement that for a specific array, I could create a method or class that takes an input of an array of variable length, ie. ARRAY[*] OF REAL, but I don't know how to make this for any data type. I am wondering if anyone has ever done anything similar to this, or has any better suggestions to ensure that none of the programmers on this application accidentally create code that can arbitrarily write to other locations in memory.
Last updated: 2024-03-05
Post by siscu on Raspberry Pi: List of available example applications
CODESYS Forge
talk
(Post)
Could this be turned into a library? I'd love for a way to have the main program call a function block method using the program's I2C_master device. I assume I should be passing the master as a variable for the function block, but I don't see how that could be achieved
Last updated: 2024-05-15
Post by ruobian on Analog Input Delay Timer
CODESYS Forge
talk
(Post)
Hello there, I am new here and in programming. I need help with the basics. I am trying to do what I mentioned in the title. I have an analog input. So I have a real or integer data type value. I want to delay it. TON and TOF only work with bool. I think there is a function block that has two inputs, 1 for real or int and 1 for bool. And if bool is true, it will give the output as real or int. I don't know but I need something like this. Actually, it is not exactly like that. In other words, it will not show the real value at the input at the output after a certain period of time. I want it to show the real value from 2 seconds ago continuously. The purpose of doing this is to compare the real value I received with the value from 2 seconds ago and find out whether it went up or down. I am using only FBD. Please help me with this. Thanks in advance.
Last updated: 2024-08-20
Post by ac-spr on Runtime variable that indicates a user is online to the code
CODESYS Forge
talk
(Post)
Looking to access a variable at runtime that indicates a user is online to the code. essentially want to use this value to feedback to the user on the HMI. we use turck and bosch rexroth devices if this information helps. I was hoping there was a variable at the application level, or a library that could be used but I was unable to find anything. I know there's a pop up when you try to login/ go online to the code when a user is already logged in, so the system does provide an indication that it knows already online, but has no access to a value from what I can see. Any help is appreciated
Last updated: 2024-04-22
Post by comingback4u on Memory Address Overlap
CODESYS Forge
talk
(Post)
Hello, We use a controller that comes with a bunch of predefined faults. These faults are considered active and historic. They are a 32 byte array but only take up 26 bytes of data. Because of this the historic faults start at address 26 instead of 31. Active faults variable take up address location 0 to 31. Historic faults variable take up address location 26 to 57. Because of this overlap I get an error that these overlap and it wont allow me to download to my controller. This isn't an issue in 3.5.5.4 but becomes an issue in newer version. Is there a way to turn this off? If I change the address location, the historic faults then become broken without doing some manipulation in the code. The software will build just fine. Thank you for your time.
Last updated: 2024-03-07
Post by matt-s on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
I have not gotten to the bottom of this yet no. I have double check that the variables are correct linked. When online with the program I can see the button and rung going true for the move instruction, yet it does not change. Forcing the bit in the program does change the value in Groov View. I am kind of at a loss here, especially since the other POU(For the pumps) does the same thing fine.
Last updated: 2024-02-02
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
__NEW vs FB Factory for one-time creation of FB's at start-up
CODESYS Forge
talk
(Thread)
__NEW vs FB Factory for one-time creation of FB's at start-up
Last updated: 2023-01-15
Does Device Application no longer maintained for new versions of V3.5 ?
CODESYS Forge
talk
(Thread)
Does Device Application no longer maintained for new versions of V3.5 ?
Last updated: 2021-08-18
Signal Jittering on the Output of Raspberry PI for Scan Cycle less than 1ms
CODESYS Forge
talk
(Thread)
Signal Jittering on the Output of Raspberry PI for Scan Cycle less than 1ms
Last updated: 2019-06-15
SFC in non-safe of Codesys Safety SIL2 for Mobile Machines
CODESYS Forge
talk
(Thread)
SFC in non-safe of Codesys Safety SIL2 for Mobile Machines
Last updated: 2020-06-25
trigger bit to read buffer for Read FB of free serial communication (RS485/RS422/RS232)
CODESYS Forge
talk
(Thread)
trigger bit to read buffer for Read FB of free serial communication (RS485/RS422/RS232)
Last updated: 2023-06-02
Codesys for linux SL AMD64 and last update of UBUNTU 22.04
CODESYS Forge
talk
(Thread)
Codesys for linux SL AMD64 and last update of UBUNTU 22.04
Last updated: 2023-02-06
Check Connection Status of the OPC-UA Server for Data Source Manager with OPC-UA Client
CODESYS Forge
talk
(Thread)
Check Connection Status of the OPC-UA Server for Data Source Manager with OPC-UA Client
Last updated: 2024-09-07
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
Post by arundara on Variable Sync Issue In Soft Plc Redundancy
CODESYS Forge
talk
(Post)
i understood that we have to use sync variable function. when i used this i was able to achieve on the requirements of our project.
Last updated: 2024-02-13
Post by snhatton on Saving variable values on power cycle (RevPi Connect)
CODESYS Forge
talk
(Post)
Have you tried using the persistence manager which uses the file system of the controller to store persistent variables?
Last updated: 2023-12-04
Post by andrebrandt on how to extract the name of an FB to a variable
CODESYS Forge
talk
(Post)
Hi mr. Do you have the script? Cause the link is down.
Last updated: 2024-09-27
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
.