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
Everywhere
  • Everywhere
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Members
  3. fmiroslav

Posts by fmiroslav

  • Edit Field in AWE1WP01 file from KAREL + TPP

    • fmiroslav
    • June 22, 2021 at 10:19 PM

    Third parameter was important, this code work for me

    Code
    CNV_INT_STR(arg2,1,0,temp_a2)
    temp_a2 = SUB_STR(temp_a2,2,1) 


    Not a piece of artwork but...

    Code
    PROGRAM SET_FA_WPP
    
    
    TYPE
    AW_PLS_SCH_T = STRUCTURE
    PULSE_ENB : BOOLEAN
    PULSE_FREQ : REAL
    PULSE_DUTY : REAL
    PHASE_SFT : INTEGER
    ENDSTRUCTURE
    
    
    VAR SCH : ARRAY[7] OF AW_SCH_T
    VAR LSCH : ARRAY[3] OF AW_SCH_T
    VAR RSCH : ARRAY[3] OF AW_SCH_T
    VAR PLSCH : ARRAY[3] OF AW_PLS_SCH_T
    VAR AWWV_MODE : ARRAY[3] OF INTEGER
    VAR entry, STATUS : INTEGER
    VAR arg1, arg2, arg3 : INTEGER
    VAR arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17 : REAL
    VAR temp, fname : STRING [25]
    VAR temp_a1, temp_a2, temp_a3, temp_a4, temp_a5, temp_a6, temp_a7, temp_a8, temp_a9, temp_a10, temp_a11, temp_a12, temp_a13, temp_a14, temp_a15, temp_a16, temp_a17 : STRING[17]
    --VAR sch_num : STRING[25]
    VAR awwv : STRING[25]
    VAR sch_1, sch_2, sch_3, sch_4 : STRING[25]
    VAR lsch_1, lsch_2, lsch_3, lsch_4 : STRING[25]
    VAR rsch_1, rsch_2, rsch_3, rsch_4 : STRING[25]
    VAR plsch_1, plsch_2 : STRING[25]
    
    
    VAR data_type : INTEGER
    VAR real_value : REAL
    VAR string_value : STRING[17]
    VAR arg_int : INTEGER
    VAR arg_real : REAL
    
    
    
    
    BEGIN
    
    
    GET_TPE_PRM(1, data_type, arg_int, real_value, string_value, status)
    arg1 = arg_int
    GET_TPE_PRM(2, data_type, arg_int, real_value, string_value, status)
    arg2 = arg_int
    GET_TPE_PRM(3, data_type, arg_int, real_value, string_value, status)
    arg3 = arg_int
    GET_TPE_PRM(4, data_type, arg_int, real_value, string_value, status)
    arg4 = arg_int
    GET_TPE_PRM(5, data_type, arg_int, real_value, string_value, status)
    arg5 = arg_int
    GET_TPE_PRM(6, data_type, arg_int, real_value, string_value, status)
    arg6 = arg_int
    GET_TPE_PRM(7, data_type, arg_int, real_value, string_value, status)
    arg7 = arg_int
    GET_TPE_PRM(8, data_type, arg_int, real_value, string_value, status)
    arg8 = arg_int
    GET_TPE_PRM(9, data_type, arg_int, real_value, string_value, status)
    arg9 = arg_int
    GET_TPE_PRM(10, data_type, arg_int, real_value, string_value, status)
    arg10 = arg_int
    GET_TPE_PRM(11, data_type, arg_int, real_value, string_value, status)
    arg11 = arg_int
    GET_TPE_PRM(12, data_type, arg_int, real_value, string_value, status)
    arg12 = arg_int
    GET_TPE_PRM(13, data_type, arg_int, real_value, string_value, status)
    arg13 = arg_int
    GET_TPE_PRM(14, data_type, arg_int, real_value, string_value, status)
    arg14 = arg_int
    GET_TPE_PRM(15, data_type, arg_int, real_value, string_value, status)
    arg15 = arg_int
    GET_TPE_PRM(16, data_type, arg_int, real_value, string_value, status)
    arg16 = arg_int
    GET_TPE_PRM(17, data_type, arg_int, real_value, string_value, status)
    arg17 = arg_int
    
    
    --    for debuging - write arguments to user window
    --
    --    WRITE('arg 1', arg1, ' ')
    --    WRITE('arg 2', arg2, ' ')
    --    WRITE('arg 3', arg3, CR)
    --    WRITE('arg 4', arg4, CR)
    --    WRITE('arg 5', arg5, ' ')
    --    WRITE('arg 6', arg6, CR)
    --    WRITE('arg 7', arg7, ' ')
    --    WRITE('arg 8', arg8, CR)
    --    WRITE('arg 9', arg9, ' ')
    --    WRITE('arg 10', arg10, CR)
    --    WRITE('arg 11', arg11, CR)
    --    WRITE('arg 12', arg12, CR)
    --    WRITE('arg 13', arg13, ' ')
    --    WRITE('arg 14', arg14, CR)
    --    WRITE('arg 15', arg15, CR)
    --    WRITE('arg 16', arg16, CR)
    --    WRITE('arg 17', arg17, CR)
    
    
    CNV_INT_STR(arg1,1,0,temp_a1)
    --    WRITE('temp', temp_a1, CR)
    temp_a1 = SUB_STR(temp_a1,2,1)
    --    WRITE('temp', temp_a1, CR)
    fname = 'AWE1WP0' + temp_a1
    --    WRITE('fname ', fname, CR)
    
    
    --    temp_a2 = SUB_STR(temp_a2,2,1)
    awwv = 'AWWV_MODE[' + temp_a2 + ']'
    awwv = 'AWWV_MODE[1]'
    --    WRITE('awwv ', awwv, CR)
    --    WRITE('awwv ', temp_a2, CR)
    
    
    CNV_INT_STR(arg3,1,0,temp_a3)
    temp_a3 = SUB_STR(temp_a3,2,1)
    
    
    
    
    CNV_INT_STR(arg2,1,0,temp_a2)
    temp_a2 = SUB_STR(temp_a2,2,1)
    
    
    awwv = 'AWWV_MODE[' + temp_a2 + ']'
    
    
    sch_1 = 'SCH[' + temp_a2 + ']'
    sch_1 = sch_1 + '.$CMD_VOLTS'
    --    WRITE('sch_1 ', sch_1, CR)
    
    
    sch_2 = 'SCH[' + temp_a2 + ']'
    sch_2 = sch_2 + '.$CMD_WFS'
    --    WRITE('sch_2 ', sch_2, CR)
    
    
    sch_3 = 'SCH[' + temp_a2 + ']'
    sch_3 = sch_3 + '.$CMD_AMPS'
    --    WRITE('sch_3 ', sch_3, CR)
    
    
    sch_4 = 'SCH[' + temp_a2 + ']'
    sch_4 = sch_4 + '.$CMD_WSPEED'
    --    WRITE('sch_4 ', sch_4, CR)
    
    
    lsch_1 = 'LSCH[' + temp_a2 + ']'
    lsch_1 = lsch_1 + '.$CMD_VOLTS'
    --    WRITE('lsch_1 ', lsch_1, CR)
    
    
    lsch_2 = 'LSCH[' + temp_a2 + ']'
    lsch_2 = lsch_2 + '.$CMD_WFS'
    --    WRITE('lsch_2 ', lsch_2, CR)
    
    
    lsch_3 = 'LSCH[' + temp_a2 + ']'
    lsch_3 = lsch_3 + '.$CMD_AMPS'
    --    WRITE('lsch_3 ', lsch_3, CR)
    
    
    lsch_4 = 'LSCH[' + temp_a2 + ']'
    lsch_4 = lsch_4 + '.$CMD_WSPEED'
    --    WRITE('lsch_4 ', sch_4, CR)
    
    
    rsch_1 = 'RSCH[' + temp_a2 + ']'
    rsch_1 = rsch_1 + '.$CMD_VOLTS'
    --    WRITE('rsch_1 ', rsch_1, CR)
    
    
    rsch_2 = 'RSCH[' + temp_a2 + ']'
    rsch_2 = rsch_2 + '.$CMD_WFS'
    --    WRITE('rsch_2 ', rsch_2, CR)
    
    
    rsch_3 = 'RSCH[' + temp_a2 + ']'
    rsch_3 = rsch_3 + '.$CMD_AMPS'
    --    WRITE('rsch_3 ', rsch_3, CR)
    
    
    rsch_4 = 'RSCH[' + temp_a2 + ']'
    rsch_4 = rsch_4 + '.$CMD_WSPEED'
    --    WRITE('rsch_4 ', rsch_4, CR)
    
    
    plsch_1 = 'PLSCH[' + temp_a2 + ']'
    plsch_1 = plsch_1 + '.$PULSE_FREQ'
    --    WRITE('plsch_1 ', plsch_1, CR)
    
    
    plsch_2 = 'PLSCH[' + temp_a2 + ']'
    plsch_2 = plsch_2 + '.$PULSE_DUTY'
    --    WRITE('plsch_2 ', plsch_2, CR)
    
    
    SET_VAR (entry, fname, awwv, arg3, STATUS)
    SET_VAR (entry, fname, sch_1, arg4, STATUS)
    SET_VAR (entry, fname, sch_2, arg5, STATUS)
    SET_VAR (entry, fname, sch_3, arg6, STATUS)
    SET_VAR (entry, fname, sch_4, arg7, STATUS)
    SET_VAR (entry, fname, lsch_1, arg8, STATUS)
    SET_VAR (entry, fname, lsch_2, arg9, STATUS)
    SET_VAR (entry, fname, lsch_3, arg10, STATUS)
    SET_VAR (entry, fname, lsch_4, arg11, STATUS)
    SET_VAR (entry, fname, rsch_1, arg12, STATUS)
    SET_VAR (entry, fname, rsch_2, arg13, STATUS)
    SET_VAR (entry, fname, rsch_3, arg14, STATUS)
    SET_VAR (entry, fname, rsch_4, arg15, STATUS)
    SET_VAR (entry, fname, plsch_1, arg16, STATUS)
    SET_VAR (entry, fname, plsch_2, arg17, STATUS)
    
    
    END SET_FA_WPP
    Display More

    TPP program

    Code
    CALL SET_FA_WPP(6,3,1,22,181,100,30,23,181,101,31,24,182,102,32,2,50)

    Description of parameters

    Files

    AWE1WP06.zip 4.54 kB – 11 Downloads
  • Edit Field in AWE1WP01 file from KAREL + TPP

    • fmiroslav
    • June 22, 2021 at 9:38 AM
    Quote from dha

    For reading welding parameters from arguments you use:

    Code
    GET_TPE_PRM(arg_num, data_type, int_value, real_value, str_value, STATUS)

    Something like this, it's working but there is some another problem :frowning_face:

    I would like to add (arg1) or insert (arg2) some value to string.

    For that purpose I want to convert Integer value to string (temp).

    Code
    CNV_INT_STR(arg1,1,1,temp)
    Code
    CNV_INT_STR(arg2,1,1,temp)

    and then to add and insert to string

    Code
    fname = 'AWE1WP0' + temp
    Code
    sch_num = 'SCH[' + temp + ']'
    sch_num_v = sch_num + '.$CMD_VOLTS'

    Trouble is temp is empty!


    Code
    PROGRAM SET_FA_WPP
    TYPE
    AW_PLS_SCH_T = STRUCTURE
    PULSE_ENB : BOOLEAN
    PULSE_FREQ : REAL
    PULSE_DUTY : REAL
    PHASE_SFT : INTEGER
    ENDSTRUCTURE
    
    
    
    
    VAR SCH : ARRAY[7] OF AW_SCH_T
    VAR LSCH : ARRAY[3] OF AW_SCH_T
    VAR RSCH : ARRAY[3] OF AW_SCH_T
    VAR PLSCH : ARRAY[3] OF AW_PLS_SCH_T
    VAR AWWV_MODE : ARRAY[3] OF INTEGER
    VAR entry, STATUS : INTEGER
    VAR arg1, arg2, arg3 : INTEGER
    VAR arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16, arg17 : REAL
    VAR temp, fname : STRING [1]
    VAR sch_num : STRING[6]
    VAR sch_num_v : STRING[17]
    
    
    VAR data_type : INTEGER
    VAR real_value : REAL
    VAR string_value : STRING[17]
    VAR arg_int : INTEGER
    VAR arg_real : REAL
    
    
    BEGIN
    
    
    GET_TPE_PRM(1, data_type, arg_int, real_value, string_value, status)
    arg1 = arg_int
    GET_TPE_PRM(2, data_type, arg_int, real_value, string_value, status)
    arg2 = arg_int
    GET_TPE_PRM(3, data_type, arg_int, real_value, string_value, status)
    arg3 = arg_int
    GET_TPE_PRM(4, data_type, arg_int, real_value, string_value, status)
    arg4 = arg_int
    GET_TPE_PRM(5, data_type, arg_int, real_value, string_value, status)
    arg5 = arg_int
    GET_TPE_PRM(6, data_type, arg_int, real_value, string_value, status)
    arg6 = arg_int
    GET_TPE_PRM(7, data_type, arg_int, real_value, string_value, status)
    arg7 = arg_int
    GET_TPE_PRM(8, data_type, arg_int, real_value, string_value, status)
    arg8 = arg_int
    GET_TPE_PRM(9, data_type, arg_int, real_value, string_value, status)
    arg9 = arg_int
    GET_TPE_PRM(10, data_type, arg_int, real_value, string_value, status)
    arg10 = arg_int
    GET_TPE_PRM(11, data_type, arg_int, real_value, string_value, status)
    arg11 = arg_int
    GET_TPE_PRM(12, data_type, arg_int, real_value, string_value, status)
    arg12 = arg_int
    GET_TPE_PRM(13, data_type, arg_int, real_value, string_value, status)
    arg13 = arg_int
    GET_TPE_PRM(14, data_type, arg_int, real_value, string_value, status)
    arg14 = arg_int
    GET_TPE_PRM(15, data_type, arg_int, real_value, string_value, status)
    arg15 = arg_int
    GET_TPE_PRM(16, data_type, arg_int, real_value, string_value, status)
    arg16 = arg_int
    GET_TPE_PRM(17, data_type, arg_int, real_value, string_value, status)
    arg17 = arg_int
    
    
    
    
    WRITE('arg 1', arg1, ' ')
    WRITE('arg 2', arg2, ' ')
    WRITE('arg 3', arg3, ' ')
    WRITE('arg 4', arg4, CR)
    WRITE('arg 5', arg5, ' ')
    WRITE('arg 6', arg6, CR)
    WRITE('arg 7', arg7, ' ')
    WRITE('arg 8', arg8, CR)
    WRITE('arg 9', arg9, ' ')
    WRITE('arg 10', arg10, CR)
    WRITE('arg 11', arg11, ' ')
    WRITE('arg 12', arg12, CR)
    WRITE('arg 13', arg13, ' ')
    WRITE('arg 14', arg14, CR)
    WRITE('arg 15', arg15, ' ')
    WRITE('arg 16', arg16, CR)
    WRITE('arg 17', arg17, CR)
    
    
    
    
    
    
    --    CNV_INT_STR(arg1,1,1,temp)
    --    fname = 'AWE1WP0' + temp
    
    
    --    CNV_INT_STR(arg2,1,1,temp)
    --    sch_num = 'SCH[' + temp + ']'
    --    sch_num_v = sch_num + '.$CMD_VOLTS'
    
    
    sch_num_v = 'SCH[1].$CMD_VOLTS'
    fname = 'AWE1WP06'
    
    
    SET_VAR (entry, 'AWE1WP06', 'AWWV_MODE[1]', arg3, STATUS)
    SET_VAR (entry, 'AWE1WP06', sch_num_v, arg4, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'SCH[1].$CMD_WFS', arg5, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'SCH[1].$CMD_AMPS', arg6, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'SCH[1].$CMD_WSPEED', arg7, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'LSCH[1].$CMD_VOLTS', arg8, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'LSCH[1].$CMD_WFS', arg9, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'LSCH[1].$CMD_AMPS', arg10, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'LSCH[1].$CMD_WSPEED', arg11, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'RSCH[1].$CMD_VOLTS', arg12, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'RSCH[1].$CMD_WFS', arg13, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'RSCH[1].$CMD_AMPS', arg14, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'RSCH[1].$CMD_WSPEED', arg15, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'PLSCH[1].$PULSE_FREQ', arg16, STATUS)
    SET_VAR (entry, 'AWE1WP06', 'PLSCH[1].$PULSE_DUTY', arg17, STATUS)
    
    
    END SET_FA_WPP
    Display More

  • Edit Field in AWE1WP01 file from KAREL + TPP

    • fmiroslav
    • June 17, 2021 at 3:40 PM
    Quote from dha

    Use SET_VAR:

    Code
    SET_VAR (entry, 'AWE1WP03', 'SCH[2].$CMD_WFS', 5, STATUS)

    Thank You!!! This is code which work, now I need to make parsing parameter trough CALL.

    Code
    PROGRAM Change_AWE
    
    
    VAR SCH : ARRAY[7] OF AW_SCH_T
    VAR entry, STATUS : INTEGER
    
    
    BEGIN
    
    
    SET_VAR (entry, 'AWE1WP01', 'SCH[1].$CMD_VOLTS', 21.7, STATUS)
    
    
    END Change_AWE
    Display More

  • Fanuc CRX

    • fmiroslav
    • June 15, 2021 at 3:07 PM
    Quote from adis

    do you have some explanation of how to work with the drop and drag?

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Pretty easy. Program created in Drag & Drop mode is not visually vertical compatible with TP program and vice versa. If you edit/change some commands in TP they became TEXT CODE in D&D mode.

    Weld C command from D&D haven't available speed parameter (you can touch mid and end point of circle), if you edit program on TP and change WELDSPEED to desired value (5 mm/sec for example) and again open in D&D mode that command become TEXT CODE and you can't retouch mid and end point of circle.

  • Edit Field in AWE1WP01 file from KAREL + TPP

    • fmiroslav
    • June 15, 2021 at 2:37 PM

    Hello Fanuc friends,

    here is code in Karel and call from TPP, no errors but nothings happen, obviously I need to

    connect AWE1WP01 file. How to declare VAR? I would like to set value for VOLTS, WFS, WSPEED...


    Amps in second column comes from default settings, there need to stand WFS or cm/min.

    Images

    • 2021-06-15 karel tpp.png
      • 384.53 kB
      • 2,196 × 1,684
      • 37
  • CALL SETWP() - passing welding parameters

    • fmiroslav
    • June 11, 2021 at 4:41 PM

    Forwarding of various parameters and their implication in the parameters of welding procedures and schedules. Of course the layout and ranges are defined in the Karel file.

  • CALL SETWP() - passing welding parameters

    • fmiroslav
    • June 11, 2021 at 3:02 PM
    Quote from dha

    This is probably KAREL program that someone made it.

    Go to DATA > Weld Procedures and observe which parameters change ...

    Exactly. In roboguide, I saw SETWP among the variables, so I started thinking in the wrong direction. I was later suggested that it could be the Karel program. And unfortunately with a bug.

    Since the voltage is defined in the range 5-55 V, speed of 0.5-25 m / min, ... 17 parameters are forwarded, of which the first three are OK,

    CALL SETWP(6,1,4,5,.5,0,20,20,.5,0,20,5,.5,0,20,.1,20)

    1. parameter - 6 - Weld Procedure

    2. parameter - 1 - Schedule

    3. parameter - 4 - Heat wave mode (1 - None, 2 - Step with weaving, 3 Ramp with weaving, 4 - Pulse (no weaving))

    the other 14 can be forwarded only if the value is in the range of 0 -0.99, values equal to 1 and greater in the desired Schedule will set the value to 0.00. Unfortunately, the developer is not in the mood to share buggy code.

    That 14 parameters depending on the 3rd parameter will change values in Schedules.

    Thank you for your interest. If I draw something useful on this issue, I will share it with you. Greeting.

  • FANUC ROBOT RUN circular

    • fmiroslav
    • June 9, 2021 at 11:52 AM

    It's much better to do circle in 3 segment by 120 deg approx. if you make more than 180 deg error will be happen.

    first segment

    P[1] start point

    P[2] mid point

    p[3] end point

    second segment

    P[3] start point

    P[4] mid point

    P[5] end point

    third segment

    P[5] start point

    P[6] mid point

    P[1] end point

  • CALL SETWP() - passing welding parameters

    • fmiroslav
    • June 8, 2021 at 1:12 PM

    Hello,

    does anyone something more about calling program which is stealth, can't be find in list of programs, macros. Or system variable.

    This call passing welding parameters, but which?

    CALL SETWP(6,1,4,5,.5,0,20,20,.5,0,20,5,.5,0,20,.1,20)

    6 - Procedure

    1 - Schedule

    *

  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 19, 2021 at 12:53 PM

    Program in action, Mastered position, offset and rotated position, program

    will execute movement by corner of cube in both case, second time movement is

    offset in X and Y axis and rotated by Z axis.

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 19, 2021 at 11:08 AM

    After RFM and FRFM Method, try, change, try, change, try... , and finally solving,

    Here is a full code, it is different from code in F Manuals, have extra lines :smiling_face: and extra reactions :winking_face_with_tongue:.

    At first You need to Mastering Part, for that You turn ON Master Flag for selected

    Touch Schedule (in my case #4), at screenshot you can see parameters.

    When You Mastering Part, remove Remark from line 14 and 23, when run program back Remark.

    At line 15 and 24 get Error THSR-025 Nested search start, step up for one line (to line 14 and 23)

    press RESET to remove error message, press SHIFT + FWD keep SHIFT pressed.

    Program will be executed search and retract.

    At line 29 Error THSR-013 Illegal number of search, Just ignore because You CAN, RESET.

    Look up for PR[10] values, You will see something like

    X -.153 mm W .000 deg

    Y .514 mm P -.000 deg

    Z .000 mm R -0.038 deg

    Then teach positions.

    When You finished Mastering Part, in DATA Touch Schedule for Master Flag set OFF.

    RUN code, move part or turn around Z (R value) and RUN code again, look up for PR[10] values again

    You will see something like

    when you move

    X 10.555 mm W .000 deg

    Y 2.650 mm P .000 deg

    Z .000 mm R 0.005 deg

    move and rotate

    X 8.234 mm W .000 deg

    Y 1.876 mm P .000 deg

    Z .000 mm R 5.354 deg

    Code
    1:  UFRAME_NUM=0 ;
    2:  UTOOL_NUM=5 ;
    3:   ;
    4:  Touch Offset End ;
    5:  PR[10:PR_10]=PR[100:ALL_ZERO]    ;
    6:J P[1:          ] 10% FINE    ;
    7:   ;
    8:L P[2:          ] 25mm/sec FINE    ;
    9:  DO[66:OFF:E1 Touch Sensing]=(ON) ;
    10:  Search Start [4] PR[10] ;
    11:L P[3:          ] 5mm/sec FINE Search[X]    ;
    12:L P[4:          ] 25mm/sec FINE    ;
    13:  !Unremark when mastering ;
    14:  //Search Start [4] PR[10] ;
    15:   ;
    16:L P[5:          ] 25mm/sec FINE Search[X]    ;
    17:L P[6:          ] 25mm/sec FINE    ;
    18:L P[7:          ] 25mm/sec FINE    ;
    19:L P[8:          ] 25mm/sec FINE    ;
    20:L P[9:          ] 5mm/sec FINE Search[-Y]    ;
    21:L P[10:          ] 25mm/sec FINE    ;
    22:  !Unremark when mastering ;
    23:  //Search Start [4] PR[10] ;
    24:   ;
    25:L P[11:          ] 25mm/sec FINE Search[-Y]    ;
    26:L P[12:          ] 25mm/sec FINE    ;
    27:   ;
    28:  Search End ;
    29:   ;
    30:  DO[66:OFF:E1 Touch Sensing]=(OFF) ;
    31:   ;
    32:   ;
    33:   ;
    34:   ;
    35:  Touch Offset PR[10] ;
    36:L P[13:          ] 10mm/sec FINE    ;
    37:   ;
    38:L P[14:          ] 10mm/sec FINE    ;
    39:L P[15:          ] 10mm/sec FINE    ;
    40:L P[16:          ] 25mm/sec FINE    ;
    41:  WAIT   2.00(sec) ;
    42:  Touch Offset End ;
    43:L P[1:          ] 50mm/sec FINE    ;
    Display More

  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 19, 2021 at 10:00 AM
    Quote from GallusRoboticus

    Yes, I believe Search End will turn off the Master flag automatically. You can also turn it off manually in the Touch Schedule in the same way that you turned it on.

    When you run a search with the Master flag off, it will store the offset in the PR you specify in the Search Start command, which in your case would be PR[1].

    DATA / Touch Schedule

    Master Flag must be manually turned ON and OFF

  • EE port doesn't have power - FANUC CRX 10iA/L

    • fmiroslav
    • May 18, 2021 at 7:52 PM
    Quote from rgaglani

    fmiroslav is this on the teach pendant? I cant find this page in the settings!

    Yes, on Tablet TP

  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 17, 2021 at 1:15 PM

    Master Flag

    Default=OFF

    This item enables the search routine to be used as a mastering routine for those touch

    sensing programs that generate positional offset information. If set to ON, when the

    search routine is executed, the touched positions are recorded on TP program internally

    as the reference positions to be used by future searches. This flag must be set to OFF

    after the master search is completed in order to generate the information of position offset

    on the objects to be searched. When the search is performed with Master Flag ON, the

    information of position offset in the position register is set to all zero values.

    The Master Flag condition has no effect on simple search pattern.

    Quote

    If set to ON, when the search routine is executed, the touched positions are recorded on TP program internally as the reference positions to be used by future searches.

    Will be recorded to Position Record PR defined in DATA Touch Sched.

    Quote

    This flag must be set to OFF after the master search is completed in order to generate the information of position offset on the objects to be searched.

    How from TP set this flag OFF?

    Does Search End do this, setting Master Flag OFF?

    Where is placed (generated) offset position? In PR register (defined in DATA Touch Sched) will be placed information of touched position in absolute coordinate.

    Quote

    When the search is performed with Master Flag ON, the

    information of position offset in the position register is set to all zero values.

    The Master Flag condition has no effect on simple search pattern.

    Search Start [1] PR[1]  Will reset X, Y, Z, W, P, and R values to 0,000.

  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 17, 2021 at 12:44 PM
    Quote from GallusRoboticus

    The first time you run a program with touch sensing you will need to master the part by turning on the master flag in the touch sense schedule you are trying to use. It should automatically turn off after you execute the program the first time.

    Thanks GallusRoboticus :thumbs_up::beerchug:

    In DATA Touch Sched for Master flag must be ON then program will work.

    What doesn't work

    Search Start [1] PR[1]

    doesn't write to Position Register PR[1], only Contact record PR from DATA Touch Sched

    is updated with contact position, in my case PR[32].

    Why is Position Record from Search Start command ignored?


  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 14, 2021 at 8:51 PM
    Quote from GallusRoboticus

    The first time you run a program with touch sensing you will need to master the part by turning on the master flag in the touch sense schedule you are trying to use. It should automatically turn off after you execute the program the first time.

    I will checkout in RG, or at Monday on RR

  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 14, 2021 at 8:49 PM

    P2 start point for searching

    P3 origin of Touch Frame #1

  • Search [X], [-X], [Y], [-Y], [Z], [-Z], Simply task a lot of Obstacles

    • fmiroslav
    • May 13, 2021 at 9:18 AM

    DO[66] - Touch Sensing at Welding machine, ON activate this function

    DI[73] - Arc detect from Welding machine, ON - wire is in contact with part

    3 line of Code, 4 THSR errors

    After line 8,

    Error THSR-025 Nested Search Start

    R.: Add a search_end instruction in appropriate place or delete extra search start.

    ???

    Reset

    At line 10,

    Error THSR-006 Search Without Search Start

    R.: Add Search start instruction.

    Reset

    I execute again program from line 7

    Line 10,

    Error THSR-022 Part is not mastered

    R.: Mastering the part first.

    Only place where you can find Mastering the part first is list of errors!?

    Mastering the Part? Where we can find something about it?

    If I slightly move part by -X I get Arc detect DI[73] ON

    When robot reach position P[3]

    error appear THSR-023 No Search Start

    R.: Add Search Start before Search.

    Very often in manuals missing precondition for Tasks, maybe they are somewhere taxably noted,

    but we need manual where all steps is described in real World.

    Any Idea?

    Thanks!


  • Fanuc robot 120iC 10L don't weld

    • fmiroslav
    • May 10, 2021 at 8:40 AM
    Quote from neighbour1

    I ment I/Os like in the I/O Weld Out screen were WOs not DOs like you have, but using some variables it was changed in the system to DOs, even in the screen it were visible like WOs.

    Without proper hardware error was occurred.

    Images

    • 20210407_151622_autoscaled.jpg
      • 203.4 kB
      • 1,600 × 1,200
      • 16
  • EE port doesn't have power - FANUC CRX 10iA/L

    • fmiroslav
    • May 9, 2021 at 5:31 PM

    Pinout for 8-pin connector and part of settings

    Images

    • 20210509_171307_autoscaled.jpg
      • 112.38 kB
      • 1,600 × 1,200
      • 135
    • 20210330_124956_autoscaled.jpg
      • 132.8 kB
      • 1,600 × 1,200
      • 103

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics
  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