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. Kawasaki 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

XMOVE with OR operator

  • wiisixtythreePL
  • April 7, 2020 at 4:10 PM
  • Thread is Unresolved
  • wiisixtythreePL
    Trophies
    3
    Posts
    2
    • April 7, 2020 at 4:10 PM
    • #1

    Hello, everyone

    how can i use xmove function with more than 1 signal with OR operator?

    example:

    XMOVE p1 TILL 1001 OR 1002

    should I used background logic?

  • Alexandru
    Reactions Received
    49
    Trophies
    6
    Posts
    407
    • April 7, 2020 at 5:05 PM
    • #2

    Hello,

    You can use a WHILE loop having that connditions or create a background program.

    For the WHILE loop, the robot will go to the final point and the motion it will be intrerupted by the conditions from the while.

    cond = 0

    LMOVE p1

    WHILE cond==0 DO

    IF SIG(1001) AND cond ==0 THEN

    BRAKE

    cond = 1

    END

    IF SIG(1002) AND cond==0 THEN

    BRAKE

    cond = 2

    END

    IF DISTANCE(HERE,DEST)<=5 AND cond==0 THEN

    cond = 3

    END

    END

    CASE cond OF

    VALUE 1:

    TYPE "Robot stopped by 1001 signal"

    VALUE 2:

    TYPE "Robot stopped by 1002 signal"

    VALUE 3:

    TYPE "Robot reached the final position"

    ANY :

    TYPE "State unkown"

    HALT

    END

    And for the backgroup program:

    .PROGRAM autostart.pc ()

    loop:

    IF SIG(1001) OR SIG(1002) THEN

    SIGNAL 2001

    ELSE

    SIGNAL -2001

    END

    TWAIT 0.1

    GOTO loop


    Use XMOVE TILL 2001

    I know that the XMOVE function had some bugs with the old AS version, make sure to have the lastest version from AS and SV. And also make sure to have a watchdog for the background program, If it is in stopped mode, the robot might collide or do other silly thing.

  • Online
    kwakisaki
    Reactions Received
    694
    Trophies
    11
    Posts
    4,768
    • April 7, 2020 at 5:06 PM
    • #3

    Welcome to the forum...………:beerchug:

    I have never tried using multiple signals, so cannot be sure if it will accept the syntax or not.

    However, I am pretty sure you can only detect on single signal as there are positive/trailing edge detection modes and also /ERR and /LVL options associated with the command. and these would not be possible across more than one signal.

    In which case, a background task to provide the detection signal would be an alternative.

    - but the background task must be running prior to the XMOVE instruction

    View my channel at Industrial Robotics Consultancy Limited - YouTube

  • wiisixtythreePL
    Trophies
    3
    Posts
    2
    • April 8, 2020 at 5:22 PM
    • #4
    Quote from Alexandru

    Hello,


    And for the backgroup program:

    .PROGRAM autostart.pc ()

    loop:

    IF SIG(1001) OR SIG(1002) THEN

    SIGNAL 2001

    ELSE

    SIGNAL -2001

    END

    TWAIT 0.1

    GOTO loop


    Use XMOVE TILL 2001

    I know that the XMOVE function had some bugs with the old AS version, make sure to have the lastest version from AS and SV. And also make sure to have a watchdog for the background program, If it is in stopped mode, the robot might collide or do other silly thing.

    Display More

    Hello, thank you for reply

    I made like that yesterday.

    Today, I tested and everything working good with background logic. I put on the beginning program PCEXECUTE command with this logic and everything is OK.

  • Alexandru
    Reactions Received
    49
    Trophies
    6
    Posts
    407
    • April 8, 2020 at 5:39 PM
    • #5

    Before the XMOVE function you can check if the autostart is still running:

    IF TASK(1003)<>1 THEN

    PCABORT 3:

    PCEXECUTE 3:

    END

    This code will check if the autostart3 is not running, it will execute again. If you have a different program name, you can put the name into after the pcexecute 3: program_name.

  • Alexandru
    Reactions Received
    49
    Trophies
    6
    Posts
    407
    • April 13, 2020 at 6:03 PM
    • #6

    Hello,

    According to the changelog from the AS updates, a bug from XMOVE function has been fixed in ASE_010300X54 version.

    Also in the latest version, a bug from ABS.SPEED has been fixed.

    I attached the history file with the changelog from the AS updates E-Controller.

    Files

    History.txt 52.1 kB – 30 Downloads
  • Online
    kwakisaki
    Reactions Received
    694
    Trophies
    11
    Posts
    4,768
    • April 13, 2020 at 10:03 PM
    • #7

    Some interesting fixes in there...…..Many thanks for sharing...………:top:

    View my channel at Industrial Robotics Consultancy Limited - YouTube

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
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • 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
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Tags

  • xmove

Users Viewing This Thread

  • 1 Guest
  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