The CNCnetPDM MTConnect device driver enables you to
Acquire data simultaneously from multiple machines by using a single instance of CNCnetPDM
Mix devices with different MTConnect Adapters within a single instance of CNCnetPDM
Standardize output of MTConnect enabled controllers and other controller types
Eliminate the need to install and maintain a separate MTConnect Agent program per-machine at the PC
Adjust output items and tag tames on a per-machine basis according to your needs
Standardize MTConnect Agent configuration
Reduce costs for implementation and maintenance by using one solution for all devices
Please setup your controller and the PC properly and make sure that you can connect to it and get data with our MTConnect Agent Tester.
Important note: MTConnect uses unsolicited messaging by design. If you already have CNCnetPDM running on your PC with a device driver that works with solicited messaging (e.g. Fanuc, Heidenhain) you have to create a separate instance of the service for MTConnect.
This device driver requires at least Version 188.8.131.52 of CNCnetPDM and also works with a free license. However, in this mode the driver only outputs the first two items you defined in section [MTC TAG NAMES]. With a valid license you are able to output up to 160 items per controller, see licensing for details.
Edit CNCnetPDM.ini (or CNCnetPDM+Instance.ini) with a text editor and modify it as follows, leave all other values at their default:
AcquisitionMethod = 2 This driver uses unsolicited (event driven) communication.
PollInterval = 10 Define the interval (number of seconds) for checking if the device is connected.
ReconnectAfter = 3 Define after how many successful connection checks CNCnetPDM should try to reconnect to the controllers MTConnect Adapter if the device changed its state from disconnected to connected. As the machine needs some time to start up the combination of PollInterval and ReconnectAfter should be long enough e.g. 10 x 3 = 30 sec. For older machines increase this value.
CollectStates = 0
CollectCounters = 0
For initial testing its recommended to set CollectStates and CollectCounters to 0. If you set them to 1 please make sure that you have matching tag names for OEE device states and part counter set up in the respective machine INI file.
If you identify your controller by IP address change it from 127.0.0.1 to its correct address e.g. 192.168.1.100
If you identify your controller by DNS-Hostname change it from localhost to its correct value e.g. MAZAK01
Change 0 after IP address to the TCP port number your controller uses for communication (Default: 7878)
Change the name of the device driver from device.dll to mtcclient.dll
By changing the number before mtcclient.dll you can instruct CNCnetPDM to automatically generate a device INI file suitable for your controller: 0 = Fanuc 1 = Mazak 2 = Okuma Standard Lathe 3 = Okuma 2-Sides lathe 4 = Okuma Machining Center 5 = Okuma Grinder.
A correct example for a Mazak (=1) machine would look like:
This device driver enables to dynamically modify, enable or disable tags that should be acquired from the controller. It also allows to define the frequency and content of ping commands that have to be sent to the Adapter. Definition of a tag name for availability enables the driver to determine if the controller connected to its Adapter is up or down. By setting a tag name and possible values for OEE device states you can output numeric values for these states. Setup of a part counter tag name allows incremental or cumulative part counting in CNCnetPDM.
Contains information about the 'Ping interval' in seconds (default 10) and the 'Ping command' (default ‘* PING’) to be sent to the Adapter.
Entry 'Limit speed' (default 1) allows you to reduce the number of CNCnetPDM read events to 1 per second without loosing data received from the machine. This is highly recommended for MTC Adapters that send new data packets in high frequency down to milliseconds to avoid performance issues and service crashes. Setting 'Limit speed' to 0 disables this feature.
Section [MTC TAG NAMES]
Here you can define and limit tags to be acquired from the device. Valid tags are identified by their name and have to be delimited with pipe ‘|’ characters. The number of predefined tags depends on the controller type you set in CNCnetPDM.INI, Fanuc, Mazak or Okuma. Maximum = 160.
Allows to define a tag name that should be used to determine if the controller connected to its Adapter is up or down (default ‘avail’). MTC Adapters usually provide this tag. For Adapters that do not output this tag you can use any tag name that changes to ‘UNAVAILABLE’ if the controller goes down f.i. ‘execution’.
Section [OEE DEVICE STATES]
Contains a tag name (Fanuc: ‘execution’) and its possible values for states Producing (2) (default ‘active’), Manual (3) (default ‘stopped’) and Interrupted (4) (default ‘interrupted’). CNCnetPDM automatically reports (0) for devices that are not reachable at all and (1) for reachable devices where the Adapter does not respond.
Section [PART COUNTER]
Here you can define which tag name (Fanuc: ‘part_count’) outputs numeric part counts. This enables you to use CNCnetPDM’s cumulative or incremental part counting features that allow detection of part counter reset operations at the controller.
In these sections you can define tag names and values that indicate a faulted OEE machine state. If, for example the emergency button at the controller is pressed the adapter outputs tag 'estop' with value 'triggered'. If you define this tag name and its value in one of the error sections the device driver outputs machine state 5 in case they are received.
Note: To change the content of this INI file while CNCnetPDM is running open it with a text editor such as notepad, make the desired changes and save the file. To apply the changes immediately you can click on the machine in CNCnetControl on the left side followed by clicking buttons ‘Close’ and ‘Open’ above the section ‘Devices’.
The device driver writes a log file entry for any communication issue to the log file of the device. The file can be found in subdirectory \log of your CNCnetPDM program folder. The file format for the log file is log_ + device number + _ + date.txt. Please check this file first if you observe an issue.
If the machine shows a red icon, state disconnected the machine is not reachable at all. This has nothing to do with the device driver, the controller is switched off, it’s a network issue, DNS Hostname or IP Address is wrong. With CollectStates = 1 set in CNCnetPDM.ini you get output E 0 in regular intervals in this case.
If the machine also shows a red icon, state disconnected but you do not see any output even there is activity at the controller the machine is reachable but the MTConnect device driver is not able to connect to the Adapter at the controller. In this case, check your controller setup and the parameters used in section [RS232] of CNCnetPDM.ini. Please use the tool MTConnect Agent Tester to check if you are able to connect to the Adapter and get data. With CollectStates = 1 set in CNCnetPDM.ini you get output E 1 in regular intervals in this case.
In case you have machines connected that send new data packets in high frequency and you experience performance issues or occasional service restarts make sure that 'Limit speed' in section [GENERAL] is set to 1.
If you already have a previous version of the driver installed and would like to upgrade to the most recent version proceed as follows:
Stop any CNCnetPDM background service or foreground program that uses the device driver.
Extract mtcclient.dll from mtcclient_dll.zip into the folder where you have CNCnetPDM installed, overwrite the existing file.
Delete ALL mtcclient_NNNN.dll (NNNN = machine number) files. If you already have created adapted INI files for specific devices do NOT delete the mtcclient_NNNN.ini files.
After restarting CNCnetPDM upgraded device driver versions for all machines are automatically created.