This utility program for machines with Heidenhain TNC and iTNC controllers enables reading and writing of Programmable Logic Controller (PLC) data and machine parameters from an external PC connected to the control via network.
It supports reading from and writing to numeric marker, byte, word and double word (= dword) PLC addresses and machine parameters.
For newer controllers from TNC 320 up to TNC 7 it enables to display and search for machine specific symbolic PLC address names. It also supports reading & writing of PLC data by symbolic names.
For older TNC 426 and 430 devices it automatically converts PLC word and dword data to match the values shown at the controller.
In case you use a firewall at your PC or your company network add exceptions for TCP port 19000 or, if you use secure communication, port 22 (SSH). You can use our tool Device Port Scanner to check if your controller is reachable via one of these ports.
Download Software
Software Setup & Usage
Download HeidenhainPlcData.zip and extract all files to a folder of your choice on your PC. Double click HeidenhainPlcData and enter the IP Address or DNS Hostname of your controller (1). Only in case your device uses a customized PLC password enter it (2).
Before or after connecting you can load (3) the symbolic name definitions of your machine to display, search, read and write PLC data by symbolic names. See our instructions on getting symbolic name definitions from your machine.
These devices support and may require secure communication (SSH). If your controller supports SSH you can change 'No SSH Authentication' (4) to 'Username/Password' or 'Key File' Authentication, see the instructions for setting up password or private / public key SSH authentication.
FIG 2: Heidenhain PLC Data & Parameters (Connect)
Click on button [Connect] (5), if the connection succeeds the name of the button changes to ‘Disconnect’.
Read Data
FIG 3: Read Heidenhain PLC Data
Select PLC data type marker, word, byte, dword, symbolic plc address or machine parameter, initially marker is selected (1).
Enter address of the desired item (2), has to be numeric for values other than machine parameters or symbolic PLC addresses. Input can also be pasted by clicking button […].
If you read a word data type the PLC address has to be divisible by 2 e.g. 490, 492. For dword it has to be divisible by 4 e.g. 360, 364.
After clicking button [Execute] (3) the program tries to read the requested data. As Heidenhain TNCs pretty quickly disconnect if no action is taken it’s a good idea to immediately query marker address 1 after connecting.
If successful, the program outputs the result of the query in the lower right area (4) in form of Command = plcmarker Input parameter 1 = 1 Result = 0 By clicking on button [Copy] (5) items ‘Command’ and ‘Input parameter 1’ can directly be used to create or adjust INI file entries for machine monitoring.
Write Data
FIG 4: Write Heidenhain PLC Data by Symbolic Address Name
To write a PLC address value or a machine parameter you first have to select the correct area (1) and enter (or paste) the target address under ‘PLC Address or Parameter’ (2). Next, enter the new value for the selected item under ‘Write Value’ (3), and activate checkbox ‘Write Value’ (4) followed by clicking button [Execute] (5). You get a warning if you execute this function for the first time. If successful the program outputs the result of the write operation in the lower right area (6).
iTNC 530 and older controllers only:
For testing it is usually safe to write data to marker, byte or word address 1. For dword you may use 24. If you change machine parameter 3515 please reset it to its original value afterwards. In any case it is highly recommended to verify that PLC addresses or machine parameters you intend to write values to for testing are not used for production tasks at the machine.
To verify the result of a write operation you can simply deactivate checkbox ‘Write Value’ and click button [Execute] again to check the actual value.
If you write a word data type the PLC address has to be divisible by 2 e.g. 490, 492. For dword it has to be divisible by 4 e.g. 360, 364.
In case of writing a marker address value you have to enter either 0 or 1 as ‘Write Value’.
Machine Parameters
On iTNC 530 and older controls machine parameters can be accessed by numeric addresses.
On newer controllers (TNC 320, TNC 620, TNC 640 and TNC 7) machine parameters mandatorily have to be read or written by using symbolic names. At these devices parameters are organized in a tree structure. Parameter names may be unique like serial baud rate or appear several times f.i. when used for different axes or channels.
A unique parameter can be queried by entering the name which always starts with ‘Cfg’ and its sub items separated by dots e.g. CfgSerialPorts.baudRateLsv2 for LSV2 serial baud rate.
Non-unique parameters have to addressed by entering the name (1) and its sub items (2) separated by dots followed by the section (3) it’s used in e.g. CfgProgAxis.index.A1 for index number of axis A1.
FIG 5: Heidenhain Machine Parameters (TNC 640)
Symbolic PLC Address Names
Starting with TNC 320 Heidenhain CNCs use the concept of symbolic PLC address names. The same name f.i. NN_DG_TOOL_NUMBER for actual tool number may lead to different data types (marker, byte, word…) and different numeric addresses on every single controller as the machine manufacturer freely assigns them.
HeidenhainPlcData enables to load, display, read and write PLC data by symbolic names. To be able to do so it has to know the names defined for the PLC of your machine, follow our instructions on getting symbolic name definitions from your machine.
Button [Symbolic PLC Addresses] (1) opens a dialog to load the extracted definitions. After loading the title changes to the name of the file, here PlcDataMarker_Cheto_IXN_W11. In the area right a tree view with expandable sections is shown (2).
Double clicking on an entry in an expanded section e.g. NN_DG_TOOL_NUMBER (3) shows the selected item in the lower right area and updates the ‘PLC Address or Parameter’ input field (4). Selection of ‘Symbolic PLC Address’ marker (5) followed by clicking button [Execute] (6) reads and outputs the current tool number.
To search input the symbolic name or part of it under ‘Search Symbolic Address’ (8) and hit [Enter] on your keyboard.
To write PLC data by using a symbolic name additionally check the ‘Write Value’ marker (9). Note that modification of items is only possible for values that allow writing.
Licensing
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 functionality. With a free license you can read PLC address values by number or symbolic name or machine parameters. Writing of values is not supported in this case. Please see licensing for details or contact us if you have any questions.
Note: If you like to run this program from a different location on your PC you can simply copy your CNCnetPDM.ini file to this directory.
Machine Parameters & PLC Addresses (<= iTNC 530)
Here you can find some useful parameters and PLC addresses that can be read from and written to older Heidenhain iTNC 530, TNC 426 or 430 devices.
Parameter Nr.
Description
Input
6120
Probing feed rate (triggering touch probe)
1 to 10 000 [mm/min]
6130
Maximum measuring range
0.001 to 99 999.9999 [mm]
6140
Setup clearance over measuring point
0.001 to 99 999.9999 [mm]
6150
Rapid traverse in probing cycle (triggering touch probe)
10 to 10 000 [mm/min]
6171
Max. permissible tolerance (6170 > 1)
0.0020 to 0.9999 [mm]
6520
Probing feed rate for tool measurement with non-rotating tool
1 to 10 000 [mm/min]
6550
Rapid traverse in probing cycle
10 to 1 000 000 [mm/min]
6570
Maximum permissible surface cutting speed of the tool tooth
1.0000 to 120.0000 [m/min]
7260
Size of the tool table = number of tools (T number)
0 to 30 000
FIG 7: Useful Machine Parameters (<= iTNC 530)
PLC Address
Description
word 492
Override (% to be divided by 100)
word 272
Execution mode (subtract 1 to get real mode)
word 320
Target speed
word 322
Actual speed
dword 356
Programmed speed
dword 364
Target speed
dword 368
Actual speed
dword 360
Programmed feed rate
dword 388
Actual feed rate
FIG 8: Useful PLC Addresses (<= iTNC 530)
Troubleshooting
If you use secure communication (SSH) and the connection to the controller succeeds but HeidenhainPlcData only outputs 'SSH ERROR OUT OF BOUNDARY' simply reconnect to the device. This is a known issue of the Heidenhain SSH server.
If HeidenhainPlcData connects to your controller but you get blank output please check if ‘EXTERNAL ACCESS’ is set to ON at the device. If access control is enabled remote access may have to be granted at the device. See Controller Setup for details.
If you use a firewall and you can ping the controller but HeidenhainPlcData outputs an error when connecting please verify that there’s an exception for TCP port 19000 or, in case you use secure communication port 22 (SSH) in your firewall. Use our tool Device Port Scanner to check that your controller is reachable via one of these ports.
If you use SSH Username/Password authentication and the controller outputs: SSH Authentication by username - password failed check your controller setup and make sure that you input correct data.
As Heidenhain controllers are highly customizable by the machine manufacturer it may be that certain areas are locked or data is stored in areas different from the standard, especially PLC data. In this case HeidenhainPlcData outputs TNC error numbers together with an error description.
If you use SSH Key File authentication and the controller outputs: SSH Authentication by public - private key failed check your controller setup and make sure that you input correct data including username and password.
If you get error ‘Access denied’ make sure that you input the correct PLC (OEM) password or code number.
If you get errors you can click on button [Copy], paste the output into a text file or e mail and send it to our developers for further analysis when contacting support.
Privacy notice
This website uses cookies. By continuing to use it you agree to our privacy policy.