For any kind of performance-, OEE- or cycle-related analysis of machine data information about the number of produced workpieces is required. For machines equipped with Heidenhain TNC and iTNC controllers CNCnetPDM enables to automatically acquire part counter data without any user action required.
Heidenhain controllers have the ability to display and store workpiece counters. Storage is performed by the machine’s Programmable Logic Controller (PLC). For TNC 426, 430 and iTNC 530 devices PLC Word Address 20 is used. Newer NCK based controls like TNC 320, 620 and 640 may use PLC Word Address 10 or PLC Word Address 19944 (TNC 640 NC Software version 349595).
FIG 2: Heidenhain PLC workpiece counter (TNC 640)
ACQUIRE PART COUNTS
To acquire part counter data you can utilize an unused Q-Parameter that is not reset automatically, preferably between Q20 and Q99. The following example uses Q48. Write a small utility program, here COUNTPART, that maintains parameter Q48 and updates the respective PLC Address value.
Note: Please select only one version of line 2 according to your controller type.
0 BEGIN PGM COUNTPART MM
1 FN 1: Q48 =+Q48 + +1 ;Increase Q48 by 1
2 FN 17: SYSWRITE ID 2000 NR70 IDX20 =+Q48 ; Write Q48 to PLC Workpiece Counter W20 iTNC 530
2 FN 17: SYSWRITE ID 2000 NR70 IDX10 =+Q48 ; Write Q48 to PLC Workpiece Counter W10 TNC 640
3 END PGM COUNTPART MM
FIG 3: Heidenhain part counter NC Program
For Heidenhain TNC 640 with Software version 349595 and TNC7 you can use the following program:
0 BEGIN PGM COUNTPART MM
1 FUNCTION COUNT INC ;Increase workpiece counter by 1
3 END PGM COUNTPART MM
To count parts you simply have to add one line to every NC Program before its end that calls the above program e.g.
...
10 CALL PGM COUNTPART
11 END PGM FELGE_MILL MM
FIG 4: Call Heidenhain part counter NC Program
READ COUNTER DATA
Reading of part counts with CNCnetPDM can be controlled by using the INI file which is automatically created for every connected machine e.g. heidenhain_1000.ini for machine number 1000.
For counting workpieces section [1] of this file is used. To activate counting edit the file with a text editor, set Active = 1 and adjust Input parameter 1 according to your controller type, 20 for TNC 426, 430 and iTNC 530, 10 or 19944 for TNC 320, 620, 640 and TNC7. Also make sure that CollectCounters = 1 in CNCnetPDM.ini.