This utility program for machines with Heidenhain TNC and iTNC controllers allows writing and reading of PLC data and machine parameters from an external PC connected to the controller via Ethernet network.
It supports writing and reading of PLC MARKER, BYTE, WORD and DWORD values and machine parameters. It also automatically converts PLC WORD and DWORD output data read from older TNC 426 and 430 devices to match the values shown at the controller.
Note: This program does NOT require Heidenhain Option 18 (DNC) at the controller.
Make sure that you have an Ethernet network connection between your PC and the machine and get data, use our HeidenhainData utility to do so.
In case you use a firewall at your PC or your company network please make sure that there is an exception for the TCP Port the controller uses for communication (default 19000). You can use our tool Device Port Scanner to check if your controller is reachable via this port.
SOFTWARE SETUP & USAGE
Download writetncplc.zip and extract HeidenhainPLCRW.exe to a folder of your choice on your PC.
Double click HeidenhainPLCRW and enter the IP Address or DNS Hostname of your controller (1).
If needed input the PLC Password or code number of the device (2).
Click on button [Connect] (3), if successful the name of the button changes to ‘Disconnect’.
Select a PLC area or machine parameter, initially Marker is selected (4).
Enter the address the desired item (5), has to be numeric for PLC values.
After clicking button [Query] (6) the program tries to connect to your controller and read or write the requested data.
FIG 1: Read / Write Heidenhain TNC PLC Data or Machine Parameter
If successful, the program outputs the PLC data in the area at the right (7) in form of PLC area (PLC Marker, PLC Byte, PLC Word or PLC DWord) + address: output value.
For a machine parameter you get the name of the parameter followed by the value read or written.
To write a PLC address value or a machine parameter you have to enter the desired value under ‘Write Value’, and activate checkbox ‘Write Value’ followed by clicking button [Execute]. 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 area at the right.
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 read or write a WORD address value the PLC address has to be divisible by 2 e.g. 490, 492.
If you read or write a DORD address value the PLC address 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’.
A machine parameter address on iTNC 530 controllers has to be entered as number. Please note that reading and writing of machine parameters may not be supported by older TNC 426 and 430 controllers.
On newer NCK based controllers (TNC 320, 620, 640) machine parameters have to be addressed by using symbolic names. At these controllers 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 and its sub items separated by dots followed by the section it’s used in e.g. CfgProgAxis.index.A for index number of axis A.
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 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.
TYPICAL PLC ADDRESSES
Below the image you can find some useful machine parameters that can be written and read to/from Heidenhain iTNC 530, TNC 426 or 430 devices. For PLC addresses please refer to this section.
FIG 2: Heidenhain iTNC 530 PLC DWORD Table
Parameter 6120 Probing feed rate (triggering touch probe), Input: 1 to 10 000 [mm/min] Parameter 6130 Maximum measuring range, Input: 0.001 to 99 999.9999 [mm] Parameter 6140 Setup clearance over measuring point, Input: 0.001 to 99 999.9999 [mm] Parameter 6150 Rapid traverse in probing cycle (triggering touch probe), Input: 10 to 10 000 [mm/min] Parameter 6171 Max. permissible tolerance (6170 > 1), Input: 0.0020 to 0.9999 [mm] Parameter 6520 Probing feed rate for tool measurement with non-rotating tool, Input: 1 to 10 000 [mm/min] Parameter 6550 Rapid traverse in probing cycle, Input: 10 to 1 000 000 [mm/min] Parameter 6570 Maximum permissible surface cutting speed of the tool tooth, Input: 1.0000 to 120.0000 [m/min] Parameter 7260 Size of the tool table, Input: 0 to 30 000, Number of tools (T number)
If HeidenhainPLCRW 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 can ping the controller but HeidenhainPLCRW outputs an error when connecting please verify that there’s an exception for TCP port 19000 in your firewall. Use our tool Device Port Scanner to check that your controller is reachable via that port.
If you get error ‘Access denied’ make sure that you use 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.