Hello,
When using tooldata array greater than 5 aggregates, Visual SafeMove doesn’t works.
To reproduce:
- Create a new station with controller.
- RW: 5.61.08, IRB6700 150Kg 3.2m
- Check Customize options
- Create
- In DriveModule1, select option: 810-2 SafeMove, OK
- In Controller tab, open Safety - Visual SafeMove
- You get clean SafeMove parameters.
- In Rapid tab, Module1 add tooldata array definition:
PERS tooldata taTool{5}:=[[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
];
- Apply
- Return to Visual SafeMove, all is OK.
- Now, grow aggregates to 6:
PERS tooldata taTool{6}:=[[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
,[TRUE,[[0,0,0],[1,0,0,0]],[0.001, [0, 0, 0.001],[1, 0, 0, 0], 0, 0, 0]]
];
-
You get an Unhandled exception, answer NO:
RobotStudio .NET exception: Object reference not set to an instance of an object.
============================================
Base exception: NullReferenceException
Object reference not set to an instance of an object.
at SafeMove2AddIn.GUI.SafeMoveBase.ViewModels.ToolDataViewModel.GetInitialExpressionElements(String expression, Int32 numberElements)
at SafeMove2AddIn.GUI.SafeMoveBase.ViewModels.ToolDataViewModel.ToolDataDeclToArray(String decl)
at SafeMove2AddIn.GUI.SafeMoveBase.ViewModels.ToolDataViewModel.d__16.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at SafeMove2AddIn.GUI.SafeMoveBase.ViewModels.MechanicalUnitGroupViewModel.d__70.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at SafeMove2AddIn.GUI.SafeMoveBase.ViewModels.MechanicalUnitGroupViewModel.d__69.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() -
Return to Visual SafeMove, all seems OK.
-
Close SafeMove
-
Reopen it in Controller tab, Safety - Visual SafeMove
-
You get an empty SafeMove parameters list.
-
Save Station, close RobotStudio, open station.
-
Wait Controller started.
-
Open Visual SafeMove
-
You get an empty SafeMove parameters list without any error.
If you do that with a real controller, it’s the same.
Tested with 6.xx RW, all works fine.