Haas TM-2 DNC Works Over Ethernet With a Serial Device Server

Daniel Price16 min read
Industrial NetworkingOther ManufacturerTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

A Haas TM-2 with the standard RS-232 port and 1 MB of program memory moves a 10 KB pocketing and drill/tap program in about a second at 115.2 kbaud. That is the size of program a low-volume electronics shop runs, so the $2,995 Ethernet package is a convenience purchase. Three cheaper paths get the same files from a LAN-connected Mill PC to the control: a short direct RS-232 cable, an opto-isolated RS-232 link, or an Ethernet-to-serial device server that presents a virtual COM port. This walkthrough builds that path in order. Each section ends with a check to pass before you move on.

What are the four data paths from the Mill PC to the TM-2?

Every option ends at one of two control interfaces: the standard RS-232 port or the optional Ethernet/hard drive/USB package. The hops differ in what carries the bits and what sits between the PC and the control.

Path Hops (PC to control) Physical layer Evidence-backed cost (2005 pricing, re-quote)
A. Direct RS-232 Mill PC COM port, cable, control RS-232 port Non-isolated, single-ended serial Cable only
B. Opto-isolated RS-232 Mill PC COM port, I232 unit, cable, I232 unit, control RS-232 port TX/RX opto-isolated at both ends A little over $200 for a short run
C. Device server + virtual COM Any LAN PC running DNC software, virtual COM port, Ethernet, converter (Moxa DE-311 or a GW-21 class unit), short serial cable, control RS-232 port Ethernet to the converter, then a very short RS-232 jumper About $109 to $160 for the converter; about $95 for DNC software at the time
D. Haas Ethernet/HD/USB package LAN, control Ethernet port, control-resident drive Ethernet, network-mounted files $2,995 quoted for the TM-2; $3,500 quoted for a VF-2

Path A fits the stated layout (a Mill PC at most 10 ft from the machine, LAN-connected, sending files over RS-232) only if the cable length and grounding checks below pass. Paths B and C remove the cable-length and ground-potential limits. Path D removes serial entirely.

Check before continuing: write down the largest program you expect to run and the control's program memory (1 MB standard). If the largest file fits in memory with margin, drip feed is optional and paths A through C need no more than file transfer.

How long does a file transfer over RS-232 take at 115.2 kbaud?

Serial throughput is set by baud rate and framing, not by the PC. At 8 data bits, no parity, 1 stop bit (10 bits per character on the wire), 115,200 baud carries 11,520 characters per second. That is 691,200 bytes per minute as a theoretical ceiling. Field-reported transfer rates on Haas controls are lower: about 500,000 bytes per minute PC to control, and "a little faster" control to PC, depending on the control's year of manufacture.

Program size Ceiling at 115.2k (11,520 B/s) At 500,000 B/min At 38.4k ceiling (3,840 B/s)

Older Haas machines top out at 38.4 kbaud; newer ones support 115.2 kbaud. Run each machine at its maximum supported rate. A pocketing and 50-hole drill/tap program is on the order of several thousand to ten thousand bytes, so the transfer time is irrelevant next to the walk to the machine.

Drip feed (DNC) has a different constraint: the link only has to keep ahead of the control's block processing. At 11,520 characters per second, an assumed 30-character block gives about 384 blocks per second of link capacity. A single-line move sequence that consumes blocks faster than that starves the control at 115.2k; that case appears in dense 3D toolpaths, not in pockets and drilled holes. Lower baud rates suffice for most drip-feed work.

Check before continuing: compute your largest file's time from the table. If it exceeds what an operator will wait, or exceeds control memory, plan for drip feed (path B, C, or D) rather than a bulk load.

Where should the Mill PC get its power and safety ground?

A non-isolated RS-232 link ties the PC's signal ground to the control's signal ground through the cable shield or ground conductor. If the PC's safety ground and the machine's safety ground are at different potentials, the difference drives current through that conductor. The result is corrupted characters, block resends, or damaged serial drivers. A convenient wall outlet on a different branch circuit is the usual cause.

The field-proven arrangement for a direct (non-isolated) link:

  1. Take a single-phase transformer primary from any two lines of the Haas machine's three-phase input, with a 120 V secondary feeding the PC and its accessories. Match the primary rating to the machine's line-to-line voltage, and size the transformer VA for the PC, monitor, and accessories with margin.
  2. Run a safety ground wire from the Haas safety ground point to the safety ground of the computer equipment.
  3. Do not plug the PC into a convenient wall outlet. That creates a ground loop.

Verify the transformer connection against the machine's installation documentation and local electrical code before wiring it. Any work on the machine's input power belongs to a qualified electrician.

Opto-isolation (path B) or an Ethernet converter (path C, where the PC stays on the LAN and the only shared conductor is a 6-inch jumper) removes the ground-loop path and this requirement.

Check before continuing: with both machine and PC powered, measure AC voltage between the PC chassis and the Haas chassis ground point with a meter. A reading that is not near 0 V AC means a potential difference exists across the serial ground path. Fix the bonding, or move to path B or C.

How long can the RS-232 cable be at 115.2 kbaud?

RS-232 is a single-ended, unbalanced interface. Cable capacitance rounds the signal edges, and at 115.2 kbaud the bit time is about 8.7 microseconds, so edge distortion consumes the sampling margin fast. Two figures circulate for direct Haas connections, and they differ.

Configuration Length Basis
Haas stated maximum at 115.2k 6 ft Field-quoted Haas figure; confirm in the control manual
Low-capacitance cable (15 pF per foot) 15 to 20 ft possible Field experience; not guaranteed
Converter mounted at the machine 6 in serial jumper Highest baud rate, with the LAN carrying the distance (a 60 ft Ethernet run was used)
Opto-isolated I232 link Up to 4000 ft in many applications Manufacturer claim; tested with 1000 V rms 60 Hz (+/-1414 V peak) on the line without a transfer error or damage

A Mill PC "10 ft away at most" already exceeds the 6 ft figure. A PC in an open shop environment is also exposed to chips, coolant mist, and heat, so an enclosure is worth pricing in. A converter at the machine and a PC in a clean location avoids both problems.

Some PC serial ports also behave differently at 115.2k. One shop needed to try three computers before one held 115K on a long run with an older control, so the PC-side port is a variable, not just the cable.

Check before continuing: select the cable length from the table. Then send a file larger than 100 KB at the target baud rate with Xmodem and record the number of block resends. Zero is the pass condition. If resends appear, shorten the cable, lower one baud step, or add isolation.

How do you isolate the serial link and protect the control from surges?

A serial line with a shared ground is a conduction path for a voltage spike from the PC side into the control's serial driver. A voltage spike can destroy a serial port on a machine that costs many times the PC. Ethernet is not immune to a strike, but its transformer-coupled interface makes that path far less common, and servers on a protected UPS add another layer.

Isolation places a barrier in the serial path itself. The I232 system described in the evidence isolates both the TX and RX signals optically at both ends of the cable, is plug-and-play, and is rated by its maker for 115.2 kbaud and below. In use at 115.2 kbaud, one shop reported no block resend from a packet error over extended testing.

Isolation addresses the electrical layer only: ground loops, common-mode noise, surges. It does not add error detection. Error detection comes from the protocol layer (Xmodem, next).

Check before continuing: confirm that no non-isolated conductor still joins the PC and the machine: no shared shield, no second ground path through a USB or network cable to the same PC. Then repeat the resend test from the previous section.

How do you put the control's RS-232 port on the LAN with a device server?

A device server converts Ethernet to a serial port. Its driver creates a virtual COM port on the PC, so software written for RS-232 (including DNC software) sends to "COMx" and the driver forwards the bytes over TCP to the converter, which clocks them out of its serial port. Any PC on the network can use the port. That gives you the Ethernet path to the machine at the price of a converter (about $160 for a Moxa DE-311 and about $109 for a GW-21 class unit at 2005 prices) instead of the option package.

  1. Mount the converter at the machine with a serial jumper of about 6 inches to the control's RS-232 port. That keeps the RS-232 segment short enough for 115.2 kbaud.
  2. Assign the converter a static IP address on the same subnet as the Mill PC or DNC host, or a reserved DHCP address.
  3. On the control, read the RS-232 settings on the Settings page (baud rate, parity, data bits, stop bits, and synchronization mode). Set the converter's serial side to exactly the same values, including the flow-control mode. A mismatch shows as garbled text or a stalled transfer.
  4. Install the converter's virtual COM driver on the host PC and map the converter to a COM number.
  5. Point the transfer software at that virtual COM port and set the same serial parameters in the software.
  6. Set the converter to forward received serial data promptly. Xmodem is stop-and-wait: the sender transmits a block (standard blocks are 128 bytes), then waits for an ACK. Long packing or forwarding delays in the converter stretch every block round trip.

DNC software built for RS-232 adds a workflow on top: EasyDnc XP REMO lets an operator remote-call a program by sending a small file containing the program number to the PC. The PC then sends the requested program after a configurable delay, which gives the operator time to put the control into receive or drip-feed mode.

Converters sold by industrial-electronics distributors as Ethernet-to-serial adapters with external power supplies are the same class of device. Confirm that the model creates a virtual COM port (or provides raw TCP that your software supports) before you buy.

Check before continuing: from the host PC, send a small test program (a few hundred bytes) to the control. The control should receive it with no garbled characters. Then send the 100 KB test file and count resends.

What does Xmodem verify, and what does it miss?

Xmodem provides per-block acknowledgment and retransmission, so a corrupted block on the wire is detected and resent. It verifies the transfer path, not the program's correctness. The control applies its own checks separately: a file with syntax errors triggers an alarm when you load it into run memory. Syntax-valid but wrong content loads without complaint. A program can pass both and still be a bad program.

One more gap: the control compresses the program when it loads into main memory. You can see this by comparing the memory the control reports as used against the file's size on the PC. Xmodem therefore validates the bytes on the wire, not the bytes that the control stores and runs. If the control's processing or main memory corrupts data after Xmodem finishes, Xmodem will not catch it.

Sending the program back closes that gap. The control re-expands the stored program when it transmits, so a file comparison against the original checks the data the control will actually execute. That is also how you capture edits made at the control or a program composed at the control. The DPRINT function sends information from the running program to the PC for logging.

For a small program, the return trip takes seconds (see the time table above). One shop that runs many machines only compares files during experiments and relies on the control's graphics display and, for the types of programs described here, a dry run.

  1. Send the program PC to control with Xmodem enabled.
  2. Receive the same program from the control back to a differently named file on the PC.
  3. Run a file compare (a binary or text diff) between the original and the returned file. Expect identical content, though line endings or leading and trailing characters can differ by control convention.
  4. Run the graphics display, then a dry run, before cutting.

Check before continuing: the returned file matches the original in the diff, and the control's used-memory figure is smaller than the file size (confirming compression is in play, so a return compare is the meaningful check).

When does the Haas Ethernet/HD/USB option earn its price?

The option is a package: an Ethernet interface, a 20 GB hard drive at the machine, and USB support (older units may differ, so confirm the configuration on your quote). What the package changes is the workflow, not the peak speed. Files sit on a server or the control's drive, and the operator calls them from the control. The control can also edit files in place across the network.

Capability Ethernet/HD/USB package RS-232 with Xmodem
Remote program fetch from the network Yes, subject to server permissions No; the PC initiates each send
Drip feed Drip feed from the control's HD; feed from the network location is reported to exist (the function was called FNC in one owner's manual). Confirm with your dealer for your software version. Yes, standard
M98 subprogram calls Supported if subprograms are in the same directory on the server or HD Subprograms must be in control memory
Control buffer memory Only the running program and a warm-up program need to be resident Limited by 1 MB standard memory
Fallback if the LAN is down USB drive Not applicable
Setup difficulty Network permissions on a complex network can be hard Serial parameters and cable
Data integrity path Ethernet transport error checking Xmodem per-block ACK

The option pays off where shops carry many files on a server, run large CAM files (multi-megabyte 3D toolpaths, with reported files of 5 to 15 MB and one approaching 100 MB), or change files often and want the current version at the machine without a download step. It also removes the need for a dedicated Mill PC. With a 20 GB drive included, one owner concluded the memory upgrade is unnecessary: the 16 MB memory upgrade was quoted about $1,500 extra, and the HD lets you keep the standard 1 MB.

For a shop that mills a handful of small pocket-and-tap programs per part, the option's advantages rarely appear. For that shop, the cost argument goes to paths B or C. A dedicated laptop next to the machine and a 6 ft cable is another inexpensive route that owners cite.

Do not plan on building your own Ethernet card. The control boards are proprietary, and installed peripherals can depend on settings or code in the control that a third-party card would not activate.

Check before continuing: ask the dealer in writing for the TM-2's current package contents (HD size, USB, Ethernet) and whether drip feed from the network location is supported on your control's software version.

Which path fits a low-volume TM-2 that mills pockets and drills and taps holes?

Condition Choose Reason
Programs of a few KB to 10 KB, a handful per day or week, PC within 6 ft A with power and ground fix Lowest cost; transfer under 2 s per file
Same programs, PC farther than 6 ft, or a dirty shop floor C (device server) or B (opto-isolated) Short serial segment or isolated long run; PC sits in a clean location
Occasional large CAM file that exceeds 1 MB B or C with drip feed Drip feed only needs to keep up with block processing
Many programs on a server, frequent edits, files over 500 KB routinely D Remote fetch, control-resident drive, no PC
Concern about surges reaching the control B, C, or D Removes the shared-ground conductor

Options that add cycle-time value (a 10-tool changer and rigid tapping, on one TM-2 owner's machine) can matter more than the file transfer path. Rapids and feeds of 200 ipm with about 20 seconds chip-to-chip stretch a job's cycle time regardless of how the program arrived.

Check before continuing: confirm the choice against your largest expected file and your file-change frequency, using the transfer-time table.

How do you verify the finished path end to end?

  1. Physical layer: confirm the serial cable length, the power source and bonding for the PC (or the converter's power), and, for path C, that the converter's link and activity LEDs show a live Ethernet connection.
  2. Serial parameters: read the baud rate, parity, data and stop bits, and synchronization from the control's Settings page and confirm the PC software (or converter serial side) shows the same values.
  3. Small-file test: send a program of a few hundred bytes to the control and confirm it loads with no alarm.
  4. Resend test: send a file over 100 KB at the target baud with Xmodem and record zero block resends. If resends occur, shorten the serial cable, reduce one baud step, or add isolation.
  5. Return-and-compare: receive the program back from the control into a new file and diff it against the original.
  6. Drip-feed test: run a program larger than control memory in DNC mode and confirm the machine does not starve or stop mid-program.
  7. Program proof: run the graphics display and a dry run on the compared program before cutting metal.

FAQ

Can I run a Haas TM-2 without the Ethernet option and still use my LAN?

Yes. Put an Ethernet-to-serial converter (Moxa DE-311 or a GW-21 class unit) at the machine with a 6 inch RS-232 jumper. The converter's virtual COM port lets any LAN PC run its RS-232 DNC software against the control. These units cost about $109 to $160 at 2005 prices versus the $2,995 option quoted.

Can I drip feed a program larger than the 1 MB standard memory over RS-232?

Yes. RS-232 DNC is standard and needs to keep up only with the control's block processing, which lower baud rates already do for most programs. Use Xmodem for block-level error recovery and, at 115.2 kbaud, an opto-isolated link or a short cable to hold the resend count at zero.

Does Xmodem prove the program in the Haas control matches my file?

No. Xmodem confirms the bytes crossed the wire, but the control compresses the program when it loads into memory. Send the program back to the PC (the control re-expands it) and diff it against the original to verify what the control will run.

Does RS-232 at 115.2 kbaud work over a 10 ft cable to the TM-2?

It can, but a commonly quoted Haas limit is 6 ft at 115.2 kbaud, and low-capacitance cable (15 pF per foot) may reach 15 to 20 ft. Validate with a 100 KB Xmodem transfer and count resends; if any appear, use an opto-isolated link (rated to 4000 ft) or a converter at the machine.

Back to blog