bind to an complex controller object
I have a complexe datatype in RAPID(V5.13.01), it is a field of RECORDS like this:
RECORD typePlace
num Base_L;
num Base_B;
num Base_H;
num H_akt;
num L_Anz;
num LTyp_Akt;
bool M_Init;
bool M_Known;
ENDRECORD
TASK PERS typePlace Place{7}:=[
[0,0,0,1800,0,0,FALSE,FALSE],
[0,0,0,1800,0,0,FALSE,FALSE],
[0,0,0,1800,0,0,FALSE,FALSE],
[0,0,0,1800,0,0,FALSE,FALSE],
[0,0,0,1800,0,0,FALSE,FALSE],
[0,0,0,1800,0,0,FALSE,FALSE],
[0,0,0,1800,0,0,FALSE,FALSE]
];
Now i want to watch some of the components in an diagnostic-screen build with screenmaker.
I am able to bind an numEditor.value to an single PERS num-Variable and also to bind to a complete field-element with the index as reference, but how can i connect just to an single record.component like this:
numEditor1.value= place{1}.H_akt
numEditor2.value= place{2}.H_akt
Comments
-
Hi,does somebody know what i mean?Any chance, that access to arrays will be possible in future versions?dust20
-
Hello:Thank you for the input. Right now it is not supported in ScreenMaker due to complexity in unknown type of RECORD. We will investigate the support for it in future.
Regards,
ScreenMaker Team, ABB0 -
Hello,
is there maybe a version in progress, where this problem is solved?
I tried to bind a numeric variable to an Index of an string-Array (not a record-type), to display it on the Flex-Pendant. But it didn't work.
I think it is nearly the same problem, which is explained above?!?!
I'm using "RW5.13.03"
Thanks for awnsering
0 -
Hello,
You could try this workaround. I have used some controls to describe the scenario.
Controls used:
NumericUpDown - Value property bound to RapidNum which is an index of the array "B"
DataEditor - Text property bound to application variable of type Num "A"
ActionTrigger - Value property bound to RapidNum which is an index of the array "B"
Define the following event for Action Trigger - which does a RapidDataRead from array[B] and stores it in "A"
So when index value changes, ActionTrigger control triggers an event which writes the value from the array[index] into an application variable.
Since, application variable is bound to text property of DataEditor, the text changes.
Thanks0 -
Dear Abhishek PM,
I have tried your suggestion, it's not working...Instead, it's getting an unhandled exception, like this:The array index of Air_T_Off_Begin{Point} is databinded to Application Variable Current_Spray_Point (having type RAPID Num)...Even I have set the default value to "1" like this:Still it is resulting in array indexing to "0"...I don't understand why...Best Regards,Giovanni Sutanto-Best Regards-
Giovanni Sutanto
ABB Indonesia Robotics Application and Service Engineer0 -
Hello,The default index of array item is 1.Have you used all the controls that has been mentioned in the above example ? In the example mentioned Rapid Data, Application Variable of Type Num is used along with Rapid Array.If your scenario is little different could you describe how it has been done ?Thanks0
-
Hello,I tested it .it works but only with simple arrays, for examplenum myarray{2,3}:=[[1,2,3],[4,5,6]];but not wiht records likeRECORD myrecordtypestring mystring;pos myposENDRECORDmyrecordtype my record{2}:=[["hello",[1,2,3]],...BR
Oscar Ferrrato0
Categories
- All Categories
- 5.5K RobotStudio
- 394 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 309 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 785 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 4 Job listings