Post by chrisdeloglos on Network Variables not updating
CODESYS Forge
talk
(Post)
Thanks for the comment. I'm using Weidmueller UC20-WL2000-AC's and changing the broadcast address to match the current subnet this worked for me as well!
Last updated: 2025-01-27
Post by ojz0r on Multiple applications on one device sharing variables.
CODESYS Forge
talk
(Post)
One thing you could do is create an object with the variable as field with a function and procedure to get the variable (read) and set the variable (write). These are then called from your program and the vizualization.
Last updated: 2025-02-20
Post by bingo on PLC Shell commands via ST Code
CODESYS Forge
talk
(Post)
For a permanent change, you may need to update the PLC configuration file or set the IP at startup using retained variables.
Last updated: 2025-03-02
Post by tvm on Passing properties as VAR_IN_OUT variables.
CODESYS Forge
talk
(Post)
Use a VAR_INPUT for properties. The reason for the error is that you can't get a reference to a property. Using a VAR_INPUT will copy the property to an input variable.
Last updated: 2025-03-06
Post by nonstop-cat on Problem of assigning physical addresses to variables of type ARRAY OF ARRAY as MW and QW
CODESYS Forge
talk
(Post)
Array writing method error,,,<arrayname>: ARRAY [<ll1>..<ul1>, <ll2>..<ul2>, <ll3>..<ul3>]</ul3></ll3></ul2></ll2></ul1></ll1> OF <basedatatype></basedatatype></arrayname>
Last updated: 2025-03-31
Post by nonstop-cat on Problem of assigning physical addresses to variables of type ARRAY OF ARRAY as MW and QW
CODESYS Forge
talk
(Post)
Array writing method error,,,<arrayname>: ARRAY [<ll1>..<ul1>, <ll2>..<ul2>, <ll3>..<ul3>]</ul3></ll3></ul2></ll2></ul1></ll1> OF <basedatatype></basedatatype></arrayname>
Last updated: 2025-03-31
Post by stribor on Passing properties as VAR_IN_OUT variables.
CODESYS Forge
talk
(Post)
if i only use it as input variable I won't be able to update its state within the visu object. Lets say i have real value as a property, i would like the slider object to display this value and also modify it.
Last updated: 2025-04-30
Post by fleaplc on Symbol Configuration to be Build every time!
CODESYS Forge
talk
(Post)
I'm using Symbol configuration to share PLC variables with SCADA via 3S protocol (Symbol File). All is working fine except every time I open the project.. then I need to rebuild Symbol Configuration! Why?
Last updated: 2025-05-23
Post by davidbo on AC_Datalog DataLogChannel Save Cyclic is not working
CODESYS Forge
talk
(Post)
"Save Cyclic" is set to 30s, but in my log I can see my variables are logged every 500ms which equals the cyclic time for my Task. Why is "Save Cyclic" ignored
Last updated: 2025-07-11
Post by pernockham on Persistence Manager: Config File not found?
CODESYS Forge
talk
(Post)
Ok, think I understand. The reason for the error is I try to include complex variables (FB) in the persistenced data. I will try to use {attribute 'ac_persist_exclude'} to exclude those elements.
Last updated: 2025-08-22
Post by open on How to create a stopwatch?
CODESYS Forge
talk
(Post)
Thanks everyone for your input, I am using persistent variables to retain the timer value after machine shutdown, and main task to be as low as possible for the seconds TON to be accurate.
Last updated: 2023-12-14
Post by lipton on Safety Cross-communication with network variables
CODESYS Forge
talk
(Post)
I am currently engaged in research for a Codesys project that involves the establishment of communication between two or more Codesys safety controllers using safe communication protocols, would it be possibole ? /Best Regards
Last updated: 2023-12-29
Post by matt-s on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
I know, that is not the issue though. The issue is the HMI_Blower_Auto_PB variable not changing to false. I do not have the IO modules plugged in yet, that is why there are NaN values for those variables. That should not affect this.
Last updated: 2024-01-25
Post by ben1 on HMI Pushbutton/Move Instruction
CODESYS Forge
talk
(Post)
Hey mate, did you get to the bottom of this? If not, have you double checked the buttons are linked to the correct variables and/or performing the correct action? Have you tried always enabling the block to confirm false is moved to the variable if so?
Last updated: 2024-02-01
Post by macros8 on Visualization using methods and cyclic ST-calls
CODESYS Forge
talk
(Post)
Have you found the way how to call any function in case the visu is opened? Like on event when the screen is opened to initialize some variables etc.? I can´t... :/
Last updated: 2024-03-01
Post by eschwellinger on EtherCAT drive not moving
CODESYS Forge
talk
(Post)
you need to switch to a realtime capable plc. Do not map variables, this will be done by the SoftMotion. And check the Ds402 parameters in the generic parameterview on the Softmotion Connector.
Last updated: 2024-03-05
Post by sumit on Not able to see input data coming from eip adapter on codesys
CODESYS Forge
talk
(Post)
Yes, green icon is there, this time I tried by enabling the device to always update variables but results are the same. I have attached the screenshot and eds file I am using.
Last updated: 2024-03-06
Post by trycyclepower on Only single ehternet ip drive is communicating
CODESYS Forge
talk
(Post)
Hi all, I have two ethernet IP drives not communicating together. If I disable one, then other one starts working. ENIPScnannerIOTak cycle is setup as 20ms. Also, PLC updating variables setting is on.
Last updated: 2024-03-08
Post by nano on Functional block
CODESYS Forge
talk
(Post)
u can use internal variables by passing it thru setter/getter. thats the way to go. for that add it by rightclick on fb and create propertie
Last updated: 2024-04-17
Post by gseidel on Warning C0564 when compiling CNC project with variables program
CODESYS Forge
talk
(Post)
Hi Fless, thanks for your report! We created an issue in our bug tracker (SM-5109) and will have a look at this issue. Best regards, Georg
Last updated: 2024-04-30
Post by tvm on Timer On Vijeo
CODESYS Forge
talk
(Post)
Vijeo doesn't support TIME variables, so the easiest thing to do is convert to a STRING in your program, and use that variable. You could use TimeAsString:= TIME_TO_STRING(TimeVar) to get a string that looks like this: T#5h10m45s200ms
Last updated: 2024-05-07
Post by gseidel on MC_Phasing state explenation
CODESYS Forge
talk
(Post)
Hi kenth1973, no, we do not have this kind of information on internal variables. iPhasingState has been removed and is no longer present in current versions of SoftMotion. Best regards, Georg
Last updated: 2025-12-17
Post by hannibal on Codesys Trend - setting Y axis minimum and maximum as variables - error
CODESYS Forge
talk
(Post)
Hi, It was my fault. I was using a REAL variable instead of INTEGER. Sorry for posting this.
Last updated: 2026-03-22
Post by andrea199403 on Assigning Modbus addresses to a structure in a dynamic way
CODESYS Forge
talk
(Post)
Hello everyone, I am new to this forum and I am also new to Codesys programming. My problem is this: I have a STRUCT of 64 bool and 30 real, this STRUCT is assigned in the programme 9 times. Now I need to communicate with an HMI via Modbus and I have defined the slave device and created the holding registers for communication. I would like to declare the first call of the STRUCT on the Modbus registers %QX2000.0 to %QX2007.7 for the booleans and on the registers %QW1004 to %QW1034 for the real registers. That said, I would like to change an index and set an offset of 100 bytes for the calls of the other 8 assignments, so that the result is: %QX2100.0 to %QX2107.7 for the booleans and on the %QW1104 to %QW1134 registers for the Real registers, etc. Is there a way to declare this? Thank you very much.
Last updated: 2025-10-21
Post by george32 on CSV file and string manipulation.
CODESYS Forge
talk
(Post)
Dear folks, I think I have a rather simple question but I could not find the right answer to my question: I have made with Excel a CSV file where I would like to have some general data regarding my program variables. I have made an program what let me read the file. The string I am currently get is at follows: 'IP_Adres;192.168.45.12$R$NPort_number;2000$R$NCycle_time;43$R$NStart_Standard_IO;20$R$N' Now I want to split the string in multiple part, which I later would connect to the right variable. By Google and experimenting I have reached to the following code for the first part of the splitting proces: // Splitting the BOM of the string: Received_string := FileReadString; IF LEFT(STR:=New_string,3)= '' THEN Received_string_without_BOM :=RIGHT(STR:= Received_string,SIZE:= (LEN(STR:= Received_string))-3); END_IF //Splitting the remaining string in part for later declaration. WHILE index = 0 DO index_split_part := FIND(STR1:= Received_string_without_BOM,STR2:= '$R$N'); Part_of_String[index]:=LEFT(STR:=Received_string_without_BOM, SIZE:= index_split_part); index := index + 1; END_WHILE However in the splitting proces I could not understand what is really happening. I understand that the Find() function returns the first value the $R$N in the Received_string_without_BOM. This would mean that the index_split_part := 23 I|P| _ |A |d|r|e|s|;|1_|9 |2 |. |1 |6 |8 |. |4 |5 |. |1 |2 |$ |R |$ |N |P | 1|2| 3 |4 |5|6|7|0|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27| So the next part is to read the first 23 characters of the Received_string_without_BOM with the LEFT() function. I expected that the outcome the following was: 'IP_Adres;192.168.45.12$'. However the outcome is: 'IP_Adres;192.168.45.12$R'. I do not understand where the R after the $ sign comes from, because its place is 24 so it would not be added to the part_of the_string[index]. If I hard coded value 24 for the size it gives me the following return: 'IP_Adres;192.168.45.12$R$N'. I would expect everything till the R but the code adds the $N also to the string. I hope someone could explain to my what I am seeing wrong in my point of view? With kind regards, George
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.