Posts by JoanM

    So, only getting those files and update them by hand or adding the comments on the pendant...

    DIOCFGSV.IO for IO comments, and rack configurations.

    NUMREG.VR for register comments, and values.

    POSREG.VR for position register comments, and values.

    STRREG.VR for string register comments, and values.


    I think the comments just appeared in the registers and others after just being read in the program, is that even possible?

    Thank you in advance!

    rob76 yes, of course... I don't know how my customer plans to cope with this. I am a freelance and I only program that thing, I am not the company who will sell the installation neither certificate it.

    kluk-kluk sure they will have to get a company like that to certify the robot. I guess the final price will be much more expensive than a new robot would have costed.

    Transformer is already there.

    This is my first Fanuc and as you can see, I am starting well... ^^¡

    Yesterday I did a factory settings, mastered it and configured the adjust tool and a couple of user frames.

    Managed to send all the programs (after compiling them in Roboguide)...

    Waiting now for my customer to finish the electrical and mechanical installation.

    At the end, my customer will have to decide what to do with the robot.

    Fanuc Spain told me they don't want to give spare parts nor physical support; they can only give phone support on that robot. All strange enough, in any case, I hope everything works as expected and that I won't need that much support.

    Thank you all for your comments. :thumbup:

    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.

    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.

    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.

    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.

    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.

    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!

    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! :thumbup:

    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.

    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.

    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.


    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.


    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. :) 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! :thumbup: