RobotStudio event

ABB Research Robot Control

Hi All, this is my first post (first of ... many) I hope you can help me.

I open this thread in order to understand better how I can make the ABB arm IRB120
be a suitable platform for robotics research.

I want to use PCSDK (version 5.14.0370) I have license for RS and so on... but I need to develop all my controls by using the PC in a custom application (c#).

The questions I have right now are:

- It is possible to drive the robot without a module running on the FPendant?

- How?

- If not possible, I developed a module on the FPendant that allows me to control the joints and/or the linear movement BUT for my control application I must be able to stop it during a movement how can I do this? is it possible?

Further questions will coming soon in future posts, more specific on the code and errors but as first post it looks enough.

Regards and thank you in advance for you hints.


Comments

  • John Wiberg
    John Wiberg ✭✭✭


    [QUOTE=Asterisc]- It is possible to drive the robot without a module running on the FPendant?[/QUOTE] No. You need to have RAPID code running to move the robot.

    [QUOTE=Asterisc]- If not possible, I developed a module on the FPendant that allows me to control the joints and/or the linear movement BUT for my control application I must be able to stop it during a movement how can I do this? is it possible? [/QUOTE] Stop "it"? Which "it"? The robot, the application, the cycle? I'm guessing the robot?

    If so the generic answer would be to set up system signals which are tied to different types of STOP  functionality.

    On the RS help menu, you will find [System Parameters Reference] open that up and check out the chapter [Topic I/O - Type System Input] there you will find
    Stop, Quick Stop, Soft Stop, etc.
    Read through that and see if it covers what you need.

    So the PC SDK would set the signal and the robot will respond to that.


    [QUOTE=Asterisc]Further questions will coming soon in future posts, more specific on the code and errors but as first post it looks enough.[/QUOTE] Keep'em coming.
    We might not always answer promptly or sometimes we're too busy to answer at all. So don't feel shy about repeating a question or bumping a topic or such.

  • John Wiberg
    John Wiberg ✭✭✭

    [QUOTE=Asterisc]I want to use PCSDK (version 5.14.0370) I have license for RS and so on... [/QUOTE]
    Just in case there is a misunderstanding here.
     
    The SDKs are free to use. So development using the SDK's does not require a license. Not even Premium for RobotStudio.
     
    Instead it's the Robot that might need options.
    FlexPendant interface option, for running FP SDK apps.
    PC Interface option, for LAN connection communication between PC SDK app and robot. (But you could run them using the service port without).
     
    So no license is required of the Developer, it's only for robots using the apps.
  • Thank you John,

    Sorry... I meant Stop the movement of the robot (but maintain the task and my main while running)

    I wrote a Trap to stop the robot by using a signaldi to trigger the trap.

    Unfortunately, when the interrupt ends the program pointer goes back to the move function
    (MoveAbsj jposC, .... ;)

    and there are two possibilities:

    1) the robot starts to move (if i do nothing). I do not want this, I want to be able to set a new position.

    2) the pointers stays on the function indefinitely (if I try to change the jposC e.g ( jpos:= CJointT(); ))

    I would like that (once the interrupt returns) the moveabsj is ended (or the pointer is set on the following line.
    How can I do this? or fix this problem?

    [If it is not clear again, just ask I will try to make it clearer.]

    Thank you again.


  • Only option I see as possible is how you restart the program. Using start will continue from where it left off - Using restart (start from beginning) will reset the program pointer to the beginning of MAIN - I beleive this is your option to interupt an instruction currently operating and abandon it -

    Thomas H. Johnston
    PACs Application Engineer

  • Hi all,

    I am going to solve some issues but now I encountered another problem

    How can I set the MOVEL to use the tool reference system?
    Or overcome the singularities? May be sending the desired IK Solution?

    And by using MOVEABSJ How can I set the speed of each joint?

    Thank you





    Asterisc2012-06-01 15:06:15
  • Hi all,

    I found this promising funciont called IndAMove

    but it return an error 50156
    Not an independent join
    but the app. manual says that the function turn automatically the axis into independent...

    So I do not understand

    Further I do not understand what this means
    "If a new Ind_Move instruction is executed before the last one is finished, the new
    instruction immediately overrides the old one."

    I would like to have 6 lines like these processed at the same time:
    IndAMove ROB_1, 1ToAbsNum:=J1,Sp1Ramp:=Ac1pr;
                IndAMove ROB_1, 2ToAbsNum:=J2,Sp2Ramp:=Ac2pr;
                IndAMove ROB_1, 3ToAbsNum:=J3,Sp3Ramp:=Ac3pr;
                IndAMove ROB_1, 4ToAbsNum:=J4,Sp4Ramp:=Ac4pr;
                IndAMove ROB_1, 5ToAbsNum:=J5,Sp5Ramp:=Ac5pr;
                IndAMove ROB_1, 6ToAbsNum:=J6,Sp6Ramp:=Ac6pr;
    Is it possible?