Posts by kevilay

    Example to Home the robot as below

    DIM Position[2] As POSITION 'FN801-DEFINE Variable Position
    MOVEX A=1,AC=0,SM=0,M1J,P,P*,R=20.0,H=2,MS 'Move to Current position
    GETPOS 0,1,Position[1],0,1 ' USE FN 822 -Get Current Machine cordinate position 
    OPEPOS 0,Position[1],V1!,0,0' USE FN 826- Extract X,Y,Z,Roll,pitch,yaw into real variables V1 to V6

    Current position of (Z) available in V3!.You can then use IF statements to compare V3! and then MOVE robot safely to Home

    I am a little confused by this. I am not exactly sure what the movex does. If in my case I would try to move to a z of a fixed 500 how would I do the final move with the current position applied? I think I need 1 more line but am struggling with getting it working.

    Hey guys,

    I am workin with my first nachi robot and am looking to write an offset program. Normally when programming robots I will read in my current position, then apply either apply a set z height that I know is clear to the current position or apply a static z offset. Then go to the same position that it was left at (random position in travel) then apply the offset and it will move up to a safe height, then from there it can go home. What does this look like in nachi? I am currently attempting to do this using XYZ shift FN58 but even with it all being linear moves when I apply the shift the robot will move up but it doesnt maintain the pitch/roll It moves the TCP straight up, but also rolls it quite a bit. I have tried this using world and TCP frames. Please let me know if you have any suggestions.



    1. By Using “External Reset”-Input, the Program pointer moves to Step 0 of the current program.

    2. At Step 1 of the Current program, Use FN81 to Call Homing Program

    3. Once Robot is Homed then Jump to Main loop-P100

    I guess I have a question here. So if I were to external reset. Now my "program 42" would start at the stop. Call home, then jump to the main loop. If I wanted to run program 42 from my main loop, how would i prevent it running that home and back to main in a loop?

    Never mind. THis worked exactly how I wanted it to. Awesome suggestion!

    So I did find another problem. When starting the robot up it ALWAYS resumes where it left off. Even if I program stobe a new program it will always resume.

    Here are the conditions.

    100 is my main loop

    From there I will start my weld program (21)

    If the light curtain is interrupted during the cycle of 21

    when the light curtain is restored 21 will resume from where it was interrupted.

    We have to go back through to program 100 to home the robot first because of safety issues on the machine with recovering with the machine in an unknown state.

    In fanuc they have seperate starts for resume and start. They always have an Abort all to exit the current program. This is essentially what I am looking for.


    Hey guys,

    I am working with a nachi robot for the first time. I am using some basic IO, but need to send some integers back and forth for ultrasonic weld numbers. In fanuc I would use a group input/output and assign it as a 8bit binary output. Then put it back together into an INT on the PLC side. How is this done in Nachi?



    Hey guys,

    I figured out the problem. Not being overly experienced with nachi I mapped alot of unnecessary tags to the map to the PLC. However I found out when you map a variable it expects it to be used. Once I unmapped the hold and other variables I didn't need it started up no problem.

    Hey guys,

    I am using a nachi robot for the first time (brand new install). I have it successfully communicating with the PLC and all my base programs written. However I am trying to start the robot in auto mode. I am following the timing chart.

    It says to:

    Turn Motors On (Here we see the green light on the controller start flashing and the motors light comes on in the corner of the pendant)

    Select Programs BIts (no problem)

    Program Strobe (when we do this we get a release the robot pause error. A2974 Pause(Hold) or External pause(hold) signal is being given UNIT1 --(---)

    Im sure I am missing some sort of setting or configuration as I am brand new to these robots. I have been hunting through the manuals and tried turning on and off the external and other pause signals but no matter what I do I get the same response.

    Please let me know if you have any suggestions



    I did get this corrected. Not sure what was causing the bad IO assignment. However I expanded my inputoutput map from 6 words to 16 words. (I needed the extra space anyways) and this corrected the issue. Somewhere something must have been referencing outside of the 6 words. Still would be nice to understand what was happening.

    Hey guys,

    I have setup a bunch of robots from scratch. Probably around 50. I am working on a customer site and we are re-purposing 4 robots. Arc mates I120IC. We are just using them for a clipping appliation. So no external axis or anything hooked up to the robot from the EOAT. I have put our standard routines and IO assigments in however I am getting the bad IO for the ethernet. I don't know if it will stop me in auto mode yet but it seems just like a warning. I have configured everything under the IO tab. THe DI/DO, UOP all configurations are green and active. They don't exceed my ethernet mapping. My robot is communication to the PLC without issue and everything lines up exactly. I just don't know where this error is coming from. It must be something left over in the robot. DO you guys have any suggestions of where to look



    Hey guys,

    I have a backup of an robot that I cant seem to open up in my older version of roboguide (doing the create a cell from backup). The customer set me backups & I also have backups. I am looking for a way to compare the data and position registers. I don't mind doing it manually I just need to be able to open them. Mostly the data registers. I am not sure if there is a way to view the numreg file. Or a way to take an existing roboguide sim and just import the data reg's to look at them.

    Any suggestions?


    I'm sending triggers via Ethernet/IP and I don't have any latency problems. Only problem I have is little distortion because of acceleration and deceleration but it doesn't bother me.

    Could you please show me what that looks like on the fanuc side? How you are sending the triggers.


    I have a base level arc mate robot I am using (given from customer) for a 3d line scanner application. The 3d line scanner is mounted to the robot. I need to feed an "encoder" pulse to the controller of the 3d scanner from the robot to handle the triggering. I have used the scanners before and with a drive i generated a pulse based on position. Then in the camera I set how much movement 1 pulse is and it will trigger based on the pulse to make a perfect stitched together image through the travel. It will be a straight X direction movement during the scan. The camera has a physical wired input for this pulse. Hopefully I can somehow utilize it this way. I am worried if I do it over Ethernet I will have some latency issues. Do you guys have any experience or tips for trying to do this?


    Hello Guys,

    I am pretty new to denso. I am trying to move around an object to get to my install point. I had to teach about 5 position to get to where I need. However the robot stops at every points. I want it to be a more consistent movement. What is comparable to fanuc CNT. I am using a 3 axis denso with the rc8 controller.

    MOVE P , P60 'Send Robot To Clip 6 Transition 1
    MOVE P , P50 'Send Robot To Clip 5 Transition 1
    MOVE P , P40 ' Send Robot To Clip 4 Transition 1
    MOVE P , P30 ' Send Robot To Clip 3 Transition 1
    MOVE P , P20 ' Send Robot To Clip 2 Transition 1
    MOVE P , P10 ' Send Robot To Clip 1 Transition 1

    Here is my little snipit of my code. I am looking for a continuious motion from point 60->50->40->30->20->10 and to stop at 10


    Press motion (1,1) =( start distance schedule #1, pressure schedule #1).
    To find the pressure go to [data] [f1] select pressure this is the pressure table. (You May need to press [prev] to see all pressure schedules)
    Depending on software version this may also have the thickness in the pressure table.
    Depending on software options you may have a tip dress command. If you have that, that is the best way to dress caps. To check go to menu (6 setup) [f1] and look for tip dress. If you have that option use it. To use it simple add the tip dress command to the end of the position. Same way you would for adding a spot weld point. [next] [inst] spot welding, tipdress.

    Thank you very much for this response. What is a start distance schedule? Where would I find this? I do have the thickness in the pressure table. I was trying to use this for dressing, but also for a cap changer. I have to close on the changer at a set pressure.