if ci.Availability==ABB.Robotics.Controllers.Availability.Available: #print “is available”
c=ABB.Robotics.Controllers.ControllerFactory.CreateFrom(ci)
c.Logon(ABB.Robotics.Controllers.UserInfo.DefaultUser)
try:
if c.OperatingMode==ABB.Robotics.Controllers.ControllerOperatingMode.Auto:
print “inside”
print c.Rapid.GetTasks()
tasks = c.Rapid.GetTasks()
m=ABB.Robotics.Controllers.Mastership.Request(c.Rapid)
print m
tasks[0].Start() c.Rapid.Start()
m.Release()
now everything seems to work, taking mastership etc. but task[0].Start() has no effect. After trying around a bit I found that c.Rapid.Start() does the trick.
My questuion, what is the difference between starting a task and controller.rapid start and why does starting the task not work?
I have the exact same issue. We have a PCSDK application that has been working correctly for several years, but now with RW5.60/61 we have this issue. The following exception is returned no matter what is done. I would like to reiterate that this is an application that has run in production for years without issue and believe is related to RW5.60/61. Is anyone else out there having the same issue and is anyone at ABB aware of the problem, if so when might we expect a fix? Thanks!
ABB.Robotics.GenericControllerException was caught
_HResult=-1073445881
HResult=-1073445881
IsTransient=false
Message= Operation rejected by the controller safety access restriction mechanism.
Source=ABB.Robotics.Controllers
ExtendedErrorInformation=“”
StackTrace:
at ABB.Robotics.Controllers.RapidDomain.StartResultUtility.Convert(UInt32 hr)
at ABB.Robotics.Controllers.Internal.RapidTask.Start(RegainMode regain, ExecutionMode execution, ExecutionCycle cycle, StartCheck check, Boolean mapError)
at ABB.Robotics.Controllers.RapidDomain.Task.Start(RegainMode regain, ExecutionMode execution, ExecutionCycle cycle, StartCheck check, Boolean throwOnError)
at ABB.Robotics.Controllers.RapidDomain.Task.Start(Boolean throwOnError)
at Wolf.WCCS.Robotics.Plugin_ABBIRC5Controller.Resume() in d:\SVN\WolfComm\WolfCommCorePlugins\Plugin_ABBIRC5Controller\Plugin_ABBIRC5Controller.cs:line 2466
InnerException:
I heard the RobotWare team removed this functionality.
But I checked the flexpendant SDK and it is still there and it WORKS. So I’m still unsure why the decision was made to not support this in the PCSDK any longer.
We are having the same issue.
We have been using the Task.Start() method from version PCSDK 5.11 until PCSDK 5.15 and it was always working fine.
Now with the PCSDK 5.61 it is not working anymore.
For now we can use the Rapid.Start() for testing purposes but we need the Task.Start() method because we will also be using multiple tasks (robots, manipulators) and then it will no longer be possible to use the Rapid.Start() because my guess is that all of the tasks will then be started.
The behaviour has changed in RobotWare and this is reflected in PC SDK. I’ll try to see if I can get help from a colleague in the RobotWare team to elaborate on the reasoning behind this.
I have some ideas but I’ll wait until I get it from the mouth of the horse
The behavior was changed in RW5.60. In RW5.60 the possibility to start and stop single tasks was removed.
The new behavior is:
Only start of all tasks activated in the TSP (Task Selection Panel) is possible. TSP is found in the QuickSet menu on the FlexPendant).
Start of a single task will be rejected.
Only stop of all tasks activated in the TSP is possible.
Stop of a single task will stop all tasks activated in the TSP.
We are using the PCSDK for our software (which is running on a computer system which is connected to the robot controller).
When connecting to the robot controller we are a “remote client”.
According to the documentation it is not possible for a remote client to change the Task.Enabled property:
“The Enabled state can only be changed by a local controller client and is not allowed by remote clients. Set requires controller to be in auto mode. Requires Mastership.”
So sadly enough we can not use this solution.
Any ideas on how to solve this issue using the PCSDK?!