Vertical Three Axis Mill

From MTConnect® User's Portal
Jump to: navigation, search

This is a simple machine tool with a vertical spindle and a table that can move in two dimensions. The modeling always starts with the Linear Z axis that is aligned with the primary spindle. The X axis is defined as the longest axis perpendicular to the Z axis. The spindle is now defined as a Rotary C axis that rotates around the Z axis.

Three Axis Mill

The right hand rule applies when naming the axes and defining positive motion and rotation. In this case the Rotary axis only operates as a spindle, so it will have a constant valued DataItem called RotaryMode. This machine is only capable of executing a single program and therefore only capable of a single path. The following XML describes a simple configuration for this machine.

<?xml version="1.0" encoding="UTF-8"?>
 <MTConnectDevices xmlns="urn:mtconnect.com:MTConnectDevices:1.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="urn:mtconnect.com:MTConnectDevices:1.1 
    MTConnectDevices.xsd">
	<Header bufferSize="130000" instanceId="1" creationTime="2009-11-
      13T02:31:40" sender="local" version="1.1"/>
	<Devices>
		<Device id="d1" uuid="HM1" name="HMC_3Axis">
			<Description>3 Axis Mill</Description>
			<Components>
				<Axes id="a" name="base">
					<Components>
						<Linear id="y" name="Y">
							<DataItems>
								<DataItem type="POSITION" subType="ACTUAL" id="yp" 
             category="SAMPLE" name="Yact" units="MILLIMETER" 
             nativeUnits="MILLIMETER" coordinateSystem="MACHINE"/>
							</DataItems>
						</Linear>    
						<Linear id="x" name="X">
							<DataItems>
								<DataItem type="POSITION" subType="ACTUAL" id="xp" 
             category="SAMPLE" name="Xact" units="MILLIMETER" 
             nativeUnits="MILLIMETER" coordinateSystem="MACHINE"/>
							</DataItems>
						</Linear>    
						<Linear id="z" name="Z">
							<DataItems>
								<DataItem type="POSITION" id="zp" category="SAMPLE" name="Zact" 
             subType="ACTUAL" units="MILLIMETER" nativeUnits="MILLIMETER" 
             coordinateSystem="MACHINE"/>
							</DataItems>
						</Linear>
						<Rotary id="c" name="C">
							<DataItems>
								<DataItem type="ROTARY_VELOCITY" id="cspd" category="SAMPLE" 
             name="Sspeed" subType="ACTUAL" units="REVOLUTION/MINUTE" 
             nativeUnits="REVOLUTION/MINUTE"/>
								<DataItem type=" ROTARY_VELOCITY " id="cso" category="SAMPLE" 
             name="Sovr" subType="OVERRIDE" units="PERCENT" 
             nativeUnits="PERCENT"/>
								<DataItem type="ROTARY_MODE" id="rf" category="EVENT" 
             name="rfunc">
									<Constraints>
										<Value>SPINDLE</Value>
									</Constraints>
								</DataItem>
							</DataItems>
						</Rotary>
					</Components>
				</Axes>
				<Controller id="cont" name="controller">
					<Components>
						<Path id="path" name="path">
							<DataItems>
								<DataItem type="PROGRAM" id="pgm" category="EVENT"
             name="program"/>
								<DataItem type="BLOCK" id="blk" category="EVENT" name="block"/>
								<DataItem type="LINE" id="ln" category="EVENT" name="line"/>
								<DataItem type="PATH_FEEDRATE" id="pf" category="SAMPLE"
             name="Fact" units="MILLIMETER/SECOND" 
             nativeUnits="FOOT/MINUTE" subType="ACTUAL"/>
								<DataItem type="PATH_FEEDRATE" id="pfo" category="SAMPLE"
             name="Fovr" units="PERCENT" nativeUnits="PERCENT" 
             subType="OVERRIDE"/>
								<DataItem type="PATH_POSITION" id="pp" category="SAMPLE" 
             name="Ppos" units="MILLIMETER_3D" nativeUnits="FOOT_3D" 
             coordinateSystem="WORK"/>
								<DataItem type="EXECUTION" id="exec" category="EVENT"
             name="execution"/>
								<DataItem type="CONTROLLER_MODE" id="cm" category="EVENT" 
             name="mode"/>
							</DataItems>
						</Path>
					</Components>
				</Controller>
			</Components>
		</Device>
	</Devices>
</MTConnectDevices>