RobotStudio event

Task.Start() not working

Options
Hi,

my first try on  the PC sdk and I just wanted to copy the simple program given in the RAB manual (I use IPython). 

Basically I have:

scanner = ABB.Robotics.Controllers.Discovery.NetworkScanner()
scanner.Scan()
controllers = scanner.Controllers
ci=controllers[0]

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?

Thanks,
tobias

Comments

  • rafal1104
    Options
    maybe program pointer is lost, try set PP to Main after start task.
  • botobias
    Options
    thanks for the reply, but that did not work either...for now I just have to work with Rpid.Start(), though that starts all tasks on the controller...

  • DanS
    Options
    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: 

  • zwan
    Options

    Halil DanS,

    i also work with PCSDK 5.15. 

    I think u a right.  I have tried

    For our old Robot with RW 5.15 the Funktion Task[].Start() worked. But for the new Robot with RW5.61 wordet it not anymore.

    I do not want to Change my PCSDK also to PCSDK 5.60, because i have  programmt too many modul with it.

    It is already our stand reference. The function Task[].Stop() do not worked also. Rapid.Start() is dangerous if the Option Multitask is there.  

  • DanS
    Options
    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.
  • KSP
    Options
    Any update about this problem?

    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.

  • Evanmj
    Options
    Same here.
  • sammye
    Options
    Any updates on this? I have the same issue. Thanks.
  • 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 
    :D

    Best Regards, Niklas Skoglund
    ABB Robotics

    Developer Center
    RobotStudio Blog
  • sedahal1
    Options

    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.

  • Using FlexPendant SDK you can access the state behind the task selection panel using the property Task.Enabled.

    In PC SDK it this property. Please refer to the details in the documentation regarding safety restrictions.




    Best Regards, Niklas Skoglund
    ABB Robotics

    Developer Center
    RobotStudio Blog
  • KSP
    Options
    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?!