Posts by robotecnik

    Hello all,

    Trying to start setting up a brand new robot.

    I have a SRVO-062 alarm for every axis of the scara robot from 1 to 4.

    I asked the electricians about it and they told me all the cables are plugged correctly like in the last robot we made.

    Keeping the controller powered up, we've opened the lid of the batteries in the robot arm base, checked the voltage and all 4 batteries give voltage.

    This said... and given I have not much experience with Fanuc robots...

    What would you check?

    Where are the cables involved?

    And, after checking and correcting any possible cabling issue... will I have to make a Quick master?

    Tried to call Fanuc service and it looks like they are in an internal meeting that will have them out of service all this morning...

    Thank you all in advance.

    At the end, after speaking a couple of hours with a super nice technician from Fanuc, they decided to send a pendant to our place.

    They said it was not possible to revive the controller without extra hardware and they offered to send a technician with a pendant.

    Given we had to store several points and that it would be faster / safer with the deadman switch, they have sent the pendant and we've reconfigured it all to revive the robot.

    Thank you all for your help about this!

    Sorry for not having said anything till now, we are starting several machines at once and it is becoming complicated to find some time...

    Thanks for your post Shellmer, it seems quite easy to use,

    In every FINE line on my code, I should do it like this:

    J P[1] 100% FINE DB 2.0mm CALL FX ;

    And that would be perfect to increase the speed.

    The only drawback I can see is that when speed is changed the distance won't... So it will lead to different results unless DB allows to adapt itself in function of the speed.

    In any case, that would reduce times for sure, will try it asap.

    Hi all,

    How should I make the robot to move faster?

    The code I have done looks like:

       9:  PR[3,3:offset]=0    ;
      10:J P[1] 100% CNT25 Offset,PR[3:offset]    ;
      11:J P[1] 100% FINE    ;
      12:  CALL FX    ;
      13:J P[1] 100% CNT25 Offset,PR[3:offset]    ;
      14:  PR[3,3:offset]=0    ;
      15:J P[2] 100% CNT25 Offset,PR[3:offset]    ;
      16:J P[2] 100% FINE    ;
      17:  CALL FX    ;
      18:J P[2] 100% CNT25 Offset,PR[3:offset]    ;

    The issue is that the robot moves very slowly between points. It's a SR6iA scara robot.

    As you can see all the points are J and are set to 100%. It's an application that requires the robot to go to FINE positions, execute a PLC instruction with handshake (glue application/shot) and then leave to another position as fast as possible.

    Now offsets are set to 0, but I plan to leave the offset movements there for later use if needed.

    Tool weight still has not been initialized.

    What I can see now is super slow even the speed override is 100% on the pendant and that the robot is in AUTO mode.

    Any hint on how to speed things up?

    Thank you all.

    To keep things easier for the final customer:

      9: PR[3,3]=0;
    10:  J P[1] 100% CNT25 Offset,PR[3] ;
    11:  J P[1] 100% FINE ;
    12:  CALL FX;
    13:  J P[1] 100% CNT25 Offset,PR[3] ;
    14: PR[3,3]=0;
    15:  J P[2] 100% CNT25 Offset,PR[3] ;
    16:  J P[2] 100% FINE ;
    17:  CALL FX;
    18:  J P[2] 100% CNT25 Offset,PR[3] ;

    That way I can write whatever I need, they can touch up the points.

    A pity because it is a super verbose solution and it makes making modifications slow, but, a small excel VBA made it a breeze to make the code.

    Thanks all for your comments.

    And... would it be possible to loop to assign PR[x] to P[x] at the beginning?

    something like FOR x = 1 to 200 PR[x]=p[x];

    I could use the J P[x] after the END instruction and then everything would be very easy to do:

    In the same loop, I could execute all the movements and calculations only calling one function...

    Thank you all...

    OK, given your answers maybe the best option for my case would be:

    PR[200] = P[1];

    CALL work;

    PR[200] = P[2];

    CALL work;

    PR[200] = P[3];

    CALL work;

    PR[200] = P[4];

    CALL work;


    And inside work:

    PR[201] = PR[200];

    PR[201.3] = x;

    J PR[201] 100% CNT25;

    J PR[200] 100% FINE;

    CALL plc_thing;

    J PR[201] 100% CNT25;

    This would make the program easy to maintain, as far as I remember I should be able to touch up the points and, if I make the function dependant on a dummy parameter noone should be able to call it directly from the pendant without having to jump lines of code manually.

    Maybe the best would be to use normal offsets to prevent problems while editing and manually setting the program pointer in the wrong line...

    Thank you all.

    Hello all,

    I am not in front of the robot now and I can't test it till the next week. So, to gain a little bit of time I've thought of asking for help here.

    I must store +/- 30 points and before and after all those points, the robot should move to a certain height.

    MAIN ROUTINE (pseudocode)

    CALL Move_To_Aprox(P[1]);
    J P[1] 100% FINE    ;
    CALL Move_To_Aprox(P[1]);
    CALL Move_To_Aprox(P[2]);
    J P[2] 100% FINE    ;
    CALL Move_To_Aprox(P[2]);

    I could use Excel to create that text for me.

    Move_To_Aprox ROUTINE (pseudocode)

    PR[200] = AR[1];
    PR[200,3] = 100;
    J PR[200] 100% CNT25;


    * I've chosen using points instead of PR because there will be lots of programs and it could be a mess having all the points mixed.

    * I could use offsets, which would be simpler, but I should calculate the value every time the point is modified to ensure the robot goes to the desired height.

    * I could use a LPOS/JPOS instruction to read the coords of the robot once inside Move_To_Aprox, but that seems risky if CNTs are involved (which should not after the work point, but could be messy between the two union points).

    Is there an easier way in Fanuc to achieve this?

    Thank you all!

    Maybe I've not explained it correctly, at the end I've been able to speak with a Fanuc technician and he told me the plane orientation would be wrong, not a big deal, the customer will just mount the pins as they should.

    A pity I have not been able to test it directly... all would have been much faster.

    Thanks for your post!

    Hello all,

    I am working at a new customer who has set the typical 3 pins to create user frames not at 90º.

    I have a straight line in the XY axis (X1 to Y1), but the X2 position is not aligned with X1. In other words, the angle defined between X1-X2-Y1 is not 90º.

    Is the Fanuc robot capable to create a user frame this way?

    And will the Z axis work as it would in a perfectly 90º pins distribution?

    Sorry for this simple question, but I have never done this like that, and the robot is still not properly connected so I can't try it. And, as usual, customer is on a hurry.

    Thank you all in advance.

    Sorry for being so late answering DS186 ,

    This morning I have spent one hour with a Fanuc technician and at the end he told me they would have to come, connect a TP and reconfigure the robot.

    An "All of above" backup recovery has not helped at all.

    Unless somebody here knows of a method to go back to AUTO without a TP connected, I will have to wait for them to come (or send a TP).

    Thanks for your messages!

    pdl the option you pointed out is not present in my system.

    DS186 when I try to enter irProgrammer I get "Auto mode is required" text in white background only.

    As far as I know, there is no option installed to select the operating mode at all.

    It's my fist robot without pendant and I thought all the time it would have to be in AUTO because everything seems to require that to work...

    No idea, I think the electricians have connected only the cap that is tied with a small "chain" to the cabinet to the plug where the pendant should be connected.

    Thank you both.

    Hello all,

    I must activate the TP to be able to keep working in a robot without TP.

    It worked, something changed and now it is not working anymore, I can't access the irProgrammer, neither I can jog the robot.

    If I select NAVIGATE IPENDANT (JCGTP) :: under the 3D display a yeld with "Turn the teach pendant enable switch to [on]" message appears.

    If I select JOGGING IPENDANT (JITP) :: a white web page with "Auto mode is required" text appears.

    If I select SOFT OPERATOR PANEL :: a white web page with a lot of text appears:

    "SYST-244 Auto mode is required


    This operation requires Auto mode.


    Change the mode switch to Auto.

    SYST-245 Local mode is required


    This operation requires Local mode.


    Change the mode to Local.

    SYST-246 Teach mode is required


    This operation requires Teach mode.


    Change the mode to Teach.

    SYST-247 Master ON is required


    This operation requires a Master ON situation.


    Ensure that the Master ON situation exists.

    SYST-248 Alarm condition


    This operation requires no alarm situation.


    Clear the alarm situation.

    SYST-249 No system ready input


    With all that information... given this is a robot without pendant, how could I activate AUTO and the TP?

    Thank you all.

    Hello all,

    Trying to start a Scara robot without pendant (it came like this from Fanuc, the final customer prefers it this way).

    I am getting the alarm SRVO-002 Teach pendant E-stop alarm (that one should not be there given the robot has no pendant).

    I also get SRVO-037 IMSTP input (Group:1). That one should not be there too... I can see the PLC activating the signal and the signal in the UOP robot inputs to be active/ON.

    I get SYST-305 System startup in progress both in red and in yellow.

    And SRVO-001/007 which is normal because the machine is still in emergency condition.

    Will the previous errors disappear as soon as the machine has the emergency channels ready?

    Thank you very much in advance.

    Hello all,

    - Could you confirm that UI[6] makes the robot to continue the program where it was (resume a paused program or start a program from the cursor position).

    - Could you confirm that UI[18] makes the robot to start from the scratch/beginning of the loaded program.

    I will always work with the same program, it will choose what to execute in a small SELECT clause at the start of the loaded program.

    Seen the PNS,RSR.... how could I do this? I mean I can program that logic, it's easy, but I don't know how to ensure always the same program will be launched no matter what I have selected in the pendant. And of course I must ensure the UI[18] will execute that program from it's beginning too.

    Thank you all!