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

Posts by robotecnik

  • Delta robot M-3 iA 6A with old control cabinet: R-30iA Mate: can I send the comments for the IO and registers via FileZilla?

    • robotecnik
    • September 19, 2022 at 4:24 PM

    Hi all,

    I have done all the programming using the 30 days Roboguide license.

    That license is still active (for a few days more).

    But I have it installed in a virtual machine that can't ping the robot controller (the host computer can).

    Is there any way I can send the IO, R, ... comments to the robot via FileZilla?

    I've managed to compile the text files to send them to the robot, but I can't find a way to send the comments to the robot...

    As always thank you in advance.

  • USA vs Europe question

    • robotecnik
    • September 17, 2022 at 3:22 PM

    Hello all,

    A customer of mine just got a secondhand robot and it is from the USA market and that therefore is not suitable to use in the European market (I have learned this from the Fanuc technical support in Spain, as I gave them the serial number to make a question, they just told me that).

    This said, I saw their answer just before taking a plane on Friday afternoon and was not possible for me to contact them again.

    As I should go to my customer to start programming that robot on Monday... ^^¡

    I thought on asking here if any of you have been in this situation in the past... and, if it was possible to adapt a USA robot to the European market to stay safe and inside the law.

    Thank you all for your time and help.

  • Weird RS sim issue -- running the sim throws the VC into System Fail

    • robotecnik
    • August 21, 2022 at 1:26 PM

    That won't help you, but lately I am getting more and more failures in my RS projects, It seems to happen more when the 3D involved is bigger. I had a project that took my laptop to it's limits: 29GB of RAM used and it was a PITA working with it.

    I ended up making a pack and go for a working state and being able to go back when needed, having another station without the 3D part at all to be able to work without issues.

    At the end make backups non stop. The automatic save seems to work +/- well.

    PS: If you fly there make one or two screams from my part please.

  • Moving from wobj0 to newWobj: Is this the way to do it?

    • robotecnik
    • August 11, 2022 at 11:13 PM

    chris_d_jcd first, thank you for your post.

    In the aforementioned project my customer decided not to invest in mechanical devices to store workobjects because the robot is fixed into a compact robot cell in which everything is bolted into the same small/strong/transportable chassis which it is designed to always do the same job.

    there are +/- 80 points in total.

    The final customer asked to be able to define a workobject for each fixture (they are always bolted in the same position) just in case.

    At the end, this means that I stored the points into wobj0 (which in ABB is the exact center of the robot base). And now, my customer has sent the robot cell to another country. Without defining the new workobject first (using the method you described).

    Notice the robtargets "should" work, a workobject is no guarantee the physical errors of the robot will not affect your robtargets, robots are repetitive but are not very precise.

    To clarify my question:

    One technician (not me) will make a workobject using the normal prescribed method.

    They will send me a backup and I will move the existing points from wobj0 to the new workobject.

    I want to do it with robotstudio. Which, given the wrong situation I guess it's the best method.

    In case I can't do it with RS, I will program a small snippet that converts my points with wobj0 to jointtargets and then from jointtargets back to robtargets using the new workobject, but I wanted to ask if the method I described is correct to do that.

    Thanks again for your post.

  • Timer

    • robotecnik
    • August 4, 2022 at 11:41 AM

    In KUKA (the code you've posted) you have an array of timers (which is a horrible implementation as you have a specific amount of timers available).

    In ABB they offer you several functions to start a timer.

    The example posted by JMF is perfect, concise, and detailed.

    Just to make it easier for you to understand the "translation":

    ClkReset ! == TIMER[x] = 0

    ClkStart ! == TIMER_STOP = FALSE

    ClkStop !== TIMER_STOP = TRUE

    ClkRead !== variable = TIMER[x]

    BUT: ABB has one of the best documentations out there, check the manual Lemster recommended you and you'll see samples and instructions on how to make all those functions work:

    ClkReset, ClkStart, ClkStop and ClkRead

    Hope this helps.

  • Moving from wobj0 to newWobj: Is this the way to do it?

    • robotecnik
    • August 4, 2022 at 9:16 AM

    Hi all,

    I will have to move some points stored in relation to wobj0 to a newWobj.

    I have the robotstudio subscription active.

    Could I:

    1. Copy the points declarations I want to move from wobj0 to newWobj1 into a module named newWobj1 (to say something).
    2. Go to the RAPID tab and click on ADJUST ROBTARGETS.
    3. Select the newWobj1, select wobj0 as old workoject data and newWobj1 into new wobjdata keeping the checkbox replace tooldata / wobjdata in instructions. active.
    4. Press "Execute".

    Would that just make it?

    To make it more interesting I won't be online and the machine will be in a different country.

    And another important question:

    Will the robot move slightly it's physical positions? (Given the difference between the physical robot and the software robot in terms of precision...).

    Thank you all!

  • More novice questions

    • robotecnik
    • August 1, 2022 at 2:38 PM

    Dzonzi thanks for your post, I prefer the pause instruction though.

    HawkME as usual great answer. Thank you very much, pause will make it.

    Thank you both!

  • More novice questions

    • robotecnik
    • August 1, 2022 at 11:06 AM

    Hi again,

    • Is there any way to open a "Watch window" in roboguide to add some registers there to monitor their values while the virtual program is running? I have a strange behavior in my offsets and I would like to check that in a more comfortable way than executing the code step by step and navigating up and down in a divided window on the virtual teach pendant.
    • Is there any stop/halt isntruction like in ABB/KUKA to stop the code at that line?

    Thank you very much for your time and help! :thumbs_up:

  • how program an offset for an entire pallet, each drop

    • robotecnik
    • July 31, 2022 at 8:05 PM
    Quote from cat91345

    i just don't understand how I can fix my pallet pattern using a different user frame. I have watched countless videos that show you how to create them, but none of the videos show how they can help fix a pattern.

    The mechanical engineers will fix the robot to the floor and the pallet system too.

    Usually those are completely independent mechanical systems.

    It's almost impossible they make both devices perfectly aligned.

    Then to get a coordinate system easy to work with, you make a user frame, which gives you X and Y axis aligned with the parts distribution along the pallet.

    It's easier to calculate something like:

    XOffset = (part - 1) * Xdistance; ! >> pseudo code that is not complete by any means.

    Rather than all the calculations to apply rotations to the same.

    Then you usually move to the point of the first part (which you store manually) adding the offset you just calculated.

    Hope this helps.

  • how program an offset for an entire pallet, each drop

    • robotecnik
    • July 31, 2022 at 11:16 AM

    The user frame is a way to store a new base (coordinate system) that depends on the robot placement.

    That is a reference all the points will be base on.

    If you don't do a user frame the points coordinates depend on the robot base itself (the axis 1 center of the robot) (USER_FRAME = 0).

    If you create another user frame, what you are doing is creating another reference system points will depend on.

    That is used mainly for 2 things:

    1. before you dismount the machine prior to send it to your customer, you store the user frame for every unit physically separated from the robot and then, when you arrive at your customer you retouch the base and all the points will move accordingly.

    2. to be able to move your robot easily using a known axis system even your robot is rotated against the working units.

    In your case, if your pallet is rotated 13 degrees in relation to the robot itself, you would have to apply trigonometry to every offset to recalculate the points, if you create a user frame, then it's direct.

    The same point in space can have different values if it depends on different user frames.

    Hope this helps a little.

  • System variable - Fault Alarm

    • robotecnik
    • July 29, 2022 at 10:41 PM

    Hi Exorcisme,

    Go to Menu >> 5 I/O >> 7 UOP.

    In my virtual robot it's the UO[6].

    Hope this helps.

    Disclaimer: I've been working with this robot for 5 days only...

  • More (again simple) questions

    • robotecnik
    • July 29, 2022 at 10:55 AM

    Nation Thank you very much!

    That will improve the safety of my files, I will be able to have the files I am working in in my "automatically synced with my server" work folders and keep a track of all the changes I make on them.

    If the file is not being uploaded, I will go back to the old method and use the "Load" option in Roboguide to get extra information.

  • More (again simple) questions

    • robotecnik
    • July 28, 2022 at 9:53 PM

    SUPER!

    UO signal found,

    Nice to know how the BG logic work. Great to know in fact that it will run forever.

    And about the files thing, I need to take a break. Right click, Add... OK, as I said... time for a break.

    THANK YOU VERY MUCH HawkME !

  • More (again simple) questions

    • robotecnik
    • July 28, 2022 at 8:14 PM

    Hello all,

    More novice questions that I can't find in the manuals:

    • From my background logic process, can I activate a digital output when any program is running?
      • My idea is activating the green light if the program is running, then I will want to blink it if some cases happen, I've already used a timer and this is already working. :smiling_face: but I don't know how to check if a program is running from BG Logic.
    • I can start the Background logic program from the selected program using the RUN instruction or select it into the BG menu. Is there any difference in terms of execution? I mean FCTN + ABORT ALL reacts the same in both cases?
      • If it is aborted, then user-wise it's easier if I start it from my program as they will know how to do it.
    • Inside Roboguide, I've noticed that I can create a TP program (robot controllers >> Robot controller >> right click Programs, "Add TP Program" and save it as text, then this file appears in the files list (as LS) and is saved in the folder I choose.
      • I am using Visual Studio Code to program. And I'd like to create files easier than that, more if I want to rename or similar... Is it possible to copy a file in that folder and upload the program to the robot controller? I can't find a way to read a folder and choose a file.

    As always, thank you very much! :thumbs_up:

  • How to use points in sub programs

    • robotecnik
    • July 27, 2022 at 8:48 PM

    hermann and HawkME thanks a lot.

    :thumbs_up:

  • How to use points in sub programs

    • robotecnik
    • July 27, 2022 at 5:28 PM

    Nation I was trying to use Points declared in the main program for each part inside a subprogram.

    Points are not global in Fanuc.

    I'm trying to reuse the main logic for all the programs.

  • How to use points in sub programs

    • robotecnik
    • July 27, 2022 at 5:26 PM

    Hello again HawkME,

    But then I will have to make a complete copy of my logics for all the programs.

    Would it work to assign the points into PR's before executing the logic and then using the PR's to make everything? Or given your experience this will become a maintenance problem?

    That way, my programs would be merely a recipe with parameters and the work itself would be done by the cell logic, which would be the same code for each program (calling a "function"/subprogram).

    ProgLogic handles (and it's always the same):

    • Going home automatically.
    • Choosing the pallet.
    • pick from the pallet
      • Retries and error messages in case of multiple consecutive fails.
      • Abort the pallet if it multiple retries in consecutive multiple positions.
    • Place at the unloading belt (in 3 distinct positions as soon as a sensor tells the belt is empty).
    • Restart

    It's not the biggest program in history, it's just I would like to avoid duplicating code.

    Of course, if someday the customer asks me to make a different thing, I could call ProgLogic2 instead of ProgLogic.

    Images

    • flowchart.png
      • 31.61 kB
      • 1,009 × 791
      • 20
  • How to use points in sub programs

    • robotecnik
    • July 27, 2022 at 3:41 PM

    Hi all,

    Having fun with my first FANUC robot, I think it's a 7.7VRC version from the backup (I had to install that virtual controller into Roboguide to be able to import the backup from the real robot).

    This said,

    INTRODUCTION (to give mode background you can skip it and go directly to the question at the bottom)

    The application I am doing is quite simple, it only must pick a piece from a pallet and then place it into a belt.

    My plan is:

    • Create a program for each part.
    • At the beginning of that program, I store the specific data in the working Registers (distance between parts on the pallet...).
    • I want to store the points needed to produce the parts into the main program.
      • I will have two pallets, each with its own User Frame.
      • I will have 2 points for each vacuum cup: one point to pick the first part in the pallet 1 and the other point to pick the first part in the pallet 2.
      • I will have 1 point for each vacuum cup to place the parts on a belt.
    • Then, my program should call a function (I know... another program) that would do all the common work, that program should use P[1], P[2]... defined in the main part program.

    Summarizing:

    • Prog1 has 6 points defined P[1],P[2]...P[6].
    • Prog1 initializes the work parameters for that model.
    • Prog1 calls ProgLogic that will have to move the robot to different positions P[1],P[2]... and offset positions from those points. (ProgLogic will do the same work always, only adapting the offsets...).
    • That should leave me with short part programs that define the work variables and the 6 important points (pick the first part with both vacuum clamps from the first pallet (P[1] and P[2]), pick the first part with both vacuum clamps from the second pallet (P[3] and P[4]) and placing the parts in the unloading belt with both vacuum cups (P[5] and P[6]).

    My problem currently is that when in ProgLogic I execute this line:

    Code
      : J P[1] 100% FINE;

    On the teachpendant I see:

    Code
    ProgLogic LINE 1 PAUSED
    
    INTP-106 (ProgLogic, 1) Continue request failed.
    
    MCTL-003 system is in error status.

    If I look at the error log I can see:

    Code
    INTP-311 (ProgLogic, 12) Uninit

    Clearly, I am doing something wrong.

    Could you share how you would do this?

    Is it something as easy as a semicolon or something like that? or is a more complicated thing and I can't separate the logic from the points? (how can I get more information about the error itself?)

    My initial idea is to avoid repeating code in each model to ease the future maintenance.

    QUESTION

    How can I use points declared in my selected program in a sub-program?

    Do I have to use PRs for that?

    I would prefer the point directly to be able to adjust the point while working (pause and adjust of course...).

    My idea is to create a program that initializes Registers I will use to work (like a recipe for each part model) and that stores the working points and then all the separation from the working points and the offsets to move through the different pallet positions should be automatically done in a separated logic program, all this to keep the future maintenance easier.

    How would you do that?

    Thank you in advance for your time and help!

  • Roboguide questions

    • robotecnik
    • July 27, 2022 at 10:55 AM

    Thank you guys all this really helps.

    :smiling_face:

  • Roboguide questions

    • robotecnik
    • July 26, 2022 at 3:01 PM

    Hi all,

    Starting my journey with Fanuc robots.

    Installed roboguide, created a cell from a robot backup.

    Added some obstacles and moved the robot to be in the exact position it should be.

    Added a part that will have 4 tools in.

    It has 2 clamps and 2 vacuum cups in the same gripper mounted in the flange of the robot.

    Questions:

    1. Is it possible to teach a user frame in Roboguide without opening the virtual teach pendant?

    2. From the backup, how can I know how many digital inputs and outputs the real robot has installed?

    3. After reading posts here, Maketp seems to be the easiest way to compile programs, where can I find it? (I have roboguide 9V installed, but it is not in the FANUC/Shared/Utilities folder).

    4. How can I stop the selected program execution from a program running in background (Background logic)? (No PLC here, so no PNS). If I use that method, will the program start from the beginning or will it continue from where it was?

    5. Are the background logic programs started automatically? Should I start them from the selected program?

    Thank you very much for your help!

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