1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. Industrial Robot Support and Discussion Center
  4. ABB Robot Forum
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

How to use GO or AO as a variable in rapid?

  • AndreaLu
  • September 19, 2018 at 3:15 PM
  • Thread is Resolved
  • AndreaLu
    Trophies
    3
    Posts
    24
    • September 19, 2018 at 3:15 PM
    • #1

    Hello everyone
    I have a question...
    How to use GroupDigital as a variable in rapid program?

    this is my code,is it correct?

    Code
    MODULE MainModuleaaa
    VAR speeddata Work:= [100,20,5000,1000];
    PERS tooldata tPen :=[True,[[0,0,192],[1,0,0,0]],[0.001,[0,0,0.1],[1,0,0,0],0,0,0]];
    PERS wobjdata wobj10 := [FALSE, TRUE, "", [[0, 400, 0],[1, 0, 0, 0]],
                            [[0, 0, 0],[1, 0, 0, 0]]];
    PROC Main()
    ConfL \Off;
    ConfJ \Off;
    
    
    MoveL [[800,-400,[b]GO1[/b]],[0,0,1,0],[0,-1,-1,0],[9E9,9E9,9E9,9E9,9E9,9E9]],Work,z10,tPen\WObj:=wobj10;
    
    
    ENDPROC
    ENDMODULE
    Display More

    the GO1 is GroupOutput,MoveL [[800,-400,GO1]....is it correct?if no correct ,how can I use GO or AO as variable for target?
    Thankyou for help!

    //=============Second day after 1st post ===========================
    i try this code:

    Code
    MODULE MainModule
    VAR speeddata Work:= [100,20,5000,1000];
    PERS tooldata tPen :=[TRUE,[[535.000,0.000,120.000],[0.707107,0.000000,0.707107,0.000000]],[0.1,[0,0,10],[1,0,0,0],0,0,0]];
    PERS wobjdata WObj6 := [FALSE, TRUE, "" , [[0, 0, 0],[1, 0, 0, 0]],[[0, 0, 0],[1, 0, 0, 0]]];
    VAR num xPosition;
    xPosition := DNGO1;
    VAR robtarget p1:=[[xPosition,-360.638,809.490],[-0.035,0.000,0.999,0.000],[0,-1,-1,0],[0,9E9,9E9,9E9,9E9,9E9]];
    PROC Main()
    ConfL \Off;
    ConfJ \Off;
    MoveL p1,Work,z10,tPen\WObj:=WObj6;
    ENDPROC
    ENDMODULE
    Display More


    (DNGO1 is a group output alias name)

    but the result failed:
    failed message:

    Code
    Unexpected identifier ':=' identifier

    in flexpad

    can anyone tell me where is wrong,thank you very much!
    //===============I found the solution================
    use GOutput(groupSigName)

    Edited once, last by AndreaLu (September 20, 2018 at 8:28 AM).

  • Online
    Lemster68
    Reactions Received
    301
    Trophies
    9
    Posts
    2,489
    Blog Articles
    7
    • September 19, 2018 at 3:48 PM
    • #2

    The .trans portion of a robtarget must contain the three elements of num data type. So you must declare a num, nZvalue, then assign nZvalue:=GO1;. MoveL 0,0,nZvalue. Of course, I am shortening the Move instruction but I hope that you will still get the point.

  • Iowan
    Reactions Received
    2
    Trophies
    4
    Posts
    686
    • September 19, 2018 at 4:59 PM
    • #3

    I've never tried the direct entry method...
    I usually do something like:

    Code
    pTemp.trans.z:=nZvalue;
       MoveL  pTemp...
  • AndreaLu
    Trophies
    3
    Posts
    24
    • September 19, 2018 at 5:02 PM
    • #4
    Quote from Lemster68


    The .trans portion of a robtarget must contain the three elements of num data type. So you must declare a num, nZvalue, then assign nZvalue:=GO1;. MoveL 0,0,nZvalue. Of course, I am shortening the Move instruction but I hope that you will still get the point.


    Thank you Lemster! tomorrow morning ,when i go to company ,i go to try!i am try to do realtime motion control,but i dont have pc interface or egm option...so i think using GO will be a way!

  • AndreaLu
    Trophies
    3
    Posts
    24
    • September 19, 2018 at 5:05 PM
    • #5
    Quote from Iowan


    I've never tried the direct entry method...
    I usually do something like:

    Code
    pTemp.trans.z:=nZvalue;
       MoveL  pTemp...


    it seems more professinalll :yesyesyes:......thank you!

  • Iowan
    Reactions Received
    2
    Trophies
    4
    Posts
    686
    • September 19, 2018 at 5:14 PM
    • #6

    I'm not sure if controller will let you get away with something like:

    Code
    pTemp.trans.z:=GO1;
       MoveL  pTemp...

    Edited once, last by Iowan (September 19, 2018 at 5:15 PM).

  • SAABoholic
    Reactions Received
    21
    Trophies
    5
    Posts
    550
    • September 19, 2018 at 5:46 PM
    • #7

    [/quote]
    i am try to do realtime motion control,but i dont have pc interface or egm option...so i think using GO will be a way!
    [/quote]

    It all depends on what you're trying to achieve.
    If it's to offset pick positions in a material handling program, sure, but I'd look into using/offsetting workobjects instead.
    If it's truly to do realtime motion - then this is not a good method as you'll need to loop your move fairly fast and I think you'll end up having issues with the motion planner.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • krc5
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download