This document describes setup and test of machine data acquisition from Haas machines with Standard- (SGC) or Next-Generation-Controllers (NGC) and Ethernet connection. Writing of System and Macro Variables to these devices is also included.
At the controller please check that the following settings are correct:
The machine has to be connected to the network (1) and ‘Status’ has to show UP. If it shows DOWN the connection is not active, make sure the networking option is working correctly.
Set Setting 143 Machine Data Collect port to 5051 (2). Please do NOT use ports 8082 or 9090-9999 because they are already used by the Haas CNC control for other purposes.
Go to Settings/Network tab and note down the IP Address of the machine.
FIG 1: Haas NGC controller setup
If you have installed CNCnetPDM on your PC with a license other than a ‘free license’ and run this program from the folder where CNCnetPDM is installed you get unlimited output. Otherwise the program outputs a restricted set of items. Please see licensing for details or contact us if you have any questions.
Note: If you like to run this program from a different folder on your PC you can simply copy your CNCnetPDM.ini file to this directory.
SOFTWARE SETUP & USAGE
Download HaasData.zip and extract program HaasData.exe to a folder on your PC.
If you use a firewall at your PC or your company network please make sure that there is an exception for the TCP Port your controller uses (default 5051). You can use our tool Device Port Scanner to check if your controller is reachable via this port.
CNCNETPDM HAAS MACHINE DATA
The program allows you to connect to your machine via Ethernet, query machine data and read/write system or macro variable data from/to Haas controls. Double click HaasData and enter the IP Address or DNS Hostname of your controller (1). Only if you’re not using port 5051 change the value (2) under TCP Port.
Next, click on button [Connect] (3). If a connection can be established the button changes to [Disconnect]. After clicking button [Execute] (4) the program acquires data from the controller and shows it in the output area (5).
FIG 2: CNCnetPDM Haas Machine Data
Initially HaasData queries data that is known to be output by most controllers. At the top of the output area right you can see information returned by your controller. The Q + Number item is the command name to be used for machine-monitoring with the CNCnetPDM Haas device driver.
Machine Serial Number (Q100)
Control Software Version (Q101)
Machine Model Number (Q102)
Mode (LIST PROG, MDI, etc.) (Q104)
Tool Changes (total) (Q200)
Tool Number in use (Q201)
Power-on Time (total) (Q300)
Motion Time (total) (Q301)
Last Cycle Time (Q303)
Previous Cycle Time (Q304)
M30 Parts Counter #1 (Q402)
M30 Parts Counter #2 (Q403)
NC Program (Q500 #1)
Machine State (Q500 #2)
Parts Count (Q500 #3)
FIG 3: Haas Default Machine Data Output
READ SYSTEM OR MACRO VARIABLES
Using the default output is a good starting point for machine monitoring. However, Haas controllers also provide a huge range of system and macro variables that allow acquisition of detailed information about the manufacturing process. To read variables from an already connected controller with HaasData proceed as follows:
Activate checkbox ‘Read Variables’ (1), checkbox ‘Write Variable’ and input field ‘Variable Write Value’ disappear. Input a variable start address (2) and a higher variable end address (3). After clicking [Execute] (4) HaasData outputs the results in the right area (5).
Notes: The range of readable variable addresses per query is limited to 20. A complete list of variables can be found in section ‘System and Macro variables’. For older controllers use the addresses in column ‘Legacy Variable’. It’s a good idea to start by reading variables in the 3xxx area.
FIG 4: Read Haas System or Macro Variables
WRITE SYSTEM OR MACRO VARIABLE
HaasData also allows you to write values of specific macro variable addresses from a remote PC to Haas controllers. A complete list of variables can be found in section ‘System and Macro variables’. For older controllers use the addresses in column ‘Legacy Variable’. However, writing is only possible to writeable addresses:
For older controllers these are 1-33, 100-199, 500-699 (note that variables 550-580 are unavailable if the mill has a probing system), 800-999 and 2001 through 2800.
Writable addresses for newer controllers are 1-33, 10100-10199, 10500-10699 (variables 10550-10580 are not available with a probing system), 10800-10999 and 2001 through 2800.
To write a macro value activate checkbox ‘Write Variable’ (1), checkbox ‘Read Variable’ and input field ‘Variable End Address’ disappear. Enter a writable address into input ‘Variable Write Address’ (2) and a numeric value into ‘Variable Write Value’ (3). Clicking on [Execute] (4) writes the input value to the desired destination. HaasData outputs the response from the controller and again reads the value for verification and outputs it in the right area (5).