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

Sequence of statement that cannot be approximated

  • ChristianLiinHansen
  • January 5, 2022 at 10:44 PM
  • Thread is Unresolved
  • ChristianLiinHansen
    Reactions Received
    3
    Trophies
    2
    Posts
    37
    • January 5, 2022 at 10:44 PM
    • #1

    Hi all out there.

    So I having a bit of issues with these rapid stopping motions, which is caused because it is not possible for the advance run pointer to approximate where the next motion is. I was reading through the forum regarding approximation, but I really did not find the thread that could help me further, so therefore this new one.

    And sorry for the inline form below. I dont know if this is something that is useful or rather bad to see. Anyway, my question for avoid this jerky movements is of couse to use CONT. However even at the default 500mm of approximation, I get warning on the teach-pendant, like: "Sequence of statement that cannot be approximated". The SPTP motion to position OutboundGreenApp is with the CONT from the inline form, which is also stated at the end of the code with C_Spl.

    Code: Palletize.src
    ; Move to home position for stack 1. 
    ;FOLD SPTP stack1home Vel=100 % PDAT13 Tool[3]:ForkCenterOfBox Base[4]:EUpalletNEW ;%{PE}
    ;FOLD Parameters ;%{h}
    ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=stack1home; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT13; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
    ;ENDFOLD
    SPTP Xstack1home WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(Fstack1home), $BASE = SBASE(Fstack1home.BASE_NO), $IPO_MODE = SIPO_MODE(Fstack1home.IPO_FRAME), $LOAD = SLOAD(Fstack1home.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT13), $APO = SAPO_PTP(PPDAT13), $GEAR_JERK[1] = SGEAR_JERK(PPDAT13), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
    ;ENDFOLD
    
    ; Using the cycle flag to check the analog input. The value is without stack equal to 10.0, but the program sees it as 1.0.
    ; Therefore the values is between 0.0 and 1.0. If the value is equal to 1.0, there is no stacks. 
    $CYCFLAG[1]= ($ANIN[1] < 1.0)
    
    ;// Interrupt instruction -- Using the WITH BRAKE in in oreder to stop the break function right away.
    ; Removed the WITH BRAKE in the DECL below
    INTERRUPT DECL 21 WHEN $CYCFLAG[1] DO ISR_StackIsFound()
    
    ;From home position, go to appoach position, as if the stack was green. 
    ;FOLD SPTP OutboundGreenApp CONT Vel=100 % PDAT1 Tool[3]:ForkCenterOfBox Base[4]:EUpalletNEW ;%{PE}
    ;FOLD Parameters ;%{h}
    ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=OutboundGreenApp; Kuka.BlendingEnabled=True; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
    ;ENDFOLD
    SPTP XOutboundGreenApp WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(FOutboundGreenApp), $BASE = SBASE(FOutboundGreenApp.BASE_NO), $IPO_MODE = SIPO_MODE(FOutboundGreenApp.IPO_FRAME), $LOAD = SLOAD(FOutboundGreenApp.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0) C_Spl
    ;ENDFOLD
    
    ; Now from the approach position, the robot will continue to move in its tools X positive direction.
    SeachForStackAtOutbound()
    Display More

    So basically I already get the error before reaching to the function "SearchForStackAtOutbound".

    Code: SeachForStackAtOutbound
    DEF  SeachForStackAtOutbound ( )
    
    $OUT[15] = TRUE
    
    INTERRUPT ON 21
    
    $OUT[16] = TRUE
    
    
    
    ;FOLD SPTP test Vel=100 % PDAT1 Tool[3]:ForkCenterOfBox Base[4]:EUpalletNEW ;%{PE}
    
    ;FOLD Parameters ;%{h}
    
    ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=test; Kuka.BlendingEnabled=False; Kuka.MoveDataPtpName=PDAT1; Kuka.VelocityPtp=100; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SPTP
    
    ;ENDFOLD
    
    ;SPTP Xtest WITH $VEL_AXIS[1] = SVEL_JOINT(100.0), $TOOL = STOOL2(Ftest), $BASE = SBASE(Ftest.BASE_NO), $IPO_MODE = SIPO_MODE(Ftest.IPO_FRAME), $LOAD = SLOAD(Ftest.TOOL_NO), $ACC_AXIS[1] = SACC_JOINT(PPDAT1), $APO = SAPO_PTP(PPDAT1), $GEAR_JERK[1] = SGEAR_JERK(PPDAT1), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
    
    ;ENDFOLD
    
    
    
    ;FOLD SLIN OutboundMaxReachPos Vel=2 m/s CPDAT3 Tool[3]:ForkCenterOfBox Base[4]:EUpalletNEW ;%{PE}
    
    ;FOLD Parameters ;%{h}
    
    ;Params IlfProvider=kukaroboter.basistech.inlineforms.movement.spline; Kuka.IsGlobalPoint=False; Kuka.PointName=OutboundMaxReachPos; Kuka.BlendingEnabled=False; Kuka.MoveDataName=CPDAT3; Kuka.VelocityPath=2; Kuka.VelocityFieldEnabled=True; Kuka.ColDetectFieldEnabled=True; Kuka.CurrentCDSetIndex=0; Kuka.MovementParameterFieldEnabled=True; IlfCommand=SLIN
    
    ;ENDFOLD
    
    SLIN XOutboundMaxReachPos WITH $VEL = SVEL_CP(2.0, , LCPDAT3), $TOOL = STOOL2(FOutboundMaxReachPos), $BASE = SBASE(FOutboundMaxReachPos.BASE_NO), $IPO_MODE = SIPO_MODE(FOutboundMaxReachPos.IPO_FRAME), $LOAD = SLOAD(FOutboundMaxReachPos.TOOL_NO), $ACC = SACC_CP(LCPDAT3), $ORI_TYPE = SORI_TYP(LCPDAT3), $APO = SAPO(LCPDAT3), $JERK = SJERK(LCPDAT3), $COLLMON_TOL_PRO[1] = USE_CM_PRO_VALUES(0)
    
    ;ENDFOLD
    
    
    
    WAIT FOR TRUE
    
    END
    Display More


    Is it because I need to set the Advance run pointer or reset to 0, by $ADVANCE = 0 or anything else?
    Or is it because that I am calling a subfuction, SeachForStackAtOutbound() ?
    Should I use different that e.g C_Spl, I.e. like C_DIS?
    Or is it something else, that I have missed? :smiling_face:

    My information of the system is:

    • Robot: KUKA KR50 R2100
    • Controller: KR C5 dualcabinet
    • KSS 8.7.2 HF3
    • HMI version: 8.7 B394
    • Kernel system version: KS V8.7.53394
    • WorkVisual V6.0.18_Build0748asd

    My current system contains the following information:

    • Robot: KUKA KR50 R2100
    • Controller: KR C5 dualcabinet
    • KSS 8.7.2 HF3
    • HMI version: 8.7 B394
    • Kernel system version: KS V8.7.53394
    • WorkVisual V6.0.24_Build1632
  • panic mode January 6, 2022 at 1:22 AM

    Moved the thread from forum Manuals, Software and Tools for KUKA Robots to forum KUKA Robot Forum.
  • panic mode
    Reactions Received
    1,262
    Trophies
    11
    Posts
    13,026
    • January 6, 2022 at 1:32 AM
    • #2

    please be mindful where you post. download section is meant for manuals, not discussions.

    Quote

    So basically I already get the error before reaching to the function "SearchForStackAtOutbound".

    if you are getting an error of some sort please state what type of error or better post detailed info such as screenshot. also please state WHERE in your program this happens (which exact instruction).

    perhaps you are referring to message

    "Sequence of statement that cannot be approximated"

    That is not an error, it is just a notification.

    Btw, Approximated motion is not always possible - regardless how deep you reach into bag of tricks. An example is when motion is aborted by an interrupt and RESUME command is exacted.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

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