Compared to version 4.7.0.0 this version includes some major changes.
DATABASE TABLES
The structure of database table MTH_RAW_DATA that now receives all raw data from devices has changed. One reason for that was that the previously used table MTH_TAG_READINGS_RAW contained a lot of unused fields like USER_ATTR and USER_MEASURE that could only be used by customized versions of Oracle MOC.
Field TAG_CODE was always filled with device number + tag code by previous versions of CNCnetPDM. This turned out not to be very flexible. Table MTH_RAW_DATA now has separate fields for DEVICE_NUMBER and TAG_CODE. Thus the same tag codes can be used for different devices.
This enables you for example to build Pivot tables by which the number of output rows drastically can be reduced. The following example allows a reduction from 518 rows in the raw table down to 34 in the Pivot table (Database = MDA):
-- Pivot MTH_RAW_DATA
DECLARE @sql AS NVARCHAR(2000);DECLARE @col AS NVARCHAR(2000);
SELECT @col = ISNULL(@col + ', ', '') + QUOTENAME([TAG_CODE])
FROM (SELECT DISTINCT [TAG_CODE] FROM [MDA].[dbo].[MTH_RAW_DATA]) AS T;
SET @sql =
N'SELECT [GROUP_ID], [READING_TIME], [DEVICE_NUMBER], ' + @col +
'FROM [MDA].[dbo].[MTH_RAW_DATA]
PIVOT(
MAX([TAG_DATA]
)
FOR [TAG_CODE] IN (' + @col + ')
) AS P ORDER BY [READING_TIME] desc';
EXEC sp_executesql @sql;
Setup instructions for the new database table can be found here. Scripts to create table MTH_RAW_DATA for both ORACLE and MS SQL SERVER can be found in this zip archive.
DEVICE DRIVERS
The device drivers now allow a high level of customization. Items that should be acquired can be activated or deactivated on a per device basis. You can also change the TAG_CODE for each item as well as other parameters (depending on the device driver).
When CNCnetPDM starts up for the first time it automatically copies the device driver (e.g. fanucext.dll) for a specific device and appends the sequential number of the device. For your fifth machine you’d get fanucext_5.dll in this case. Also an ini file for the device is automatically created by CNCnetPDM e.g. fanucext_5.ini.
To switch on or off acquisition of an item you can simply open the ini file in a text editor and set Active = 0 for this item. For instance you can do this in section [13] (Tool ID modal) (1) if you get Tool ID by using the parameter function (section [14]) (2) as you don’t need both. In the same way you can also change the name of the tag.
FIG 2: Configure device ini file
You can apply these changes dynamically without the need to restart the service. To do so simply click on the device (1) in the left pane of CNCnetControl followed by clicking on buttons Close (2) and then Open (3):
FIG 3: Apply changes dynamically
CNCNETPDM
Version 4.8.0.0 now is able to create a database record for each item activated in the device’s own ini file. If you configured section [14] to be active as shown in the previous chapter you’d get a record with DEVICE_NUMBER = 1002, TAG_CODE = TOOL2 and TAG_DATA = Number of the currently active tool.
You can completely switch off acquisition of all additional items by setting CollectQuality, CollectFeeder and CollectOrders = 0 in section [GENERAL] of your CNCnetPDM.ini file. Just setting CollectFeeder = 0 only turns off collection of axis data.
By setting Changeddataonly = 1 in section [ERP] you can now set CNCnetPDM to only write records for tags to the database that changed its value since the last reading cycle. On startup of the service records for all activated items are written. Subsequent readings then only output records for changed items. This drastically reduces the number of records written to the database.