Skip to main content
Version: 2.6

HEIDENHAIN Driver Installation

The Heidenhain Control Driver (UHAL) uses an Interop Com Server which requires the Installation of the HeidenhainDNC interface. Installation is done with standard settings. The required Files can be found in the folder HeidenhainDNC<version> and are handed out by CyberTech Engineering GmbH. Open the Heidenhain Folder which is provided by CyberTech Engineering GmbH. The HumanOS® IoT Platform is built on a 32Bit System (x86). Due to the correlation of the Heidenhain Control Driver plugin and the IoT Platform (SmartGateway/SmartControl), it is required to install the HeidenhainDNC.msi (x86). In Case of the installation crashed during the installation process, execute the File again with repair.

Heidenhain Configuration

The Heidenhain Control Driver needs the COM server to establish a connection to the Heidenhain Control IPC.

Several connections can be managed by the COM server, but only one connection can be active. This limits the cardinality of connecting Heidenhain devices to HumanOS® IoT platform:

IMPORTANT

ONE HumanOS® IoT platform can access only ONE Heidenhain Device. Do not forget to close any other application accessing the COM channel, like Connection component.

Connection Dialog

To create a communication node for the actual connection to the CNC it is required to add a Device. The communication is carried out by the Connection component. It takes care of the administration of the connections. A connection entry must be added manually for the first time.

IMPORTANT

The entered data in the Connection name has, in either way, to match the data entered in HumanOS®, like shown in the following example "ItncSim".

The following chapter NC based Controls and NCK based Controls guides through the configuration of the basic parameters of the Numerical Control based Controls (NC) and Numerical Control Kernel based Controls (NCK) Control devices.

NC based Controls (iTNC530)

The iTNC 530 and older controls, such as the TNC 426/430, communicate via TCP/IP using the LSV-2 protocol, and need TCP port 19000 for this. Additionally, the DNC software uses ICMP ping to check the connectivity to the control. The ICMP packages must be allowed on your firewall.

NameSourceDestinationProtocol/PortAction
DNC InterfaceGateway HostMachine (iTNC530)TCP/19000Allow
DNC Connection CheckGateway HostMachine (iTNC530)ICMP/PINGAllow

To validate your IP-Address, use the Ping button (Ping = Ok) and check the Heroes Firewall on the machine.

CAUTION

With an ITNC530 ( 60642x-xx ) only 8+1 parallel connections are possible. HumanOS uses one of this connections.

CAUTION

Missing ping configuration on the firewall causes connection loss after 30 seconds.

NCK based Controls (TNC6xx)

You communicate with the TNC 640 and all other NCK-based controls via TCP/IP using `RPC``. In order to communicate with such controls, communication ports must be opened, and DCOM settings must be configured appropriately.

NameSourceDestinationProtocol/PortAction
DNC InterfaceGateway HostMachine (TNC640)TCP/19000 + 19003Allow
DNC CallbacksMachine (TNC640)Gateway HostTCP/19010-19015 (*)Allow

To validate your IP-Address, use the Ping button (Ping = Ok) and also check the Heroes Firewall.

NOTE

(*) While Heidenhain documentation mentions only ports 19010 through 19015, we have observed their software opening ports from 19010 through 19034

DCOM Settings for TNC640

The following DCOM settings on a client machine are required to allow access to an TNC640: Open the Windows DCOM Configuration tool, navigate to "Component Services" - "Computers" - "My Computer" and make a right click to properties.

  • enable Distributed COM on this computer
  • select None as the Default Authentication Level
  • select Identify as the Default Impersonation Level

Under My Computer expand the node DCOM Config, and search for the item "HeidenhainDNC Surrogate DllHost". Right-click, select Properties, and the Security tab. Customize and Edit “Launch and Activation Permissions”. In the dialog that opens, add the group INTERACTIVE (if not already present), and ensure that Local Activation is allowed for them.

NOTE

When diagnosing connectivity problems, if an adapter log indicates a COMException (0x80040201): An event was unable to invoke any of the subscribers, this is most likely a firewall (ports) issue, while a UnauthorizedAccessException (0x80007005): Access Denied is most likely a DCOM permissions issue.

Running the plugin as service

If the plugin is supposed to run as service (whereas the whole HumanOS® Runtime will run as service), execute the batch file ("Register") which is created with a deployment of the HumanOS® Gateway. For deploying, see the Designer Manual.

Then proceed with following steps:

  • Press Win+R and enter services.msc
  • Search for the registered service with the configured name
  • Open the Properties of the service and enter your credentials:

IMPORTANT

Make sure the user you enter is the same that has installed HumanOS® and the Heidenhain DNC connection components.

For the COM component(s):

Also remember to check the security permissions if any malfunction occurs:

If auto logon is disabled check the following setting (Logon as Batch Service) and add the appropriate user:

Good to Know

Windows Registry

The connection parameters like name, protocol, CNC type, IP address, etc., are stored in the Windows Registry:

Key usedPlatformRequired User Rights
HKEY_LOCAL_MACHINE\SOFTWARE\Heidenhain\Connection\3.0Win32/64Admin
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Heidenhain\Connection\3.0Win64Admin
HKEY_CURRENT_USER\Software\Heidenhain\Connection\3.0Win32/64Any

On x64 platforms, the two lists of connections in HKLM are synchronized. The HKLM key is created on the first launch of the Connection component. On a Windows platform with active UAC, this is only allowed if the application was run as administrator and if the application uses the HeidenhainDNC component in-process. Otherwise, the

.\Heidenhain\Connection\3.0

path cannot be created and the Connection component falls back to using the HKCU branch. However, once the creation of the HKLM keys was successful, the configured permissions allow any user to maintain the list of connections from then on. To ease the deployment on restricted systems, a small helper application is installed under

.\Programs\HEIDENHAIN\Connections

: CreateConnections.exe. This application can only be run as administrator and will create the required registry branches. Since it also configures the permissions to these branches, subsequent users will be able to use the connection dialog. CreateConnections can also be used as a stand-alone program to maintain the connection list.