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

Approximated points

  • SBDP_4.0
  • May 13, 2020 at 6:04 PM
  • Thread is Unresolved
  • SBDP_4.0
    Reactions Received
    2
    Posts
    23
    • May 13, 2020 at 6:04 PM
    • #1

    Hi all,

    I'm new to KRL (I worked with a Panasonic before) and I'm having notification messages that I'm trying to resolve but I'm not successful so far.

    System used:

    KR3 R540 C4SR

    KSS 8.3.38

    Prog 'dprd576_0003'

    Code
    ; GRIPPER APPROCH
    ;FOLD SPTP P6 Vel=3 % PDAT4 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P6, 3:, 5:3, 7:PDAT4
    SPTP XP6 WITH $VEL_AXIS[1]= SVEL_JOINT( 3), $TOOL= STOOL2( FP6), $BASE= SBASE( FP6.BASE_NO),$IPO_MODE= SIPO_MODE( FP6.IPO_FRAME), $LOAD= SLOAD( FP6.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT4), $GEAR_JERK[1]= SGEAR_JERK( PPDAT4)
    ;ENDFOLD
    
    …going though different points/commands
    
    ; SAFE POSITION
    ;FOLD SPTP P1 CONT Vel=25 % PDAT1 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P1, 3:C_DIS, 5:25, 7:PDAT1
    SPTP XP1 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP1), $BASE= SBASE( FP1.BASE_NO),$IPO_MODE= SIPO_MODE( FP1.IPO_FRAME), $LOAD= SLOAD( FP1.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT1), $APO= SAPO_PTP( PPDAT1), $GEAR_JERK[1]= SGEAR_JERK( PPDAT1) C_SPL
    ;ENDFOLD
    Display More

    Prog 'dprd576_0004'

    Code
     ; SAFE POSITION
    ;FOLD SPTP P14 Vel=25 % PDAT5 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P14, 3:, 5:25, 7:PDAT5
    SPTP XP14 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP14), $BASE= SBASE( FP14.BASE_NO),$IPO_MODE= SIPO_MODE( FP14.IPO_FRAME), $LOAD= SLOAD( FP14.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT5), $GEAR_JERK[1]= SGEAR_JERK( PPDAT5)
    ;ENDFOLD
    
    …going though different points/commands
    
       ; SAFE POSITION
    ;FOLD SPTP P14 CONT Vel=25 % PDAT5 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P14, 3:C_DIS, 5:25, 7:PDAT5
    SPTP XP14 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP14), $BASE= SBASE( FP14.BASE_NO),$IPO_MODE= SIPO_MODE( FP14.IPO_FRAME), $LOAD= SLOAD( FP14.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT5), $APO= SAPO_PTP( PPDAT5), $GEAR_JERK[1]= SGEAR_JERK( PPDAT5) C_SPL
    ;ENDFOLD
    Display More

    Those 2 programs are subprograms of this program 'dprd576_0000':

    Code
    FOR counter = 1 TO 2
          
       ; PICKING SUBPROGRAM
          dprd576_0001()
          
       ;FOLD ; LASER CHECK
          dprd576_0002()
          IF $IN[1]==TRUE THEN
             GOTO end_peeling
          ENDIF
       ;ENDFOLD
    
       ; PEELING SUBPROGRAM
          dprd576_0003()
       
       ; DROPPING SUBPROGRAM
          dprd576_0004()
    
       end_peeling:
          ; SAFE POSITION
    ;FOLD SPTP P1 Vel=25 % PDAT1 Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:P1, 3:, 5:25, 7:PDAT1
    SPTP XP1 WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FP1), $BASE= SBASE( FP1.BASE_NO),$IPO_MODE= SIPO_MODE( FP1.IPO_FRAME), $LOAD= SLOAD( FP1.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PPDAT1), $GEAR_JERK[1]= SGEAR_JERK( PPDAT1)
    ;ENDFOLD
    
    ENDFOR
    
    ;FOLD SPTP HOME Vel=25 % DEFAULT Tool[2]:dprd-576_centergripper Base[1]:dprd-576_basegripper;%{PE}%R 8.3.48,%MKUKATPBASIS,%CSPLINE,%VSPTP_SB,%P 1:SPTP_SB, 2:HOME, 3:, 5:25, 7:DEFAULT
    SPTP XHOME WITH $VEL_AXIS[1]= SVEL_JOINT( 25), $TOOL= STOOL2( FHOME), $BASE= SBASE( FHOME.BASE_NO),$IPO_MODE= SIPO_MODE( FHOME.IPO_FRAME), $LOAD= SLOAD( FHOME.TOOL_NO), $ACC_AXIS[1]= SACC_JOINT( PDEFAULT), $GEAR_JERK[1]= SGEAR_JERK( PDEFAULT)
    ;ENDFOLD
    Display More

    When I'm running the program dprd576_0000 in T1 (or T2) GO mode, I get the following notification:

    "Approximated positioning not possible (module dprd576_0003, block#)(=>1442)"

    followed by "Sequence of instructions that cannot be approximated (module dprd576_0004, block#)"

    In fact I have those notifications too between sub prog 0001 and 0002 but not between sub prog 0002 and 0003.

    I tried many things such as:

    - removing the CONT when I had it

    - using PTP instead SPTP

    - adding an advance run stop with a WAIT SEC 0

    - removing APO_MODE=C_DIS in the dat files

    None of this worked.

    So here are my questions:

    1. Any idea why it's trying to approximate these points even though its not requested in the code?

    2. What the number after "block" is referring too? obviously not the line number because it doesn't correspond (for example notification would say block86 but I have only 50 lines)

    Thanks in advance

  • panic mode
    Reactions Received
    1,281
    Trophies
    11
    Posts
    13,091
    • May 13, 2020 at 6:19 PM
    • #2

    1. can't see actual code, only few selected instructions. there must be something trying to use approximation and not succeeding due program structure in fact you complain about message poping up when program transitions from sub 0001 to sub 0002 but you only show code for subs 0000, 0003 and 004. are you kidding or this is accidental?

    2. it is not only 50 lines. line number mentioned in messages is correct only if you open ALL folds. or if working offline and you open file in plain text editor such as Notepad or Notepad++ just add number of header lines (prefix &) to line number mentioned in message. that will take you to line of interest.

    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

  • fuzzy_l
    Reactions Received
    3
    Trophies
    3
    Posts
    61
    • May 13, 2020 at 10:06 PM
    • #3

    After making sure that the robot performs all the movements safely, you can connect WV5 and in debug mode (T2) see where the green arrow meets the yellow one.

  • SBDP_4.0
    Reactions Received
    2
    Posts
    23
    • May 14, 2020 at 9:48 AM
    • #4
    Quote from panic mode

    1. can't see actual code, only few selected instructions. there must be something trying to use approximation and not succeeding due program structure in fact you complain about message poping up when program transitions from sub 0001 to sub 0002 but you only show code for subs 0000, 0003 and 004. are you kidding or this is accidental?

    I didn't include the INI part of the code because it is as per default when creating a new module and in my user INI I have the initialisation of my counter and outputs but otherwise what I showed here is literally the 1st line after the INI and the last line before END.

    I didn't include the sub 0001 and 0002 because these are similar to 0003 and 0004 just moving to difference points so I assumed if someone could answer on those programs it will be the solution for all programs and in READ FIRST it is clearly specify to keep "brief(!) code sample". Sorry for trying to follow your rules!

    Anyway, this will not answer to my question so see attached the full code (src + dat) of all programs!

    Quote from panic mode

    2. it is not only 50 lines. line number mentioned in messages is correct only if you open ALL folds. or if working offline and you open file in plain text editor such as Notepad or Notepad++ just add number of header lines (prefix &) to line number mentioned in message. that will take you to line of interest.

    Yes that's what I thought too but I checked using WorkVisual to compare and it doesn't correspond.

    Quote from fuzzy_l

    After making sure that the robot performs all the movements safely, you can connect WV5 and in debug mode (T2) see where the green arrow meets the yellow one.

    Thanks fuzzy, I'll try that.

    Edited once, last by SBDP_4.0 (May 14, 2020 at 1:59 PM).

  • hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,615
    • May 14, 2020 at 10:26 AM
    • #5

    The INI-Part in many cases causes the message.

    You can try it with:

    Code
    IF $T1 then
     INI
    ENDIF
    Quote from SBDP_4.0

    ....

    So here are my questions:

    1. Any idea why it's trying to approximate these points even though its not requested in the code?

    2. What the number after "block" is referring too? obviously not the line number because it doesn't correspond (for example notification would say block86 but I have only 50 lines)

    Thanks in advance

    In your provided files still are some movements with approximation: f.e. dprd576_0001(): SPTP P1 CONT Vel=25%....

    I think the the number always will be a secret, it is only provided for confusing the user :winking_face:

  • SBDP_4.0
    Reactions Received
    2
    Posts
    23
    • May 14, 2020 at 10:37 AM
    • #6
    Quote from hermann

    In your provided files still are some movements with approximation: f.e. dprd576_0001(): SPTP P1 CONT Vel=25%....

    Yes I know, I tried with no CONT movement at all but I still got the notifications.

  • SBDP_4.0
    Reactions Received
    2
    Posts
    23
    • May 14, 2020 at 10:47 AM
    • #7
    Quote from SBDP_4.0

    When I'm running the program dprd576_0000 in T1 (or T2) GO mode, I get the following notification:

    "Approximated positioning not possible (module dprd576_0003, block#)(=>1442)"

    followed by "Sequence of instructions that cannot be approximated (module dprd576_0004, block#)"

    Just in case I wasn't clear, I'm getting these messages when transiting from sub0003 to sub0004 (and sub0001 to sub0002 respectively) - so in T1 Motion mode, last line of sub0003 there is no message but when reaching sub0004 first motion line those 2 messages appears simultaneously.

  • dexterv
    Reactions Received
    16
    Trophies
    3
    Posts
    110
    • May 14, 2020 at 11:11 AM
    • #8

    You can use the system variable $STOPNOAPROX = TRUE to debug. The robots stops when a approximation breaking instruction is encountered.

  • hermann
    Reactions Received
    407
    Trophies
    9
    Posts
    2,615
    • May 14, 2020 at 1:42 PM
    • #9

    Just in case ist was not clear:

    Quote from SBDP_4.0

    .....

    So here are my questions:

    1. Any idea why it's trying to approximate these points even though its not requested in the code?

    You asked why the approximation is tried even if the points are without approx, then you provide files with approx.

    I never had this issue, so I think you didn't really change all movements to have no approximation.

    In the example the last movement in sub0003() is with approx. then the INI - line in sub0004() is stopping the approx, so you will get the message.

  • SBDP_4.0
    Reactions Received
    2
    Posts
    23
    • May 14, 2020 at 1:58 PM
    • #10

    The code I sent were the version I had on my PC so not the latest - sorry about that - but you were right, I had forget one CONT in my code.

    Thanks

  • panic mode
    Reactions Received
    1,281
    Trophies
    11
    Posts
    13,091
    • May 14, 2020 at 4:08 PM
    • #11

    code sample can be pruned down but - it still need to contain the problem. without being able to reproduce the issue, one must guess...

    you did not mention that 0001 and 0002 are similar to 003 and 0004. in fact you stated that 0003 and 004 did NOT have an issue.

    also you did not state that those are global subroutines.

    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

  • SBDP_4.0
    Reactions Received
    2
    Posts
    23
    • May 14, 2020 at 4:23 PM
    • #12
    Quote from panic mode

    in fact you stated that 0003 and 004 did NOT have an issue

    Nope I stated that between 0002 and 0003 there was no issue.

    The message of the notification was stating 0003 and 0004 that's why said that I had those notifications too between 0001 and 0002.

    Sorry to tell you that but your answers are very agressive… I'm sure you are very proficient in KRL but not everybody are - we are all glad that expert like you can help people like me - so a little of indulgence would be appreciated.

    Quote from panic mode

    also you did not state that those are global subroutines

    Would a local subroutine have change something? Can you have a CONT motion as a last point if the subroutine is local rather than global?

  • panic mode
    Reactions Received
    1,281
    Trophies
    11
    Posts
    13,091
    • May 14, 2020 at 5:14 PM
    • #13

    the point is that posted code shall reflect the issue. simply trimming code down manually without testing on robot if that really reprodices problem is not real example.

    Local subroutines don't have INI. You create them from scratch by typing code line by line.

    INI is only inserted when program is created from template called Module. Such programs can be used as subprograms as well but they are sepearate files and hence they are automatically global.

    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

Similar Threads

  • Spline motion

    • Vikramjeet Singh
    • April 4, 2017 at 12:33 PM
    • KUKA Robot Forum
  • Exact path with constant speed

    • lionpeloux
    • November 7, 2018 at 4:01 PM
    • KUKA Robot Forum
  • KRC2 palletiziing robot doing different movements in step by step mode than in continuous mode

    • robotecnik
    • May 7, 2020 at 6:57 AM
    • KUKA Robot Forum
  • Continuous path without smoothing

    • litrmleka
    • January 21, 2020 at 1:47 PM
    • KUKA Robot Forum
  • Autodesk mimic KRL postprocessor settings

    • dexterv
    • December 9, 2019 at 8:47 AM
    • KUKA Robot Forum
  • Calculation for maximum feedrate or controller processing ability?

    • Mwatson_NF
    • April 17, 2019 at 10:21 PM
    • KUKA Robot Forum
  • Problem between KRC1 and SprutCam?

    • kotlas6667
    • October 24, 2018 at 2:58 PM
    • KUKA Robot Forum
  • KLI and SLIN

    • mdowns53
    • August 16, 2018 at 3:03 AM
    • KUKA Robot Forum
  • PTP motion C_PTP C_DIS

    • Plc_User
    • August 12, 2018 at 11:06 AM
    • KUKA Robot Forum
  • A few questions about splines

    • SirCumference
    • January 20, 2016 at 7:11 PM
    • KUKA Robot Forum

Tags

  • APO_MODE
  • KSS8.3.38
  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