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

Posts by emerald_geni

  • Multi Robot Control

    • emerald_geni
    • July 23, 2024 at 3:54 PM

    panic mode

    Thank you for your advice. Is there any specific reading material i can refer to regarding this?

    Appreciate it

  • Multi Robot Control

    • emerald_geni
    • July 23, 2024 at 5:41 AM

    Hi skyefire,

    Thank you for your explaination. Is this the same logical thinking that is used perhaps for robots in automobile manufacturing.

    I get roboTeam is the Kuka varient but is the concept u mentioned applicable for other robot implementations as well in the industry? I am trying to find a industry followed methodology so I don't miss out any key factors.


    Thanks once again.

  • Multi Robot Control

    • emerald_geni
    • July 22, 2024 at 5:22 PM

    Hi, i have experience with a single 6 Axis robot control Programming. but i am tasked with programming 3 robots to work in one cell safely and efficiently. I would like to know the development ideology involved for something like this.
    Could anyone direct me to reading material regarding this. I have searched but got not find. Appreciate it

  • How to trigger Signal when robot at HOME Position

    • emerald_geni
    • July 10, 2023 at 7:54 AM
    Quote from hermann
    Code

    But how/where do you want to execute the code? If the code isn't executed in background the signal won't be set everytime HOME is reached. And more important it won't be resetted if robot leaves HOME.

    Hi Hermann,

    The PLC will check for this signal and then only give the command to execute a procedure.

    i just want a output signal when at robot at HOME position.

    This code is kind of a work around to achieve that. im not sure if this is the best way to do this?

  • How to trigger Signal when robot at HOME Position

    • emerald_geni
    • July 10, 2023 at 4:06 AM

    Hi I have made my own HOME position and would like to signal my PLC that the ROBOT is at HOME.

    I do not have WORLD ZONE package and wrote the code below.


    Code
        VAR robtarget pCurrentPosition;
        VAR robtarget Differnce;
        VAR num val;
        GetSysData tCheck\ObjectName:=stToolName;
        GetSysData wobjCheck\ObjectName:=stWobjName;
        pCurrentPosition:=CRobT(\Tool:=tCheck\WObj:=wobjCheck);
        !val :=pCurrentPosition.trans.x;
        !val := Round(val\Dec:=2);
    
        
        IF HOME = pCurrentPosition  THEN
            SetDO doRobotAtHome,1;
        ELSE
            SetDO doRobotAtHome,0;
        ENDIF 
    Display More

    The issue with the above code is that the current position might have a few decimal places values different then HOME values.

    Is there are any other more efficient solution to trigger Signal when robot at HOME Position?

  • TOOL DATA best ways for teaching tool

    • emerald_geni
    • June 21, 2023 at 2:18 PM

    Thank you!

  • TOOL DATA best ways for teaching tool

    • emerald_geni
    • June 21, 2023 at 3:58 AM

    Hi, This are the 2 EAOT, the Gripper and vacuum

  • TOOL DATA best ways for teaching tool

    • emerald_geni
    • June 20, 2023 at 3:17 PM

    ABB IRC5

    Hi I have a gripper and trying to understand the best way to teach TOOL DATA. If my tool is a pointy object like the tip of a pen then its pretty straightforward on the 3/4 referencd points.

    But my gripper or any other tool has not a single point. Which position do I take to perform this process? I can't hold a pointy object with my gripper as well.

    Thanks.

  • what are the initial setup steps for ABB IRB1200 Robot

    • emerald_geni
    • April 20, 2023 at 4:28 AM

    Thank you so much DS186!

  • what are the initial setup steps for ABB IRB1200 Robot

    • emerald_geni
    • April 19, 2023 at 9:00 AM
    Quote from DS186

    Which robot controller (e.g. IRC5, OmniCore, etc.), RW version, PLC brand and communication protocol are you using?

    I am using an IRC5 robot with BECKOFF PLC and EtherNet/IP for communications

    In ABB world this is called world zones. This requires the "World Zones" option on your controller.

    is it available in all robots or do i have to get in added from the supplier?

    Thanks

  • what are the initial setup steps for ABB IRB1200 Robot

    • emerald_geni
    • April 18, 2023 at 11:49 AM

    Hi everyone i have experience with KUKA robots. I have an ABB IRB1200 Robot that is to be installed upside down.

    I have been reading the manuals but could not find info regarding the following:

    - PLC Integration steps

    -Common signals to send to PLC

    - How to setup a safe area; similar to KUKA's $WORKSPACE

    - For the upside down robot, do i have to change 'Mount Angle' or any other settings/configurations ?

    Greatly appreciate your inputs guys.

  • Executing movement inside using an interrupt

    • emerald_geni
    • July 2, 2022 at 5:49 AM

    Hi Panic mode,

    Appreciate your time.

    Quote from panic mode

    take needed programming courses. interrupts are powerful but there are limitations. most of limitations are intentional due to architecture and considerations of motion planner

    I have

    Operating and Programming Instructions for System Integrators_KSS 8.5

    KUKA Robot Programming 1

    KSS_85_System_variables_en

    KSS_82_83_CREAD_CWRITE_en

    For reference, is there any other material that go in depth regarding the limitations of ISRs?

    as for training, i have to travel to another country to get inperson training and its not possible for me at the moment.

    Quote from panic mode

    WAIT commands do not change $ADVANCE but they do cause advance run stop.

    take needed programming courses.

    Yes to prevent the Advance pointer from running off. I read it in the interrupt Manual page and had removed INI etc. as suggested from there, in my interrupt file. but i understand now that i cannot have any inline form instructions.

    Quote from panic mode

    or example if you want to do an automated homing, write program for it (not an ISR). make sure to cover all cases (and this will be hard). test it.... and once you are happy with it, use case in CELL to call it like any other program. your button press to home robot should simply be used to call specific case.

    I have tried this method as well and it was the reason why i had to comment off CHECK HOME and PTP HOME in my CELL.SRC, since when homing in initiated my robot won't be at home and thus PGNO would not be executed.

    Quote from panic mode

    switch case block is missing.

    I removed all the excess code not related to my question so its easier for you to read. but i do have a switch Statements below.

  • Executing movement inside using an interrupt

    • emerald_geni
    • July 1, 2022 at 9:48 AM

    Hi everyone,

    i am trying to get a homing sequence working for my robot.

    I have setup my CELL.SRC with an interrupt. which will be triggered by a homing button.

    my questions are:

    1)I have commented out the CHECK HOME and PTP HOME in my CELL.SRC. Since when the interrupt is triggered the robot would not be at home. Will this cause any unforseen issues?

    2)While in interrupt i get $Advance and $GEAR JERK Variable write-protected in module BAS, Errors. how do i fix these?

    i believe for $advance i can set a WAITFOR but im not sure whats the best way to do so. i have read the INTERRUPT threads in the manuals page as well.

    I have tried initiating my interrupt_test.src from a .SUB as well and get the same errors as above.

    MY CELL.SRC

    Code
    &ACCESS RVP
    &COMMENT HANDLER on external automatic
    DEF  CELL ( )
    
    ;FOLD EXT DECL
      EXT assytray();EXT EXAMPLE1 ( )
      EXT CYL();EXT EXAMPLE2 ( )
      EXT P15_inlet_to_platform45()
      EXT P16_inlet_to_rightassy()
      EXT P17_inlet_to_leftassy()
      EXT P18_recipe_rose()
      EXT P19_recipe_lavender()
      EXT P20_recipe_eucalyptus()
      EXT P21_recipe_teatree()
      EXT P22_recipe_sadalwood();EXT EXAMPLE3 ( )
      EXT P23_recipe_citronella()
      EXT P24_recipe_peppermint()
      EXT P25_rightassy_to_home()
      EXT P26_leftassy_to_home()
      EXT P27_platform45_to_home()
      EXT P28_execute_recipe_right()
      EXT P30_EOATchange_1_to_2()
      EXT P32_EOATchange_2_to_1()
      EXT P43_RFID_to_outletTray1()
      EXT P44_RFID_to_outletTray2()
      EXT P45_RFID_to_outletTray3()
      EXT P46_RFID_to_outletTray4()
      EXT P47_RFID_to_outletTray5()
      EXT P48_home_to_RFIDout()
      EXT P54_Assy_CB()
      EXT P55_Assy_CH()
    
    ;ENDFOLD 
      ;FOLD INIT
      DECL CHAR DMY[3]
      DMY[]="---"
      
      INTERRUPT DECL 20 WHEN di_bInitRecoveryfrmPLC == TRUE DO Interrupt_test ( )
      INTERRUPT ON 20 
      ;ENDFOLD (INIT)
      ;FOLD BASISTECH INI
         
      GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS == TRUE DO IR_STOPM ( )
      INTERRUPT ON 3 
      
      BAS (#INITMOV,0 )
      ;ENDFOLD (BASISTECH INI)
      ;FOLD CHECK HOME
      ;$H_POS=XHOME
      ;IF CHECK_HOME==TRUE THEN
        ;P00 (#CHK_HOME,#PGNO_GET,DMY[],0 ) ;Testing Home-Position
      ;ENDIF
      ;ENDFOLD (CHECK HOME)
      ;FOLD PTP HOME  Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
      ;PDAT_ACT=PDEFAULT
      ;FDAT_ACT=FHOME
      ;BAS (#PTP_PARAMS,100 )
      ;$H_POS=XHOME
      ;PTP  XHOME
      ;ENDFOLD
    Display More


    My Interrupt_test

    Code
    &ACCESS RV1
    DEF  Interrupt_test ( )
    
    INTERRUPT OFF 20 
    MsgNotify("In Interrupt file",,)
    
    $OV_PRO=5
    
    ;PTP to current Pos 
    N1pos=$POS_ACT
    PTP N1pos c_ptp
    
    PTP interr_pos Vel=100; PDAT1 Tool[1]:GRIPPER Base[1]:assemplate;
    
    INTERRUPT ON 20
    
    END
    Display More
  • Issues with using global interrupt properly in Auto External mode

    • emerald_geni
    • June 28, 2022 at 10:50 AM

    Got interrupt to work. Thanks guys

  • Issues with using global interrupt properly in Auto External mode

    • emerald_geni
    • June 28, 2022 at 5:18 AM
    Quote from panic mode

    you cannot do that... it is not how interrupts work. there are limitations.

    your ISR routine cannot contain things like INI fold. so you need to remove lines 2-13 from Interrupt_Test()

    have deleted as you said and tried again

    Code
    &ACCESS RV
    DEF  Interrupt_test ( )
    
    MsgNotify("In read_CSV file",,)
    END

    I still am not able to see MsgNotify turn up.

    Could my interrupt is triggered by IN[18] which is ON when i press ESTOP and then Press RESET in my PLC. Could ESTOP interfere with the interrupt?

  • Issues with using global interrupt properly in Auto External mode

    • emerald_geni
    • June 28, 2022 at 3:51 AM
    Quote from SkyeFire

    If the Interrupt is DECL'd in CELL.SRC, it gets "inherited" by every routine that CELL calls, and every routine those routines call. GLOBAL is not required for that.

    The reason that Interrupt 3 is DECL'd in the INI Fold of every module created using the default template, is because KUKA was trying to make a simple template that would work for all use cases. And re-DECLing an Interrupt doesn't do any harm.

    It would help if we had any idea what you're trying to do with $ACC_AXIS. As a general rule, motion-controlling variables cannot be modified from inside the SPS, as those variables are "owned" by the Level 1 Interpreter (the Interpreter that the robot motion programs are executed in).

    Below is my declaration of interrupt 20 in my CELL. i checked in my INPUT/OUTPUTS -> DIGITAL OUTPUTS and my di_bInitRecoveryfrmPLC is being switched ON correctly.

    Code
    &ACCESS RVO
    &COMMENT HANDLER on external automatic
    DEF  CELL ( )
    ;FOLD EXT DECL
    ;ENDFOLD 
      ;FOLD INIT
      DECL CHAR DMY[3]
      DMY[]="---"
      ;ENDFOLD (INIT)
      ;FOLD BASISTECH INI
         
      GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS == TRUE DO IR_STOPM ( )
      INTERRUPT ON 3 
      
      INTERRUPT DECL 20 WHEN di_bInitRecoveryfrmPLC == TRUE DO Interrupt_test ( )
      INTERRUPT ON 20 
    
    
      BAS (#INITMOV,0 )
      ;ENDFOLD (BASISTECH INI)
      ;FOLD CHECK HOME
      $H_POS=XHOME
      IF CHECK_HOME==TRUE THEN
        P00 (#CHK_HOME,#PGNO_GET,DMY[],0 ) ;Testing Home-Position
      ENDIF
      ;ENDFOLD (CHECK HOME)
      ;FOLD PTP HOME  Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
      PDAT_ACT=PDEFAULT
      FDAT_ACT=FHOME
      BAS (#PTP_PARAMS,100 )
      $H_POS=XHOME
      PTP  XHOME
      ;ENDFOLD
      ;FOLD AUTOEXT INI
      P00 (#INIT_EXT,#PGNO_GET,DMY[],0 ) ; Initialize extern mode
      ;ENDFOLD (AUTOEXT INI)
       ;GLOBAL INTERRUPT DECL 20 WHEN $IN[18] == TRUE DO Recovery ( )  
      ;INTERRUPT ON 20
      LOOP
        P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
    Display More

    Interrupt_test ( ) just has the following:

    Code
    &ACCESS RV
    DEF  Interrupt_test ( )
    ;FOLD INI;%{PE}
      ;FOLD BASISTECH INI
        GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
        INTERRUPT ON 3 
        BAS (#INITMOV,0 )
      ;ENDFOLD (BASISTECH INI)
      ;FOLD USER INI
        ;Make your modifications here
    
      ;ENDFOLD (USER INI)
    ;ENDFOLD (INI)
    
    MsgNotify("In read_CSV file",,)
    END
    Display More
  • Issues with using global interrupt properly in Auto External mode

    • emerald_geni
    • June 28, 2022 at 3:29 AM
    Quote from SkyeFire

    If the Interrupt is DECL'd in CELL.SRC, it gets "inherited" by every routine that CELL calls, and every routine those routines call. GLOBAL is not required for that.

    The reason that Interrupt 3 is DECL'd in the INI Fold of every module created using the default template, is because KUKA was trying to make a simple template that would work for all use cases. And re-DECLing an Interrupt doesn't do any harm.

    It would help if we had any idea what you're trying to do with $ACC_AXIS. As a general rule, motion-controlling variables cannot be modified from inside the SPS, as those variables are "owned" by the Level 1 Interpreter (the Interpreter that the robot motion programs are executed in).

    Hi Skyefire,

    I made positioning monitoring (SPS) that will record the robots positions to text file.

    I am trying to get the INTERRUPT to initiate the recovery.SRC to get it back home after IN[18] is true.

    my recovery.SRC has following:

    $AXIS_ACT: to PTP to itself before homing(to prevent BCO to home)

    SPTP P[i] WITH $VEL_AXIS[1] = SVEL_JOINT(10.0) C_Spl

  • Issues with using global interrupt properly in Auto External mode

    • emerald_geni
    • June 27, 2022 at 11:12 AM
    Quote from hermann

    Don't use Global, just use normal interrupt.

    If it is a NORMAL INTERRUPT i wont be able to initiate the interrupt in any SRC file being called from the CELL right?

  • Issues with using global interrupt properly in Auto External mode

    • emerald_geni
    • June 27, 2022 at 7:57 AM

    Hi guys,

    I am using KSS 8.6 END V6


    I am trying to create a global interrupt that will initiate a recovery.src in my cell( interrupt 20). it should be always running.

    i have a few questions regarding it.

    Code
    &ACCESS RVO
    &COMMENT HANDLER on external automatic
    DEF  CELL ( )
    ;FOLD EXT DECL
    ;ENDFOLD 
      ;FOLD INIT
      DECL CHAR DMY[3]
      DMY[]="---"
      ;ENDFOLD (INIT)
      ;FOLD BASISTECH INI
         
      GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS == TRUE DO IR_STOPM ( )
      INTERRUPT ON 3 
        
      BAS (#INITMOV,0 )
      ;ENDFOLD (BASISTECH INI)
      ;FOLD CHECK HOME
      $H_POS=XHOME
      IF CHECK_HOME==TRUE THEN
        P00 (#CHK_HOME,#PGNO_GET,DMY[],0 ) ;Testing Home-Position
      ENDIF
      ;ENDFOLD (CHECK HOME)
      ;FOLD PTP HOME  Vel= 100 % DEFAULT;%{PE}%MKUKATPBASIS,%CMOVE,%VPTP,%P 1:PTP, 2:HOME, 3:, 5:100, 7:DEFAULT
      PDAT_ACT=PDEFAULT
      FDAT_ACT=FHOME
      BAS (#PTP_PARAMS,100 )
      $H_POS=XHOME
      PTP  XHOME
      ;ENDFOLD
      ;FOLD AUTOEXT INI
      P00 (#INIT_EXT,#PGNO_GET,DMY[],0 ) ; Initialize extern mode
      ;ENDFOLD (AUTOEXT INI)
    GLOBAL INTERRUPT DECL 20 WHEN $IN[18] == TRUE DO Recovery ( )   
      LOOP
        P00 (#EXT_PGNO,#PGNO_GET,DMY[],0 )
        INTERRUPT ON 20
    Display More

    1) I am trying to replicate and have placed my own interrupt below it, at first.

    :: GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS == TRUE DO IR_STOPM ( )

    INTERRUPT ON 3

    but my global interrupt does not seem to work,

    2) if it is global interrupt, why is this line declared, being written in every .src file that is created.

    3) would a .sub be better suited for this?

    if so, i tried calling the file but get $ACC-AXIS variable write-protected in module BAS, line 411.

    I tried searching in the forum to find a solution but i do not understand it fully.

    Thanks for your help.

  • Issues reading a writing positions to text file for homing

    • emerald_geni
    • June 5, 2022 at 3:07 PM
    Quote from panic mode

    and to continue with few more tips....

    4. do NOT write code in SPS. create separate SRC/DAT file, debug it in robot interpreter and when all is said and done, then just link it to SPS.

    5. do not try to use Cartesian position like that. your program is continuously reading $POS_ACT and it will crash. you need to check if the tool and base are set or use OBN_ERROR_PROCEED

    6. your RECORD strategy is flawed. it will crash the submit, for example RECORD can be set/reset multiple times. when it is reset, attempt is made to close the currently open file. but next time RECORD is true, attempts are made to write to a file without having new handle or file open.

    7. STAT value is never evaluated. in a robust program this need to be handled.

    Thank your for your reply Panic Mode.

    have taken note of points 4 and 7 and made changes accordingly. i am still testing if this method is feasible. for point 6 i have a separate SRC file called CREATECSV to create a new file after the first one is closed.

    do you have any other advice to address this issue or a solution more suitable? This is my first robot and still learning the ropes.

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