Im looking for a way to implement ST-code into the visualization element without creating a helper POU or method in my device/application tree. Like visualization properties are evaluated at each VISU_TASK cycle I want to be able to create own ST code which interacts with the visualization interface variables. To be more specific I want to have a property which executes user defined ST-code at each VISU_TASK cycle exactly like its already possible for Input Configuration on various mouse and dialog...
You could work around this problem by implementing some sort of "state machine". Each dialog sets a boolean variable when they are closed so you know which dialog was closed. Then you can react to this accordingly.
You could work around this problem by implementing some sort of "state machine". Each dialog sets a boolean variable so you know which dialog was closed. Then you can react to this accordingly.
I'm looking for a smart and short way to implement initialization of visualization variables depending on the visualization input. For an easy example consider a rectangle which rests at XPos := 0 when the input state is false and at XPos := 50 when the input state is true. My visualization variables look like this: VAR_IN_OUT State : BOOL; END_VAR VAR XPos : INT; END_VAR I put this rectangle via a visualization frame element into another visualization and link a frame reference variable with the...
I'm looking for a smart and short way to implement initialization of visualization variables depending on the visualization input. For an easy example consider a rectangle which rests at XPos := 0 when the input state is false and at XPos := 50 when the input stat is true. My visualization variables look like this: VAR_IN_OUT State : BOOL; END_VAR VAR XPos : INT; END_VAR I put this rectangle via a visualization frame element into another visualization and link a frame reference variable with the...
With 5) you mean using the I/O mapping tab and mapping the full path name to a hardware channel/address? Im doing this right now but using the AT command for mapping the full Input or Output module, not just a single channel. So I have an IO Struct, which contains for example Value : Bool Unit : String(80); And another struct for the module, with: Channel : Array[0..13] Of IO_DUT Input At %IW0 : Word; Im instancing the module struct as a Var_in_out in a program. Then I convert the word into single...
With 5) you mean using the I/O mapping tab and mapping the full path name to a hardware channel/address? Im doing this right now but using the AT command for mapping the full Input or Output module, not just a single channel. So I habe an IO Struct, which contains for example Value : Bool Unit : String(80); And another struct for the module, with: Channel : Array[0..13] Of IO_DUT Input At %IW0 : Word; Im instancing the module struct as a Var_in_out in a program. With that I didn't touched the I/O...
@h-hermsen Thank you for your detailed answer. I'm fully aware about the full path mapping capabilities but as I read your text I thought you mean a different technique. So 1) is clear to me. 2) Can you show me a short example of this IO struct DUT type? 3) An example would be great. Unfortunately our IDE incorporates Codesys 3.5.16.x, so thats a topic for the next update but is nice to know anyway.