<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hurco control: M-codes and WinMax on CNC-Master</title><link>https://cnc-master.xyz/en/academy/controls/hurco/</link><description>Recent content in Hurco control: M-codes and WinMax on CNC-Master</description><generator>Hugo</generator><language>en</language><atom:link href="https://cnc-master.xyz/en/academy/controls/hurco/index.xml" rel="self" type="application/rss+xml"/><item><title>Hurco M-codes: reference table</title><link>https://cnc-master.xyz/en/academy/controls/hurco/m-codes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cnc-master.xyz/en/academy/controls/hurco/m-codes/</guid><description>&lt;p&gt;On Hurco machining centers, M-codes control the machine functions: spindle, coolant, tool changes, rotary axis clamping, probing, and laser functions. The basics of &lt;a href="https://cnc-master.xyz/en/academy/basics/tool-and-spindle/"&gt;tool changes and spindle commands&lt;/a&gt; apply here just as on any other control.&lt;/p&gt;
&lt;h2 id="essential-m-codes"&gt;Essential M-codes&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Code&lt;/th&gt;
					&lt;th&gt;Function&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;M00&lt;/td&gt;
					&lt;td&gt;Program stop: stops the spindle, coolant, and program execution.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M01&lt;/td&gt;
					&lt;td&gt;Optional program stop, often used when the operator needs to re-clamp the workpiece.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M02&lt;/td&gt;
					&lt;td&gt;End of program: stops spindle, coolant, and axis feed.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M03&lt;/td&gt;
					&lt;td&gt;Starts the spindle clockwise.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M04&lt;/td&gt;
					&lt;td&gt;Starts the spindle counterclockwise.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M05&lt;/td&gt;
					&lt;td&gt;Turns off the spindle.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M06&lt;/td&gt;
					&lt;td&gt;Triggers an automatic tool change.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M08&lt;/td&gt;
					&lt;td&gt;Turns on coolant system 1.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M09&lt;/td&gt;
					&lt;td&gt;Turns off coolant systems 1 and 2.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M30&lt;/td&gt;
					&lt;td&gt;End of program: marks the end of the main program.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M98&lt;/td&gt;
					&lt;td&gt;Calls a subprogram.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M99&lt;/td&gt;
					&lt;td&gt;Return from a subprogram.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="example"&gt;Example&lt;/h2&gt;
&lt;div class="highlight gcode"&gt;&lt;pre&gt;&lt;code class="language-gcode"&gt;&lt;span class="gc-t"&gt;T1&lt;/span&gt; &lt;span class="gc-g"&gt;M06&lt;/span&gt; ; load tool 1
&lt;span class="gc-t"&gt;S8000&lt;/span&gt; &lt;span class="gc-g"&gt;M03&lt;/span&gt; ; spindle clockwise, 8000 rpm
&lt;span class="gc-g"&gt;M08&lt;/span&gt; ; coolant on
&lt;span class="gc-g"&gt;G01&lt;/span&gt; &lt;span class="gc-x"&gt;X50&lt;/span&gt; &lt;span class="gc-x"&gt;Y20&lt;/span&gt; &lt;span class="gc-t"&gt;F500&lt;/span&gt;
&lt;span class="gc-g"&gt;M09&lt;/span&gt; ; coolant off
&lt;span class="gc-g"&gt;M05&lt;/span&gt; ; spindle off
&lt;span class="gc-g"&gt;M30&lt;/span&gt; ; end of program&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="reference"&gt;Reference&lt;/h2&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Code&lt;/th&gt;
					&lt;th&gt;Function&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;M00&lt;/td&gt;
					&lt;td&gt;Program stop: stops the spindle, coolant, and program execution.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M01&lt;/td&gt;
					&lt;td&gt;Optional program stop, often used when the operator needs to re-clamp the workpiece.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M02&lt;/td&gt;
					&lt;td&gt;End of program: stops spindle, coolant, and axis feed.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M03&lt;/td&gt;
					&lt;td&gt;Starts the spindle clockwise.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M04&lt;/td&gt;
					&lt;td&gt;Starts the spindle counterclockwise.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M05&lt;/td&gt;
					&lt;td&gt;Turns off the spindle.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M06&lt;/td&gt;
					&lt;td&gt;Triggers an automatic tool change.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M07&lt;/td&gt;
					&lt;td&gt;Turns on coolant system 2.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M08&lt;/td&gt;
					&lt;td&gt;Turns on coolant system 1.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M09&lt;/td&gt;
					&lt;td&gt;Turns off coolant systems 1 and 2.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M10&lt;/td&gt;
					&lt;td&gt;Turns on coolant systems 1 and 2.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M12&lt;/td&gt;
					&lt;td&gt;Clamps the C axis (rotary table).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M13&lt;/td&gt;
					&lt;td&gt;Unclamps the C axis (rotary table).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M20&lt;/td&gt;
					&lt;td&gt;Advances the indexer by one position.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M21&lt;/td&gt;
					&lt;td&gt;Starts the lubrication cycle.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M25&lt;/td&gt;
					&lt;td&gt;Retracts the Z axis to its home position (tool change position).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M26&lt;/td&gt;
					&lt;td&gt;Selects the workpiece probing signal.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M27&lt;/td&gt;
					&lt;td&gt;Selects the tool probing signal.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M29&lt;/td&gt;
					&lt;td&gt;Activates synchronous tapping.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M30&lt;/td&gt;
					&lt;td&gt;End of program: marks the end of the main program.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M32&lt;/td&gt;
					&lt;td&gt;Clamps the A axis (rotary table).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M33&lt;/td&gt;
					&lt;td&gt;Unclamps the A axis (rotary table).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M34&lt;/td&gt;
					&lt;td&gt;Clamps the B axis (rotary table).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M35&lt;/td&gt;
					&lt;td&gt;Unclamps the B axis (rotary table).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M36&lt;/td&gt;
					&lt;td&gt;Turns off the servo drives.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M38&lt;/td&gt;
					&lt;td&gt;Captures and sets the state of the laser &amp;ldquo;OK&amp;rdquo; signal.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M39&lt;/td&gt;
					&lt;td&gt;Captures and sets the state of the static laser signal.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M40&lt;/td&gt;
					&lt;td&gt;Captures and sets the state of the dynamic laser signal.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M41&lt;/td&gt;
					&lt;td&gt;Disables two-touch probing with G31.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M42&lt;/td&gt;
					&lt;td&gt;Enables automatic two-touch probing with G31: if the workpiece probe is triggered during the G31 move, it retracts automatically and probes a second time at reduced feed.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M43&lt;/td&gt;
					&lt;td&gt;Increases the purge air.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M44&lt;/td&gt;
					&lt;td&gt;Decreases the purge air.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M45&lt;/td&gt;
					&lt;td&gt;Opens the shutter.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M46&lt;/td&gt;
					&lt;td&gt;Closes the shutter.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M47&lt;/td&gt;
					&lt;td&gt;Turns on the laser transmitter.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M48&lt;/td&gt;
					&lt;td&gt;Turns off the laser transmitter.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M49&lt;/td&gt;
					&lt;td&gt;Turns on the laser receiver.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M50&lt;/td&gt;
					&lt;td&gt;Turns off the laser receiver.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M52&lt;/td&gt;
					&lt;td&gt;Activates auxiliary output 1.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M53&lt;/td&gt;
					&lt;td&gt;Activates auxiliary output 2.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M54&lt;/td&gt;
					&lt;td&gt;Activates auxiliary output 3.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M55&lt;/td&gt;
					&lt;td&gt;Activates auxiliary output 4.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M56&lt;/td&gt;
					&lt;td&gt;Rotates the pallet changer for a pallet change without confirmation.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M57&lt;/td&gt;
					&lt;td&gt;Rotates the pallet changer to pallet 1.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M58&lt;/td&gt;
					&lt;td&gt;Rotates the pallet changer to pallet 2.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M59&lt;/td&gt;
					&lt;td&gt;Starts the chip conveyor in forward direction.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M60&lt;/td&gt;
					&lt;td&gt;Starts the chip conveyor in reverse direction.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M61&lt;/td&gt;
					&lt;td&gt;Stops the chip conveyor.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M62&lt;/td&gt;
					&lt;td&gt;Deactivates auxiliary output 1.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M63&lt;/td&gt;
					&lt;td&gt;Deactivates auxiliary output 2.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M64&lt;/td&gt;
					&lt;td&gt;Deactivates auxiliary output 3.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M65&lt;/td&gt;
					&lt;td&gt;Deactivates auxiliary output 4.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M68&lt;/td&gt;
					&lt;td&gt;Activates flood coolant.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M69&lt;/td&gt;
					&lt;td&gt;Deactivates flood coolant.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M76&lt;/td&gt;
					&lt;td&gt;Normal A-axis operation (default setting).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M77&lt;/td&gt;
					&lt;td&gt;Reverses A-axis operation.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M78&lt;/td&gt;
					&lt;td&gt;Normal B-axis operation (default setting).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M79&lt;/td&gt;
					&lt;td&gt;Reverses B-axis operation.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M80&lt;/td&gt;
					&lt;td&gt;Positive C-axis rotation direction (default setting).&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M81&lt;/td&gt;
					&lt;td&gt;Negative C-axis rotation direction.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M98&lt;/td&gt;
					&lt;td&gt;Calls a subprogram.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;M99&lt;/td&gt;
					&lt;td&gt;Return from a subprogram.&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="notice notice--info"&gt;
 &lt;svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"&gt;&lt;circle cx="12" cy="12" r="9"/&gt;&lt;path d="M12 11v6m0-10v.01"/&gt;&lt;/svg&gt;
 &lt;div&gt;&lt;div class="notice-title"&gt;Machine-dependent availability&lt;/div&gt;&lt;p&gt;Which M-codes are actually available depends on the machine model and its equipment, such as a pallet changer, rotary table, or laser measurement system. The documentation for your specific WinMax control is authoritative.&lt;/p&gt;</description></item></channel></rss>