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

Recovering from SRVO-050

  • yolovs
  • March 21, 2023 at 2:45 PM
  • Thread is Unresolved
  • yolovs
    Reactions Received
    1
    Trophies
    1
    Posts
    46
    • March 21, 2023 at 2:45 PM
    • #1

    Dear Gents,

    I have depalletizing program, which take plastic baskets (KLT) from a pallet.

    Sometimes the KLTs, are not placed very well and they don’t fit properly, meaning that top KLT do not inserted properly into the one below. As result, the top one is a little bit inclined. When the gripper tries to catch the KLT, SRVO-050 Collision Detect Alarm occurs.

    My goal is to make a routine, which in case of SRVO-050 Collision Detect Alarm, to return back the gripper and wait the operator to align the problematic KLT. Next when the operator reset the robot (from HMI), the process to continue.

    I wrote the following program but it doesn’t function as I expect. I addition, SRVO-050 suddenly stops to appear.

    ARC_KLT_ADAPTIVE_APRCH.LS

    1: //save curr pos on the top of KLTY ;

    2: PR[35:CurrentPos]=LPOS ;

    3: ;

    4: LBL[1:adaptive begin] ;

    5: ;

    6: !adaptive approach start ;

    7: LBL[10:adaptive start] ;

    8: // moves 90 mm down ;

    9:L PR[67:incZn90] 500mm/sec FINE INC ;

    10: //sensor that gripper is on the KLT ;

    11: SKIP CONDITION RI[4:plate WP]=OFF ;

    12:L PR[68:incZn30] 200mm/sec FINE Skip,LBL[15] INC ;

    13: //sensoe that gripper is on pos. to catch KLT ;

    14: SKIP CONDITION RI[3:plate HP]=ON OR ERR_NUM=11050 ;

    15:L PR[66:incZn50] 100mm/sec FINE Skip,LBL[15] INC ;

    16: ;

    17: //check if the stop is because of sensor or error;

    18: IF (RI[3:plate HP]=OFF) THEN ;

    19: //if RI[3] still off, must be the fault occur. Go UP!;

    20:L PR[35:CurrentPos] 500mm/sec FINE ;

    21: UALM[2] ;

    22: JMP LBL[10] ;

    23: ENDIF ;

    24: ;

    25: ;

    26: JMP LBL[100] ;

    27: ;

    28: LBL[15:P20] ;

    29:L PR[35:CurrentPos] 500mm/sec FINE ;

    30: UALM[7] ;

    31: JMP LBL[10] ;

    32: ;

    33: LBL[100:END] ;

    Any advices and recommendations will be highly appreciated.

    Best regards,

    Svetozar Yolov

  • HawkME
    Reactions Received
    568
    Trophies
    10
    Posts
    3,268
    • March 21, 2023 at 11:31 PM
    • #2

    A collision detection will fault the robot and pause your program.

    Instead of waiting for a full on collision, you could monitor the disturbance torque to trigger your skip condition before it faults out.

    I'm sure someone has posted an example of this if you search the forum.

    Search for $MISC[1].$HPD_TRQ

  • yolovs
    Reactions Received
    1
    Trophies
    1
    Posts
    46
    • March 23, 2023 at 8:53 AM
    • #3

    Dear HawkME,

    Many thanks for the advice and info.

    I use torque values in my program. Here is the code:

    13: SKIP CONDITION RI[3:plate HP]=ON+ OR $MISC[1].$hpd_trq[2]<=R[40:distTorqMax] OR $MISC[1].$hpd_trq[3]<=R[40:distTorqMax] ;

    14:L PR[66:incZn50] 100mm/sec FINE Skip,LBL[15],PR[80:adaptGrpPosition]=LPOS INC ;

    Unfortunately I suffer from error:

    INTP-203 (ARC_KLT_ADAPTIVE_APRCH, 13) Variable type mismatch" " STOP.L 00000110" act"

    It is strange that rows 13 & 14 was executed one time and on the next pass a fault starts to occur!

    Any ideas?

    Regards,

    Svetozar

  • HawkME
    Reactions Received
    568
    Trophies
    10
    Posts
    3,268
    • March 23, 2023 at 11:38 AM
    • #4

    Set the variable $MISC_MSTR.$hpd_enb to TRUE and do a cold start.

    Then If it still doesn't work try to simplify to only 1 comparison in you skip condition and use a constant instead of a register. Once you get it working you can start to add back the more complex conditions one at a time.

  • yolovs
    Reactions Received
    1
    Trophies
    1
    Posts
    46
    • March 23, 2023 at 2:05 PM
    • #5

    Dear HawkME,

    Many, many thanks for the advices.

    $MISC_MSTR.$hpd_enb is already set to TRUE. This is a prerequisite, in order $MISC[1].$hpd_trq[9] to be updated.

    I followed your advice and I put constant (in my case -8.9) for axis 2 & 3. It works now.

    My understanding is that there is a bug in robot firmware. As I told you the first pass of program succeed and at next step when I begun to play, the fault INTP-203 starts to appear.

    Any way, I put OR expression for both axis 2 & 3 and used constant instead of register.

    It works as charm now.

    Thank you one more time.

    Regards,

    Svetozar

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

  • fault
  • SRVO-050
  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