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

Posts by Leviafun

  • Maximum position register count

    • Leviafun
    • February 17, 2025 at 11:49 AM
    Quote from pdl

    This is unique for every controller and the installed software options. Some will have more, some less.

    Thanks for the important note!
    I discovered the error "INTP-311...Uninitialized data is used" while trying to execute:

    Code
    ! ZEROING
    PR[31] = LPOS - LPOS 

    I assumed that the problem was in memory (thanks to your comment)... and yes! When I decreased amount of PR's in Controlled start -> Program setup everything started working fine.

    Although the memory menu has not changed at all, no mater how much PR's I set:

  • How to put a message in the robot and show the value of any register in that message? Fanuc Robot.

    • Leviafun
    • January 27, 2025 at 4:34 AM

    This simple "PRINT_R.kl" script will allow you to print your R value on USER screen from TP program.

    Code
    PROGRAM PRINT_R
    %COMMENT = 'val R[AR[1]]]'
    -- print the R[i] value in the scientific notation
    VAR
        register_index, int_value : INTEGER
        Dummy_Rel, real_value, reg_value : REAL
        Dummy_Str : STRING[10]
        index_str : STRING[3]
        STATUS : INTEGER
        entry : INTEGER
        real_flag : BOOLEAN
    
    BEGIN
        GET_TPE_PRM(1, 1, register_index, Dummy_Rel, Dummy_Str, STATUS) 
     
        GET_REG(register_index, real_flag, int_value, real_value, STATUS)
        IF (real_flag) THEN
            reg_value = real_value
        ELSE
            reg_value = int_value
        ENDIF
        
        CNV_INT_STR(register_index, 1, 10, index_str)
        WRITE('R[', index_str, '] =', reg_value, CR)
        
    END PRINT_R
    Display More


    Images

    • image.png
      • 45.04 kB
      • 751 × 224
      • 8
  • Program Call Graph Generator Web App

    • Leviafun
    • October 18, 2024 at 4:24 AM
    Quote from Nation

    I made it public if you guys want to fork it. It's a bit of a hot mess, as I used the townie AI to help write it.

    You can view the source here:

    https://www.val.town/v/synapticrobotics/RobotBackupCallGraph

    Only one question, could you explain why backup.zip should not contain any directories?
    For example, my MD backup creates the following folders (120iC, R30iB V9.10, created in Roboguide):

    D:.
    └───MNT_DATA
    ├───DLOG
    ├───MDB
    ├───MD_LS
    ├───RSCH
    └───_BACKUP_

    LS files are located in MD_LS, and the BACKDATE.DT is located in MDB.
    So, what format does your MD backup have?

  • Program Call Graph Generator Web App

    • Leviafun
    • October 16, 2024 at 4:41 AM
    Quote from Nation

    Hmm. Would you message the backup to me directly? I'll debug it.

    I have the same issue. Can I help?
    Some backups are working, but only isolated nodes are displayed.

    I've tried to create a similar program before but just with .LS files. Why are you use MD backup and BACKDATE.DT? Are you planning to publish it to open source? Maybe I could test it or commit to it.

  • Bacground Logic

    • Leviafun
    • October 16, 2024 at 4:24 AM
    Quote from PnsStarter

    From my point of view, it has proven to be a good idea to create the BG progs in this way, for example:

    BG_IO.tp - generic IO and IO to reg and vice versa
    BG_Gripper1.tp - application-dependent and topic-dependent

    for testing use separated prog, and copy it later to another..

    I agree. Also you can assign the execution mode to a separate program in that case. I don't notice much difference in my applications but high mode provides you to execute up to 540 instructions every 8 ms. Perhaps it would be useful to divide Background logic programs by priorities

  • Calibrate User Frame using 2 reference points

    • Leviafun
    • May 8, 2024 at 6:33 AM
    Quote from krycek10

    Hi Leviafun,

    Thank you for your reply. That looks like a good solution for this. I'm not familiar using Karel code, so I will need a bit of assistance to use this code:

    - How to make these variables equal to my physical points, PRs or the specific UF#?

    - How can I insert this code in my program?

    Thank you!

    I can recomend you to use built-in functions like GET_TPE_PRM() or GET_POS_REG(). GET_TPE_PRM() allows you to read arguments from TP code, when you CALL your KAREL program.

    The easiest way is to read your PR[] with GET_POS_REG(). For example:

    Code
    point_1 = GET_POS_REG(index_1_pt, status)


    You can find more information in Fanuc Docs or on this Forum

  • Calibrate User Frame using 2 reference points

    • Leviafun
    • May 7, 2024 at 7:39 AM

    If I understand you correctly, you can use similar Karel code:

    Code
    VAR
    	...
    	origin, point_1, point_2, result_UF: XYZWPR
    	...
    BEGIN
    	...
    	result_UF = FRAME(origin, point_1, point_2)
    	...
    END

    This code allows you to calc UF automaticaly, without opening the menu on TP.

  • How to Use Quaternions in Industrial Robotics

    • Leviafun
    • March 26, 2024 at 12:09 PM
    Quote from Meca

    Here is a tutorial on quaternions, prepared exclusively for industrial robot programmers: https://www.mecademic.com/en/how-to-use-…strial-robotics

    Quote

    The page you were looking for couldn't be found

  • Which would be more correct, to use "IMSTP" or "EES" to connect HMI signal R30-iB?

    • Leviafun
    • February 8, 2024 at 4:23 AM
    Quote from gpunkt

    This has nothing to do with Emergency Stop.

    From the R-30iB Plus manual:

    All things related to machine safety (not meaning "do not injure the mechanical unit", but "do not injure humans") needs to be safety rated.

    The UOP-signals are only "normal" digital signals, not safety signals.

    I've already figured it out, thanks guys.
    It is a translation error in the localized manual

  • Which would be more correct, to use "IMSTP" or "EES" to connect HMI signal R30-iB?

    • Leviafun
    • February 7, 2024 at 3:23 AM
    Quote from gustavxb

    Hi,

    Imstp, Hold, Sfspd and Enable are not safety rated Inputs so should not be used with the safty circuit or as safety.

    EES should be wired if you don't have a safety bus.


    Thanks, the most confusing thing was that my paper manual says: "IMSTP - this signal determines an emergency stop controlled by the system".
    As I understand it, these are different categories of ESTOP.

  • Which would be more correct, to use "IMSTP" or "EES" to connect HMI signal R30-iB?

    • Leviafun
    • February 5, 2024 at 7:21 AM

    Hello friends!
    I want to connect the physical Emergency stop button from the operator's workplace with HMI panel.
    Initially, I thought to connect UI[1] (IMSTP), UI[2](Hold), UI[3](SFSPD) through the HMI and use the EES1 EES11 EES2 EES21 signals from E-STOP BOARD (figure 1) to connect the button (At the moment, there are just electrical jumpers on the E-STOP BOARD)

    But after some thought, I began to doubt - maybe it's worth connecting only UI[1] (IMSTP) to the E-STOP button from physical robot output module (), instead of sending it via tcp/ip.

    Is it safe enough? In this case, EES is not used.

  • How to rename(recomment) a lot of digital IO's fast?

    • Leviafun
    • January 30, 2024 at 11:23 AM

    I/O config and comments are located in "DIOCFGSV.IO".
    Make AOA backup, take this file and edit from PC.

    After that load this edited file to the controller.

  • Help with PLC querie for palletizing registers

    • Leviafun
    • January 30, 2024 at 9:59 AM

    First, you need to establish a connection with the PLC, have you done that?
    Secondly, maybe using the "RUN" function would help you. Make a programm to monitoring R[i] with group mask [* * * * * * * *] and RUN it parallel to the main prog.

  • Weaving formula

    • Leviafun
    • December 19, 2023 at 3:43 AM

    Detailed information about the weaving is available in 13.2 Weaving Function in CONTROLLER ARC TOOL manual (B-83124EN-3/01). But it doesn't look like there are formulas there.

  • Relative motion

    • Leviafun
    • November 23, 2023 at 9:14 AM

    Usually i just do:
    PR[i] = LPOS
    PR[i, j] = PR[i, j] + L
    L PR[i] speed FINE
    But maybe there is another way

  • Connection of cables and pneumatic hose to the N axis robots. How to calcutale it properly?

    • Leviafun
    • October 23, 2023 at 7:47 AM

    Hello!
    I want to learn how to connect any cables/hoses/pathes etc on robots (especially on 6-axis robots, but I also interested in robots with extended axes or kinematic of any complexity). I can't find any book, video or article about it. Are there any links to the technical materials?

    What bend radius can we use? Lenght?
    Where is the best points to connect the cables on kinematic? Is this also true for the hollow wrist?
    Where do I need to use clamps and where is it superfluous?

    I do not know the exact answer to these questions and I usually make decisions based on experiments, experience and some special cases of the solution in the drawings, or along standard cables (if any). The task looks nontrivial even for computer modeling.

  • Maximum position register count

    • Leviafun
    • September 21, 2023 at 11:00 AM
    Quote from trinket

    depending controler you use. With R30iB you can have 300 PR maybe a little bit more but I'm not sure on last part of my answer.

    R30iB Plus and I can set 373 PR max

  • How to change world orientation

    • Leviafun
    • July 25, 2023 at 1:19 PM
    Quote from cenzar

    Hello,

    Did anybody change world position maybe? :smiling_face:

    I browsed Fanuc documentation but I haven't found anything. I need to change world orientation about 90 degrees.

    Thanks for any suggestion :smiling_face:

    I can add that If you want to install the robot to the wall then you have to set the Sys Variables. Old thread about it:
    System Variable ideal settings for Upside Down Fanuc Robot

  • Speed change

    • Leviafun
    • July 25, 2023 at 1:11 PM
    Quote from LK2036

    But the value will be read while starting the point, i am not sure it will be consider if you change register value while the robot moves to that target.

    Can I do calculations at all while the robot is in motion (Busy)? As far as I know, no.

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