Driver device.dll now supports simulation of unsolicited messaging down to intervals of 100ms, ideal for testing of scenarios where multiple devices output data in high frequency.
Device drivers are now automatically set to work in unsolicited mode if this acquisition mode is selected in CNCnetPDM.ini.
All components of the OPC UA Server module were updated for enhanced speed and lowered memory consumption.
The MTConnect Adapter module now correctly sends all TAG|VALUE pairs including device name on connect or reconnect of MTConnect Agents.
Compatibility with MS Operating Systems Windows 11 and Server 2022 up to version 23H2 was highly enhanced.
Checking of reachability of a device over the network on every reading cycle is now omitted if the devices Application Program interface (API) responds, in both solicited and unsolicited mode.
Timeout for checking reachability of a device over the network is now lowered to 100 milliseconds, was 1 second in previous versions.
Duplicated events (e.g. ‘Device is not reachable’) are not written to log files.
CNCnetPDM now prevents from duplicate starting of identical program or service instances.
CNCnetPDM and CNCnetControl now correctly identify the connection state of a device as disconnected (unavailable) if it can be reached over the network (‘E 1’) but their API does not respond.
Version 126.96.36.199 (11/3/2022)
We released an updated version of CNCnetPDM that comes with various optimizations and adjustments.
Due to an updated core architecture startup behavior, memory consumption and speed of CNCnetPDM was highly enhanced.
Part counter values can now be acquired unmodified as shown at the controller, cumulative with taking into account resets or incremental (difference between previous and actual counter value).
Buffer sizes for machine data waiting to be processed by the database output module were adjusted to avoid reaching “High-Water-Marks” too frequently.
On startup CNCnetPDM now automatically detects duplicates of labels or machine numbers in section [RS232] of CNCnetPDM.ini. Devices with incorrect entries are not started, issues are reported to the master log file.
We adjusted creation of valueRank and arrayDimensions variable attributes in the CNCnetPDM OPC UA Server module for enhanced compatibility with the OPC UA standard specifications.
Version 188.8.131.52 (8/9/2021)
An updated version of CNCnetPDM with various fixes and enhancements was released.
Due to additional modules the maximum number of machines that can be connected to a single instance of CNCnetPDM was adjusted to 54. Of course you can simultaneously run multiple service instances.
Device data is now output as list that is automatically adjusted according to the incoming data. Items in copied output data are delimited by tabs. Items were rearranged for better readability. Online help was updated to simplify connection to and management of remote services.
For scalar values we changed the output of ValueRank from -2 ‘Any’ to -1 ‘Scalar’ for enhanced compatibility with the OPC UA Standard. To upgrade OPC UA from a CNCnetPDM version prior to 184.108.40.206 see release notes for version 220.127.116.11.
We fixed an issue that occasionally led to reduced output from specific device drivers after connection to a machine was reestablished, manually or automatically.
Version 18.104.22.168 (12/5/2020)
We released a new version of CNCnetPDM with major enhancements.
CNCnetPDM now comes with a fully OPC UA compliant OPC UA Server. This allows you to add OPC UA functionality to any device compatible with CNCnetPDM f.i. Heidenhain, Mazak, Mitsubishi. The server dynamically creates nodes and variables based on setup of each device and provides endpoints with anonymous or secured authentication for any OPC UA compliant Client.
To upgrade from a previous version of CNCnetPDM you can copy & paste the following lines into your existing CNCnetPDM.ini file:
[OPC UA Server]
IP Address = 0
; Endpoints of OPC UA Server (0=DNS Hostname or specific IP)
Port = 4840
; Listen port of OPC UA Server (default=4840)
AnonymousAccess = 0
; Allow anonymous access to OPC UA Server (0=no 1=yes)
RestartAfter = 10
; Try to restart OPC UA Server after n seconds it goes down
StartOffline = 1
; Start CNCnetPDM without OPC UA Server (0=no 1=yes)
NumberOfUsers = 1
; Number of OPC UA usernames and passwords (default=1, max=10)
[OPC UA User 1]
Username = OpcUaClient
Password = OpcUaClient
We released an updated version of CNCnetPDM with some fixes and various enhancements.
It is now possible to configure different names for every output and input database table (SQL Server, Oracle, MySQL MariaDB) on a per-service basis. To upgrade to Ver. 22.214.171.124 with an existing CNCnetPDM.ini file you can manually add the following lines to section [Connect]: RawDataTable = MTH_RAW_DATA OnlineDataTable = MTH_ONLINE_DATA ShiftDataTable = MTH_EQP_SHIFT_AVAIL_V OrderDataTable = MTH_USER_CONTEXT
The online database table (default MTH_ONLINE_DATA) that stores the most recent data from your devices is now properly maintained by CNCnetPDM depending on the messaging method used (solicited or unsolicited).
CNCnetPDM now includes the version numbers of executables, internal and device driver DLLs when writing log files. This helps to detect outdated device drivers when upgrading.
Work order information read from a database table are now properly added to the device output depending on the messaging method used. Solicited messaging: Output on every reading cycle. Unsolicited messaging: Output if the device state changes (e.g. producing, interrupted…).
We released an updated version of CNCnetPDM with various enhancements and fixes.
Support for automatic creation of availability tag|value pairs e.g. avail|AVAILABLE by the CNCnetPDM MTConnect Adapter for all device drivers that do not output this item f.i. Fanuc or Heidenhain was added. For details see section [MTC Adapter] of CNCnetPDM.ini.
The CNCnetPDM MTConnect Adapter now automatically outputs ‘UNAVAILABLE’ as value for all tags if a device goes down.
An issue was fixed that previously caused problems with automatic reconnect to a database after a database outage when multiple instances of CNCnetPDM were running on the same PC.
Support of device drivers working with unsolicited (event-driven) messaging that may produce a high volume of output within short time f.i. the MTConnect device driver was enhanced.
Malformed or incorrect input is now properly detected and filtered out when written to a database or received by the MTConnect Adapter. In the past this occasionally led to long value output for single tags.
Version 126.96.36.199 (6/14/2019)
An updated version of CNCnetPDM with new features and enhanced functions is available.
CNCnetPDM now supports unsolicited (event-driven) messaging. This is needed for the upcoming device drivers for Sinumerik OPC Classic A&E (Alarm & Event) and Mazak Mazatrol controllers with MTConnect support.
We added an enhanced function that reliably filters out all invalid characters received from device drivers. This highly enhances stability and reduces errors esp. with all OPC Classic DA & UA and OPC Classic A&E device drivers.
You can now control the maximum amount of incoming messages from device drivers that wait to be processed by the main service via entry DEVICEINPUT in section [Hochwasser] of CNCnetPDM.ini.
You can now switch the output of timestamps of the CNCnetPDM MTConnect Adapter between local and UTC (GMT) time via entry UTCTime in Section [MTC Adapter] in CNCnetPDM.ini. We also reduced the file size of this module.
You can now completely switch off writing of offline files. This is very useful if you do not work with a database and only process data with MTConnect or your own applications. To do so set entry SIZE to 0 in section [Offline] of CNCnetPDM.ini.
ServiceDLL.dll 188.8.131.52 (1/2/2019)
This version fixes a problem that caused the GUI to crash when trying to install a background-service on certain Windows Operating Systems, esp. Server 2016. The updated DLL is included in the most recent version of CNCnetPDM.
Version 184.108.40.206 (12/5/2018)
We released an updated version of CNCnetPDM with several important fixes and enhancements.
The GUI of CNCnetPDM and CNCnetControl was completely redesigned for enhanced performance and user experience.
The MTConnect adapter module now supports writing of PLC data and machine parameters to Heidenhain controllers.
Memory usage and CPU utilization were decreased by using updated algorithms for processing.
The INI file of CNCnetPDM can now be edited and saved while the service or program is running without being reverted to its previous state by the service.
The speed for processing offline-files can be adjusted via entry TIMEOUT in section [Offline] of CNCnetPDM.ini.
Version 220.127.116.11 (10/24/2018)
This enhanced version of CNCnetPDM properly filters out any malformed character acquired by various device drivers, esp. OPC and OPC UA that may lead to incorrect output. It is highly recommended to update to this version if you're Siemens Sinumerik OPC DA or Siemens Sinumerik OPC UA.
It also supports writing and reading of PLC data and machine parameters to Heidenhain TNC & iTNC controllers by external applications via its built in MTConnect Adapter. Please use the updated device driver for Heidenhain devices (Ver. 18.104.22.168) in this case.
Version 22.214.171.124 (7/18/2018)
This version of CNCnetPDM now includes an additional module that acts as a MTConnect Adapter. This enables bidirectional access in near real time to all controllers connected to CNCnetPDM from the Standard MTConnect Agent or any MTConnect compatible program.
In addition a free Open Source Client (C-Sharp) is available that allows you to directly access CNCnetPDM from your own applications and read/write data from/to manufacturing devices connected to the service.
Version 126.96.36.199 (3/20/2018)
We released an updated version of CNCnetPDM with major enhancements and less restrictions. The previously used 1 device and 1hr time restrictions for the ‘free license’ were removed, there are no more limitations on time or number of devices.
With a ‘free license’ device drivers now output a smaller set of items such as ‘device state’ plus one additional fully configurable item. For simple tasks like monitoring device states this is perfect.
We also added new annual subscription models for CNCnetPDM starting at more than affordable USD 349 (EUR 285). Note that all licenses are valid for all device drivers and diagnosis programs!
Version 188.8.131.52 of erpinterface.dll now supports all product-specific 'select', 'insert' and 'update' commands for MySQL and MariaDB databases. Mixing of machine data with work-orders, items and parts from solutions for operational data acquisition as well as detection of an active shift for specific devices is also included.
Note: For users of CNCnetPDM 184.108.40.206 it is sufficient to just exchange erpinterface.dll with the most recent version.
Version 220.127.116.11 (1/15/2018)
We released an updated version of CNCnetPDM with some major changes and enhancements.
CNCnetPDM now supports sampling rates down to 1 second. To simplify configuration we removed all legacy entries from CNCnetPDM.ini.
For just monitoring all actual data from devices this module now supports updating the new table MTH_ONLINE_DATA that just keeps the most recent data of each device. Setup instructions for MS SQL Server. Instructions for Oracle databases. As we’d like to enable you to decide what to write we introduced 2 new entries in section [Connect] of CNCnetPDM.ini, WriteRawData (default = 1) and WriteOnlineData (default = 0). To decide what to use you can add these two entries manually to existing setups, for a new installation these items are added automatically.
This module now also supports ultra-short sampling rates. As initialization of a controller connection may take some (older Mitsubishis: up to 60 seconds) we had to add a new entry to section [GENERAL] of CNCnetPDM.ini that controls the frequency for CNCnetPDM to try to re-establish communication with the controller if communication is lost. The name of the entry is called ReconnectAfter = 2 (default). If you set PollInterval = 30 it’s ok to use 2 as there’s 60 seconds to establish communication. If you use ultra-short polling rates please use a number for ReconnectAfter that is high enough for your controller (e.g. 10). This driver now also provides improved functions to cleanup handles and free memory if connection gets lost (required for Heidenhain device driver!). For an existing setup you can add this entry manually.
Version 18.104.22.168 (8/20/2017)
This release contains useful new features and major improvements.
As this version doesn’t contain a preconfigured INI file you don’t have to worry about overwriting your existing configurations. If there is no CNCnetPDM.ini file it is automatically generated with reasonable default values.
Newly created INI files contain descriptions for all settings.
The maximum size (in MB) of offline files can now be adjusted by entry SIZE = in section [Offline] of the INI file. When this size is reached CNCnetPDM automatically creates an additional file.
You can now switch the output of each item acquired by device drivers to section 1,2 or 3. This enables you to build groups of items and place long values (e.g. axis data) into an own group.
On first startup CNCnetPDM adds entry ‘StartOffline = 1’ to section [Connect] of the INI file. With this entry set to 1 CNCnetPDM doesn’t try to connect to a database on startup, all data goes to a text file in the offline directory. In this mode you can manually connect to the database with CNCnetControl. If you set this entry to 0 CNCnetPDM automatically tries to open the database connection on startup.
Device driver DLLs are now automatically created with the machine number added to the DLL, e.g. Fanuc_1000.dll for machine 1000 as sequential numbering caused problems when machines were commented out.
This module now also checks for existent and valid device drivers and writes the results to the log file of the device.
Error reporting from device drivers and its underlying components is now fully supported. For example, if your Fanuc FOCAS call returns a manufacturer specific error like EW_PROTOCOL it is translated into ‘Protocol error’ and written to the log file of the device. This allows you to quickly find out errors or switch off unsupported functions via the device driver INI file.
Version 22.214.171.124 (6/8/2017)
This service release fixes some issues experienced by users when CNCnetPDM is used without a database or in case the database connection gets lost. Security and stability improvements were also applied.
Incomplete, garbled messages that sometimes (esp. under Windows XP) led to crashes are automatically detected and filtered out.
Database connectivity components were redesigned. Message fragments are now automatically filtered out. Occasional crashes when closing the programs are resolved.
Message fragments are now automatically filtered out.
Note: To update an existent setup of CNCnetPDM you just have to stop the service, replace the files in the setup directory of CNCnetPDM with the 3 files listed above from the zip archive and restart the service.
All default tag names are shorter now e.g. STATUS instead of STATUS.CNCNETPDM. In section [ERP] new entry Changeddataonly = 0 is automatically added when CNCnetPDM is started. If this entry is set to 0 ALL item values are output on every reading cycle. If set to 1 all items values are output on the first reading cycle, subsequent readings only output item values that have changed since last reading.
The database table for raw tag data has changed from MTH_TAG_READINGS_RAW to MTH_RAW_DATA (Both MS SQL Server and Oracle). Output records are now automatically generated by processing incoming telegrams that contain multiple tag names (TAG_CODE) and tag values (TAG_DATA).
This device driver now outputs data with multiple tag names and random values in single telegrams. If CollectOrders is set to 1 in CNCnetPDM.ini (Section [GENERAL]) more details about controller mode, NC program, feed rate, spindle speed aso. is output. With CollectFeeder = 1 axis data is also output. Tag output can now be dynamically activated/deactivated on a per machine basis by using an own ini file for every machine. Tag names can be freely defined per machine. The functionality is similar to the most recent driver for real machines with Fanuc controllers, fanucext.dll.
If entry Simulation in section [GENERAL] is set to 1 in CNCnetPDM.ini output of random data is no more delimited with pipe '|' symbols as this would lead to generation of wrong tag names by erpinterface.dll.
Version 126.96.36.199 (2/18/2017)
General: Various performance improvements were applied.
Message buffers: The maximum number of messages allowed to wait for processing can now be adjusted via the entry VERBUCHUNG in section [Hochwasser] of CNCnetPDM.ini (e.g. VERBUCHUNG = 100). If this limit is reached messages are written to an offline file. On lower deviation of this value CNCnetPDM automatically switches back to online processing. This is very useful if a database occasionally slows down due to high traffic.
Offline files The maximum size of offline files can now be adjusted by the entry SIZE in section [Offline] of CNCnetPDM.ini. If not present it is automatically created with value 1 (= 1 MB). If this limit is reached CNCnetPDM creates a new offline file.
Device state: Detection of state switched on / off was modified to work correctly for devices that do not have a DNS Host record if UseDNS is set to 0 in CNCnetPDM.ini.
Message length: The maximum length of each message was increased from 89 to 255 characters.
Machine dll files: Incorrect duplication of individual device driver dll files when starting and stopping CNCnetPDM as a thread was fixed.
Reconnect behavior was improved if high values (> 100) are set for entry ReconnectAfter in section [Connect] of CNCnetPDM.ini.
A buffering problem was fixed that led to occasional crashes on startup when a high number of machines and messages per device are configured.