如何从CNC机床采集数据:发那科、西门子、马扎克全覆盖
更新于 2026年6月 · 阅读约11分钟
你的CNC机床是一座数据金矿
车间里每台CNC机床都知道自己在做什么——主轴转速、轴位置、进给率、刀具寿命、报警状态、零件计数、加工周期。这些数据就坐在控制器里面,等着被提取。问题是:怎么拿出来?
发那科CNC:FOCAS协议
发那科是全球最流行的CNC控制器,装机量数百万台。大多数现代发那科控制器(16i、18i、21i、30i、31i、32i、0i-D、0i-F系列)支持FOCAS——内置的以太网通信库。
通过FOCAS能读什么
- 机器状态——运行、停止、报警、急停
- 轴位置——所有轴(X、Y、Z等)实时位置
- 主轴数据——转速、负载、温度
- 程序信息——当前程序号、序列号
- 刀具数据——刀具寿命、刀具号、磨损补偿
- 报警历史——报警代码、时间戳、严重程度
- 生产数据——零件计数、加工周期、开机时间
启用FOCAS的步骤
1
检查FOCAS是否已启用。在CNC上:SYSTEM → ETHPRM,如果看到TCP/IP参数说明FOCAS可用。如果没有,需要从机床厂家购买FOCAS选件(通常3000-10000元)。
2
配置以太网。在CNC的以太网口设置静态IP地址。注意端口号(FOCAS默认8193)。
3
连接网关。将边缘网关接入同一网络交换机。配置网关的CNC IP地址,选择发那科FOCAS驱动。
4
映射数据点。选择要轮询的FOCAS功能。先从机器状态、报警状态和零件计数开始。
西门子SINUMERIK:原生OPC UA
西门子走了不同的路。SINUMERIK 840D sl和ONE控制器内置OPC UA——基本数据访问不需要额外硬件或许可证。
通过OPC UA能读什么
- NC变量——轴位置、主轴转速、进给倍率、程序号
- 机器数据——所有MD参数(数百个数据点)
- PLC变量——集成SIMATIC S7 PLC的任何信号
- 驱动数据——伺服负载、温度、状态
- 报警系统——当前报警、报警历史、诊断信息
- 刀具管理——刀具列表、刀具寿命、磨损数据
马扎克:MTConnect + Smooth API
马扎克CNC支持MTConnect——专为制造数据采集设计的开放、免版税协议。
较新的马扎克机床(SmoothX、SmoothG控制器)预装了MTConnect代理。较旧的机床可以在连接的PC上安装马扎克MTConnect适配器。
通用方案:适用于任何CNC控制器
方案1:宏程序输出
许多CNC控制器支持自定义宏程序。你可以编写宏在每个加工周期结束时将数据(零件计数、周期时间、报警代码)输出到串口或以太网。这在几乎所有支持宏的CNC上都能用。
方案2:I/O监控
每台CNC都有数字I/O信号——机器就绪、循环启动、循环结束、报警。你可以用简单的数字输入模块连接到网关来获取这些信号。不需要接触CNC软件。
方案3:电流传感
在主轴电机电源线上夹一个电流互感器(CT),就能知道机器在切削、空转还是关机。这是最不侵入的方法——完全不需要电气连接到CNC。
选型总结
| 控制器 | 最佳方案 | 数据丰富度 | 设置难度 |
|---|---|---|---|
| 发那科 0i/16i/18i/30i | FOCAS | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 西门子 SINUMERIK | OPC UA | ⭐⭐⭐⭐⭐ | ⭐⭐ |
| 马扎克 SmoothX/G | MTConnect | ⭐⭐⭐⭐ | ⭐ |
| 任何CNC(基础监控) | I/O + 电流 | ⭐⭐ | ⭐ |
Related Articles
常见问题
- Q:数据采集会拖慢CNC吗?
- 不会。FOCAS、OPC UA和MTConnect都设计为后台数据提取。500ms-1秒的轮询频率对CNC性能零影响。避免快于100ms的轮询。
- Q:我的发那科没有启用FOCAS怎么办?
- 联系机床厂家(OEM)购买FOCAS选件。或者用I/O监控方案做基础状态监控,用宏程序方案做周期数据。
- Q:一个网关能采集多台CNC吗?
- 可以。一个边缘网关通常能通过以太网连接10-50台CNC,取决于数据轮询率和每台机器的数据点数量。
- Q:安装数据采集需要停机吗?
- 以太网方式(FOCAS、OPC UA、MTConnect):不需要停机。I/O监控:需要短暂停机(10-15分钟)安装电流传感器或接入数字信号。
- Q:海德汉、三菱或哈斯控制器呢?
- 海德汉支持DNC/DCI协议。三菱支持MELSEC通信。哈斯支持MTConnect(较新型号)或串口输出。各有各的方案——联系我们提供具体控制器型号获取详细指导。