Sorry for the bad English...
I'm used to Rockwell RSLogix 5000 (version 16.0)
Now I have to develop a program for a Modicon M340. It seems to have some advantages: much better"animation table" management, built-in simulation mode. The Red/Green background on Structured Text is also a plus.
On the negative side: I can't "see" a subroutine ("user function block") instance, like I can on RSLOGIX 5000.
My main issue is this: RSLogix 5000 allows me to create UDT's (User Defined Data Types), that can include Timers. Unity Pro DFB's can't include this. (timers are functions, not variables).
I'm used to create "multilevel" UDT's, nesting several UDT's. I allways call the subroutines using only InOut parameters, which is very practical.
My application for Modicon is as follows:
I have 10 machines, with 8 pneumatic valves, each one.
Each valve has an error bit, SET if the Closed/Open limit switches do not match the desired position, after a preset maximum allowed time.
I would like to define my DDT as Machine1.Valve3.Error, and so on.
On RSlogix I can call a subroutine using "Machine1" as an InOut argument and then (inside this subroutine) call the error subroutine using "Machine1.Valve3" has an InOut argument. This will use the TON I've included on "Valve" definition.
On unity Pro, I'm having dificulty to achieve the same results. I can store the "Preset time" and "internal time" values on the Machine1.Valve1 structure (as TIME data type), but I can't manage to make things work.
I would like to build a DFB "Machine" that would include several nested "Valve error" DFB's.
On "unity Pro - Program Languages and structure reference manual" I read that "Nested DFBs are declared as private variables of the parent DFB". This prevents me from using only "Public" variables.
How shall I organize my DFB an DDT to achieve my purpose ?
I'm used to Rockwell RSLogix 5000 (version 16.0)
Now I have to develop a program for a Modicon M340. It seems to have some advantages: much better"animation table" management, built-in simulation mode. The Red/Green background on Structured Text is also a plus.
On the negative side: I can't "see" a subroutine ("user function block") instance, like I can on RSLOGIX 5000.
My main issue is this: RSLogix 5000 allows me to create UDT's (User Defined Data Types), that can include Timers. Unity Pro DFB's can't include this. (timers are functions, not variables).
I'm used to create "multilevel" UDT's, nesting several UDT's. I allways call the subroutines using only InOut parameters, which is very practical.
My application for Modicon is as follows:
I have 10 machines, with 8 pneumatic valves, each one.
Each valve has an error bit, SET if the Closed/Open limit switches do not match the desired position, after a preset maximum allowed time.
I would like to define my DDT as Machine1.Valve3.Error, and so on.
On RSlogix I can call a subroutine using "Machine1" as an InOut argument and then (inside this subroutine) call the error subroutine using "Machine1.Valve3" has an InOut argument. This will use the TON I've included on "Valve" definition.
On unity Pro, I'm having dificulty to achieve the same results. I can store the "Preset time" and "internal time" values on the Machine1.Valve1 structure (as TIME data type), but I can't manage to make things work.
I would like to build a DFB "Machine" that would include several nested "Valve error" DFB's.
On "unity Pro - Program Languages and structure reference manual" I read that "Nested DFBs are declared as private variables of the parent DFB". This prevents me from using only "Public" variables.
How shall I organize my DFB an DDT to achieve my purpose ?