What's new
What's new

Mori NL2000 robot interface

Xjenderfloip

Stainless
Joined
Feb 9, 2005
Location
Rotterdam
Hi im looking for ideas to avoid buying a robot interface from mori seiki.
We got a mori and a used fanuc robot, now to get the communication between the 2, we would have to buy one for $12.000, wich is more then we paid for the robot hehe.
The boss is getting tight with the budget now so...

The robot has to pick and place parts, so theres not so much need for alot of I/O , i think 5 of each will do.

As far as i can see this will be the sequence.
Start program
Finished machining
Open door (by automatic door or robot)(signal out to robot)
Place robot grippers on part
Open chuck (signal in to CNC)
Put machined part on table
Get&place new part
Close chuck (signal in to CNC)
Check for closed chuck(signal out to robot)
Remove robot
start program(signal in to CNC)

What are the options?
Are there any companies that make generic I/O cards and provide help and support plugging it into a mori (2007 build) ?

Forget the I/O and use the signal lamp, circuit break the green button and foot pedal ?

Are there any free programmable M-codes and I/O ports on a MSX 850III ?

Any toughs are welcome
 
Robot Interface

To do it safely (for the machine, robot and you), you need access to the machines PLC.

You need the following I/O.
From machine to robot:
1. ) Machine Ready to Load
This signal, generated by the PLC from internal signals, says the tool slide/turret is at home (loading) position, the spindle is stopped, the NC is stopped or halted via M code, and the access door is open.
2. ) (Optional but highly recommended) Spindle is oriented - Self explanatory
3. ) Chuck Open - self explanatory
4. ) Chuck Closed - self explanatory
5. ) Machine faulted
This signal from the PLC goes to the robot for any level 3 or higher fault. This puts the robot in "stop at cycle end" mode, which puts it in a configuration to restart before halting.
6. ) E Stop - This is a hard-wired safety circuit which will E-Stop the robot if the machine E-Stops.
7. ) If using M code hold, which you probably will need to do.....an M-code output that requires resetting via 24V signal for robot finished.
8. ) Robot bypass option. This will usually be a user parameter bit that will allow manual operation of the machine should the robot be powered down for maintenance. Normal manual machine operation is possible without setting this bit as long as the robot is powered and in a safe (home) position.
9. ) Door is open
10. ) Door is closed

Inputs to the machine from the robot:
1) Robot in working area
This signal is used in the machine PLC to inhibit any motion of the machine (including cycle start, door close,spindle start, etc) while the robot is within the working area of the machine. This will be a "low" signal from the Robot, so it is inherently safe if a power glitch, etc occurs. For the machine to operate, there must be a +24V signal from the robot. The only thing the machine is allowed to do while the robot is within the working area is to open/close the chuck.
2.) Request to open chuck - Robot asks machine to open chucking device.
3. ) Request to close chuck - Robot requests chuck closed.
4. ) Request door Closed
5. ) Request door Open (Assumes door is not opened automatically via M code in NC program)
6. ) Machine Release (Cycle Start)

Typically you do not tie the robot E stop into the machine E stop. Thus if the robot E stops, the machine does not. However, if the machine E stops, the robot DOES E stop.

About the M code hold.......
If you kill the control with M30 between cycles, you will not have coolant available to rinse the chuck with. This can be a very bad thing.
To fix this problem, what you do is assign a static M code (one that must be reset externally) to "Robot Finished". Using 2 additional M codes, you install 2 coolant valves from your main coolant line in a U (or T) arrangement. Then instead of programming M30, you program M99 at the end of the program.
One coolant valve goes to a chuck rinse line, the other ties right back into the original plumbing.
Just for example: M120 = Robot Finished
M121 = Rinse Coolant
M122 = Normal Coolant
The program will then look like this:
Oxxxx;
Program header info per normal, set defaults, etc
Call first tool, etc
M08 (Turn coolant pump on)
M121 (Rinse coolant on)
M120 (Robot Finished)
M122 (Normal Coolant on)
.....
......
.....
....
Program end info
M19 S0
M99

What will happen is the program hits M99, jumps back to the header and starts over. There it turns the coolant pump back on (M08), and switches the valves to the chuck rinse line (M121). Then the program is Held - Until the Robot releases the M120 at which point the M122 switches the valves back to normal coolant flow and your program repeats.

(On edit) You may also want a separate cycle start signal. If you don't have a separate cycle start, then it will be required that you press the cycle start button on the machine prior to starting the robot, so that the machine NC gets to the wait M code.
 
Last edited:
Are there any free programmable M-codes and I/O ports on a MSX 850III ?

Moris typically have several spare M-codes. There are likely many that are assigned and not in use, intended for an option. These can also be used. There are two main types. (1) an M-code turns on an output until the CNC receives an M-finish signal (2) an M-code turns on an output until another M-code turns it off

I would expect #1 to be the most useful in a robot interface. You want the machine to send an instruction to the robot and wait while the robot does the task. At task completion, the robot sends back the M-finish code so the machine continues its program.

The #2 type is good for things like an airblast to clean chuck jaws. Mori usually already has an airblast code designated, so the wiring just needs to be added to the output point. This would turn on the air until another code turned it off, just like M08/M09.

The place to find these spare codes is in the ladder diagram book.

User Macro outputs can also be used to send signals to a 'bot, and receive answer signals through User Macro inputs. This is a more complex method, often requiring adding hardware, and knowing how to program the UM inputs and outputs. Again, if this is possible on your machine, the ladder will show the I/O.

mt
 
The hardest thing for him to get will be the "machine ready to load" signal. That must come from the plc and although he may have a signal already in the ladder that may work, it most likely won't be an actual output. More likely an internal flag to the PLC. By editing the plc he could map that to a hard output.

You _do_ want a proper interface. We ran for years with an improper (very limited) interface to some Mazak machines. This resulted in many serious (and expensive) crashes between machine and loader. He does not want to go that route.
 
To do it safely (for the machine, robot and you), you need access to the machines PLC.

You need the following I/O.
From machine to robot:
1. ) Machine Ready to Load
This signal, generated by the PLC from internal signals, says the tool slide/turret is at home (loading) position, the spindle is stopped, the NC is stopped or halted via M code, and the access door is open.
2. ) (Optional but highly recommended) Spindle is oriented - Self explanatory
3. ) Chuck Open - self explanatory
4. ) Chuck Closed - self explanatory
5. ) Machine faulted
This signal from the PLC goes to the robot for any level 3 or higher fault. This puts the robot in "stop at cycle end" mode, which puts it in a configuration to restart before halting.
6. ) E Stop - This is a hard-wired safety circuit which will E-Stop the robot if the machine E-Stops.
7. ) If using M code hold, which you probably will need to do.....an M-code output that requires resetting via 24V signal for robot finished.
8. ) Robot bypass option. This will usually be a user parameter bit that will allow manual operation of the machine should the robot be powered down for maintenance. Normal manual machine operation is possible without setting this bit as long as the robot is powered and in a safe (home) position.
9. ) Door is open
10. ) Door is closed

Inputs to the machine from the robot:
1) Robot in working area
This signal is used in the machine PLC to inhibit any motion of the machine (including cycle start, door close,spindle start, etc) while the robot is within the working area of the machine. This will be a "low" signal from the Robot, so it is inherently safe if a power glitch, etc occurs. For the machine to operate, there must be a +24V signal from the robot. The only thing the machine is allowed to do while the robot is within the working area is to open/close the chuck.
2.) Request to open chuck - Robot asks machine to open chucking device.
3. ) Request to close chuck - Robot requests chuck closed.
4. ) Request door Closed
5. ) Request door Open (Assumes door is not opened automatically via M code in NC program)
6. ) Machine Release (Cycle Start)

Typically you do not tie the robot E stop into the machine E stop. Thus if the robot E stops, the machine does not. However, if the machine E stops, the robot DOES E stop.

About the M code hold.......
If you kill the control with M30 between cycles, you will not have coolant available to rinse the chuck with. This can be a very bad thing.
To fix this problem, what you do is assign a static M code (one that must be reset externally) to "Robot Finished". Using 2 additional M codes, you install 2 coolant valves from your main coolant line in a U (or T) arrangement. Then instead of programming M30, you program M99 at the end of the program.
One coolant valve goes to a chuck rinse line, the other ties right back into the original plumbing.
Just for example: M120 = Robot Finished
M121 = Rinse Coolant
M122 = Normal Coolant
The program will then look like this:
Oxxxx;
Program header info per normal, set defaults, etc
Call first tool, etc
M08 (Turn coolant pump on)
M121 (Rinse coolant on)
M120 (Robot Finished)
M122 (Normal Coolant on)
.....
......
.....
....
Program end info
M19 S0
M99

What will happen is the program hits M99, jumps back to the header and starts over. There it turns the coolant pump back on (M08), and switches the valves to the chuck rinse line (M121). Then the program is Held - Until the Robot releases the M120 at which point the M122 switches the valves back to normal coolant flow and your program repeats.

(On edit) You may also want a separate cycle start signal. If you don't have a separate cycle start, then it will be required that you press the cycle start button on the machine prior to starting the robot, so that the machine NC gets to the wait M code.

Suddenly that 12K for the robot interface doesn't sound so bad!:willy_nilly:

Are you able to do all of this on your own with Mazak and Brother controls? Or is there an add on that needs to be purchased?
 
Thanks for the replies guys,
to clear things up, my response to "we arent gonna buy a robotinterface" wasnt exactly overflowing from joy.
But, and Tony made it even more clear here, my knowledge and experience on this part wasnt enough to convince the boss of the necessity of that part.
Indeed 12k sounds less if you recon all the work that comes with it, including testing to get a safe situation.

In my experience those parts are usually a bunch more in europe then in the US, so next question, what would that part go for in the US?
 
Suddenly that 12K for the robot interface doesn't sound so bad!:willy_nilly:

Are you able to do all of this on your own with Mazak and Brother controls? Or is there an add on that needs to be purchased?

We do Mazak, Fanuc, Siemens, Heidenhan, and Brother controls in-house without any modules from the vendor. But, we have 8 very good, extremely experienced Electrical Engineers on staff.

The only thing we've had to purchase from a vendor was for the 530 Heidenhan controlled DMG DNU-50's and that was a disaster. DMG has so much of the control as a "black box" you can't do anything. What they provided for an exorbitant sum (3x what Mori is asking from Xjender) was basically one (1) M code and a auto door.
This disaster is the reason we no longer will purchase equipment from a vendor that will not allow our EE's complete access to the PLC/PMC.
It's a condition of sale and we simply will find another MTB for our needs, or will simply build a machine ourselves if they do not want to agree to it.
 
Thanks for the replies guys,
to clear things up, my response to "we arent gonna buy a robotinterface" wasnt exactly overflowing from joy.
But, and Tony made it even more clear here, my knowledge and experience on this part wasnt enough to convince the boss of the necessity of that part.
Indeed 12k sounds less if you recon all the work that comes with it, including testing to get a safe situation.

In my experience those parts are usually a bunch more in europe then in the US, so next question, what would that part go for in the US?

Xjender,
What they should be providing is a I/O card, isolation relays (or board), Safety relays, connectors and software (plc programming).

It costs us about $13k to interface a robot in parts and labor - in house. This includes the wiring and what not inside the robot that is required. What they are quoting is only the machine side, be aware you will have added expense on the robot side for wiring and logic / programming work. Of that $13k, $7000 is parts, including field wiring and other stuff for the external automation we use to get parts to and from the robot. The remainder is labor for physical wiring, and programming/debugging.
 
Xjender,
What they should be providing is a I/O card, isolation relays (or board), Safety relays, connectors and software (plc programming).

It costs us about $13k to interface a robot in parts and labor - in house. This includes the wiring and what not inside the robot that is required. What they are quoting is only the machine side, be aware you will have added expense on the robot side for wiring and logic / programming work. Of that $13k, $7000 is parts, including field wiring and other stuff for the external automation we use to get parts to and from the robot. The remainder is labor for physical wiring, and programming/debugging.

I agree, but getting the part from Mori, i suspect they have got proven software, so i counted the installation costs around 2k, only for putting in the interface and opening up M-codes that correspond with the I/O of the interface.
That should be a no brainer for Mori techs.

The robot supplier would take care of the robotside, the initial plan was to provide them a machine with an interface.
I met the guy who will implement the robotside, he didnt know what a CNC turning center could do basicly :? but he was convinced (pursuaded maybe) that he could do without an interface, altough after i gave him the electric diagram and plc books he was a bit silent :D

This doesnt say anything about his skills, maybe hes very talented.

Thanks Tony, i will put down on paper what you wrote, and add some extra things to concider, so everyone knows where we stand.

Its important to get clear what the estimated costs are for A] programming/connecting the robot B] making a machine interface.

If the 2 blend together, i suspect alot of extra costs, all coming from the hassle to invent the wheel again.
 
If you are using 2 vendors, it will be _EXTREMELY IMPORTANT_ to have nailed down on paper who is responsible for what, and that they come to agreement on the technical aspects long before any work begins.
 








 
Back
Top