在当代海德汉(HEIDENHAIN)TNC 数控系统的编程操作界面下,进入 MOD 特殊功能菜单并输入 SIK(系统识别密钥)密码,屏幕上会弹出一个明确的复选框:HEIDENHAIN DNC。这个小小的配置勾选框,构成了海德汉技术体系中被称为“DNC”服务的第一道守门人。如果未勾选或未开通该项授权,加工中心依然可以正常启动,进给轴能够精准插补走刀,操作工也能手动加工工件;然而,数控系统将对来自车间局域网的高阶业务查询请求直接予以拒止。[1]
因此,“海德汉 DNC”并不是一个单一的底层网络协议。它系统地涵盖了机床端的授权选件、一套完整的 Windows COM API 软件套件、命令行交互工具(例如 TNCcmdPlus)以及运行在数控系统内部的后台通信服务守护进程。本文将以客观的工程逻辑对该软件套件展开多层级剖析:明确哪些功能必须依赖授权激活、数据如何通过 COM 接口流转、底层报文如何在 LSV2 协议中寻址,以及在工业自动化部署中如何构筑稳固的安全边界。[1][2]

海德汉 DNC 核心概览
| 开发厂商 | DR. JOHANNES HEIDENHAIN GmbH(德国海德汉公司) [1] |
|---|---|
| 架构属性 | 机床授权选件 + Windows COM 组件接口 + PC 实用程序套件(并非孤立的线缆协议) [1][2] |
| 核心组成模块 | DNC Option 18 选件、Heidenhain DNC COM Component、TNCcmdPlus / TNCremo 工具、系统后台服务 [1] |
| 二次开发接口 | COM 对象(C#、C++、VB.NET)、TNCcmdPlus 命令行、原生 LSV2 报文;早期机床支持 HTML/HAP 页面 [2][3] |
| 支持数据范围 | 加工程序文件、自动运行状态、刀具管理参数、PLC 内存位、数控系统全局配置树 [2] |
| 数据交互方向 | 双向读写、远程执行控制与文件双向流传输;严格受制于机床授权及安全权限 [1] |
| 授权准入门槛 | 硬件激活 DNC Option 18(SIK 选件);机床界面开启 EXTERNAL ACCESS 并获得授权 [1] |
| 传输媒介与端口 | TNCcmdPlus/LSV2 使用 TCP 19000;实测 DNC COM 连接配置指向 19003;新系统支持 SSH 22 [2][3] |
| 支持硬件家族 | TNC 320、TNC 620、TNC 640、iTNC 530、CNCpilot 640、MillPlus IT 等 [1] |
概念界定:工程软件套件而非单一报文协议
在传统数控加工领域,“DNC”一词最初指代直接数值控制(Direct Numerical Control)——即通过上位计算机向机床穿梭下发纸带代码。而在海德汉的技术语境下,DNC 是一整套现代化的车间系统集成开发方案,旨在实现加工文件双向流转、生产运行工况实时监控以及自动化上下料联锁控制。该方案集成了机床选件授权、Windows COM 运行组件、独立工具软件以及系统内置通信服务。若仅将“DNC”理解为一条底层通信协议,就会在技术选型中引发方向性偏差。[1]
工程师必须严格厘清 DNC 与 LSV2 的从属关系:LSV2 是运行在底层 TCP 链路上的 8 字节二进制报文协议。海德汉 DNC 则是原厂面向工业应用开发所封装的软件套件,它通过高级接口调用底层协议,并受控于商业授权。同样,海德汉 DNC 与开源标准 MTConnect 也截然不同:MTConnect 是一套只读的、基于标准 XML/REST 构建的跨品牌通用数据模型;而海德汉 DNC 是深度的、专有的、具备直接控制机床写入能力的私有生态。[1][3]
第一重关卡:SIK 授权选件与机床控制台放行
系统权限的校验始于机床操作台。在 TNC 系统的编程操作模式下,维护人员进入 MOD 菜单,输入 SIK 密码即可调出软硬件选件清单。其中最核心的条目便是 HEIDENHAIN DNC。如果机床出厂未购买 Option 18 选件,系统将直接封锁所有高阶查询:网络底层的 TCP 握手虽然可以正常连通,但针对正在执行的程序名称、刀具编号或报警信息的查询都会抛出权限未开通的错误。[1]
第二重保护是控制台的外部访问许可:参数配置中的 EXTERNAL ACCESS 必须处于启用状态。在管理严格的制造车间,当外部系统发起连接时,TNC 面板还会弹出操作工确认提示框。海德汉 DNC 并非插入网线即能随意访问的开放系统,商业授权、参数配置与现场人工放行共同构成了必须同时满足的准入三要素。[1]
第二重层级:Windows 平台的 COM API 组件
在上位工控机上,海德汉 DNC 通过微软组件对象模型(COM)向第三方应用开放调用接口。客户端软件通过实例化根对象 JHMachine,与机床指定 IP 建立连接,随后根据业务需求请求对应的功能接口。官方开发包定义了一套模块化接口集合:
| COM 接口名称 | 核心业务功能 | 典型工业落地场景 |
|---|---|---|
| JHAutomatic | 加工程序选择、启动循环、进给保持、取消;倍率旋钮读取与设定 | 机器人自动上下料工作站与柔性生产线联动 |
| JHDataAccess | 访问刀具参数表、PLC 寄存器、系统配置参数及机床几何尺寸 | 刀具对刀仪数据同步与机床几何参数校准 |
| JHFileSystem | 内部磁盘目录遍历、NC 程序文件上传、下载与清理 | CAM 自动排程与加工代码版本集中分发 |
| JHPlc / JHProcessData | 采集 PLC 状态位、工件计数器以及机床切削工时 | 车间设备综合效率(OEE)核算与状态预测 |
| JHAxesData | 各轴实时位置(机械坐标、绝对坐标、剩余移动量)与刀具几何尺寸 | 数字孪生仿真、刀尖轨迹防碰撞预警 |
接口 JHAutomatic 具有极高的系统控制权限:外部程序不仅能够读取主轴与进给倍率,还能下发指令直接选择工件程序并触发循环启动。它返回极其精细的机床就绪状态,例如 DNC_STATE_MACHINE_IS_AVAILABLE、DNC_STATE_DNC_IS_STOPPED、DNC_STATE_WAITING_PERMISSION 以及 DNC_STATE_NO_PERMISSION 等。采集系统必须细致处理这些枚举状态,绝不能仅凭 Socket 畅通就武断判定机床处于生产就绪模式。
通过 JHDataAccess 获取内部参数时,系统还细分了专属通道:TABLEDATAACCESS、PLCDATAACCESS、CFGDATAACCESS 等。各通道可能要求独立的访问口令与管理权限。单纯声称“DNC 已成功建立连接”,并不能说明特定的工艺参数表已具备被读取的合法权限。
第三重层级:物理通信传输与端口映射
在 COM 封装层之下,网络数据流经受控的底层端口传输。官方命令行实用程序 TNCcmdPlus 通常通过 目标IP:19000 发起连接。而通过 Heidenhain DNC COM 客户端管理配置时,各连接配置文件可以独立设定端口,在多处 TNC640 生产实机配置中均记录有使用 19003 端口的实际案例。[2][3]
切忌将这两个网络端口混淆:19000 端口是原生 LSV2 报文的通用默认监听端口。而 19003 端口属于海德汉 DNC COM 组件中间件专属的配置端口,并非适用于所有机床的通用备选端口。具体使用何种端口,取决于机床控制器的硬件版本与 DNC 组件的发行版本。[2]
加工文件远程分发是 DNC 最常见的应用场景,但也蕴含着极大的生产风险。如果在网络抖动时加工代码下发发生中断,机床内部留下残缺的代码文件,操作工若误启动该程序,极易造成撞刀甚至导轨损坏。可靠的 DNC 集成方案必须实施“原子化传输”机制:先将文件写入临时工作目录,校验文件的哈希签名无误后,再通过原子操作重命名至机床加工区。严谨的流程控制远比通信速率本身更加关乎生产安全。
工程认知转折之一:跨代际的庞大软件家族而非孤立工具
解压海德汉原厂 DNC 完整安装介质(如 1.7.1 发行版),呈现在眼前的并非单个动态链接库,而是一个覆盖各硬件系列的完整软件仓库:包含适配 CNC4290、iTNC、MillPlus 以及 NCKern 等不同系统架构的专属后台服务组件。在统一的“DNC”商业品牌下,海德汉为不同的系统世代提供了各自定制的适配桥梁。
因此在实施项目调研时,首先需要确认的是“车间内机床属于哪一代控制器,对应需要匹配哪个版本的 DNC 软件包”。iTNC 530 与现代 TNC 640 或 TNC7 所需的后台通信服务完全不同。此外,许多历史遗留下来的 DNC COM 组件为 32 位架构,无法直接加载至 64 位的现代进程中运行,系统架构师必须提前设计进程外代理(Out-of-Process Surrogate)进行服务中转。
工程认知转折之二:成功连上端口不等于具备读取权限
车间数字化项目中最普遍的认知偏差,就是误把建立 TCP 链路当成数据采集的成功。如果机床未开通 Option 18,或者操作工在机床端拒绝了外部访问,TCP 握手依然能够成功建立,但业务查询将全数返回空值或权限违规代码。如果数据采集系统仅以端口连通性作为机床在线的唯一依据,就会产生虚假的数据置信度。[1]
如果数控系统没有购买 Option 18 选件,并不代表数字化改造就此受阻。行业通行的成熟替代方案是:直接通过底层协议读取 PLC 内部的符号内存地址或标志位。尽管该方案需要提前获取设备制造商自定义的 PLC 点位表,且获取的数据粒度不如 DNC 高阶对象全面,但它为老旧设备提供了一条低成本采集开停机工况的可行路径。[1]
工程认知转折之三:通向数控系统的三条技术路线
实现海德汉机床的外部通信通常有三条技术路线:第一是原厂 DNC COM 套件(官方认证、功能强大,但强绑定 Windows 系统与版本依赖);第二是直接基于底层 LSV2 报文开发(架构轻量、可无缝运行于 Linux 和嵌入式设备,但依赖逆向经验且缺乏官方支持);第三是针对老旧系统的内置 HTML 状态页面解析(稳定性差、效率低,但在无任何高阶接口的老机床上是唯一的低成本途径)。[2][3]
成熟的车间自动化架构绝不会在同一条产线上随意混用这三种方案,而是根据不同世代的机床,确立唯一的标准技术路线,并将备用方案作为明确记载的应急兜底措施。
架构对比分析:DNC COM、原生 LSV2 与 MTConnect
| 评估维度 | 海德汉 DNC COM 套件 | 原生 LSV2 协议 | MTConnect 开放标准 |
|---|---|---|---|
| NC 加工程序双向传输 | 完全原生支持 | 完全原生支持 | 不支持(只读标准) |
| 原厂技术支持与认证 | 官方认证集成套件 | 开源逆向社区成果 | 国际工业开放标准 |
| 跨操作系统部署能力 | 仅限 Windows(依赖 COM) | 极高(纯 Socket 网络层) | 极高(HTTP/REST) |
| 多品牌异构设备适用性 | 仅限海德汉品牌 | 仅限海德汉品牌 | 通用工业通用模型 |
| 推荐生产应用场景 | 工厂级 CAM/MES、自动化生产岛 | 轻量级 Edge 网关、嵌入式采集节点 | 全厂跨品牌 OEE 看板与统计 |
车间工程落地实施的七项准则
- 确认 Option 18 授权: 在立项前核查 TNC 系统的 SIK 选件菜单,确认 HEIDENHAIN DNC 选项是否处于激活状态。
- 开启机床端外部访问权限: 启用
EXTERNAL ACCESS参数,并在车间制度中明确操作工对远程接入确认提示的应对流程。 - 实施最小权限账号隔离: 将生产监控、程序下发与自动循环控制分别赋予不同的独立用户凭据。
- 准确匹配软件组件架构: 确认上位机安装的 DNC 软件组件与数控系统版本相互匹配,处理好 32 位与 64 位运行环境的兼容。
- 清晰区分网络通信端口: 明确划分 TCP 19000(LSV2)、TCP 19003(DNC COM 接口)与 SSH 22 端口的具体用途。
- 严格隔离工业数控网络: DNC 服务器应部署在独立的工控网段内,杜绝与办公局域网建立无序的跨网互联。
- 建立原子化文件传输校验: 程序必须先写入临时目录并验证哈希完整性,确认无误后方可移入生产加工区。
结语:建立网络连接不等于拥有控制特权
能够与海德汉 TNC 数控系统成功握手,仅仅是迈入了工业集成的门槛。真正的工程价值体现在清晰把握授权边界、合理调度接口对象以及严格管理车间安全操作规程。同一个控制器,既可以只对监控服务开放基础运行工况,也可以向自动化生产线赋予程序下载权限;这两者的根本区别,在于规范的架构配置而非物理线缆本身。
您的车间在管理海德汉机床时,是否已确认 DNC Option 18 授权的状态?而在没有开通该选件的设备上,基于 PLC 点位的数据读取是否建立了规范的技术文档?
本文为数控系统控制协议系列的第四篇深度解析。如需了解物理层串行通信,请阅读我们的 RS-232 深度解析;嵌入式信号底层机理可参考 I2C、SPI 与 UART 协议物理分析。
权威来源与工程参考
- inventcom • DNC Option 18:硬件 SIK 选件管理、HEIDENHAIN DNC 复选框与 PLC 替代方案 • inventcom.net
- inventcom • 海德汉 PLC 数据采集实战:TCP 19000、COM 配置文件 19003 与 SSH 22 端口配置 • inventcom.net
- pyLSV2 • 开源项目仓库与技术笔记:LSV2 适用范围、SSH 隧道建立与多世代机床兼容测试 • github.com/drunsinn/pyLSV2