从0到1:PCB制前工程CAM自动化系统的架构设计与多基地落地实践

从0到1:PCB制前工程CAM自动化系统的架构设计与多基地落地实践

作者:一阵寒风 | 17年PCB制前工程CAM自动化系统架构经验
标签:#CAM自动化 #InCAMPro二次开发 #Genesis #多基地标准化 #工业软件架构


一、为什么要自己搭一套CAM自动化系统?

在PCB行业,大多数工厂的CAM自动化停留在"脚本级":

  • 这里写一个涨缩补偿脚本;
  • 那里写一个自动拼版脚本;
  • 工程师离职,脚本失传;
  • 新基地投产,系统重新搭建。

当产品走向高多层、HDI、AI服务器板时,这种"脚本堆砌"模式会遇到三个致命问题:

  1. 不可维护:脚本之间无关联,改一处崩一片;
  2. 不可复制:一个基地跑得好,另一个基地跑不通;
  3. 不可扩展:新工艺出现,系统无法快速适配。

我在过去17年里,先后主导多个生产基地的CAM系统从0搭建与重构,最终沉淀出一套"可复用、可维护、可扩展的CAM自动化系统架构"。


二、系统总体架构(核心)

本系统采用分层解耦、配置驱动、中心调度的设计思想,整体由四层构成,各层之间通过标准接口通信,避免模块间强耦合。

2.1 基础设施层

底层基于 Linux 服务器集群构建,运行环境统一为 Rocky Linux / CentOS 稳定分支,搭载 InCAMPro/Genesis 原生 CAM 内核。

关于版本管理,我用了最朴素但最有效的办法:每日全量备份。

  • 每天凌晨,系统自动将脚本、配置、符号库打包,按YYYYMMDD_序号格式存档;
  • 关键版本(如新基地上线、重大工艺变更)单独标记为RELEASE_前缀;
  • 备份文件同时存放在本地服务器与异地灾备节点。

工业现场容不得半点闪失,当半夜系统崩溃时,能5分钟恢复生产的,永远是昨天那份完整的备份,而不是复杂的版本回滚流程。

2.2 核心引擎层(CAMGuide 调度平台)

这是整个系统的中枢模块,承担"大脑"角色。CAMGuide 并不直接处理 CAM 图形逻辑,而是负责任务调度、流程编排与异常拦截:

  • 从 MES/ERP 接收生产订单,按预设规则自动分发至对应 CAM 处理节点;
  • 内置标准 CAM 作业流程(Input → DFM → Layup → Output),流程节点可配置、可插拔;
  • 在任务执行前进行前置校验,如层别完整性、孔径匹配性、涨缩参数合法性等,异常任务自动挂起并生成告警;
  • 实时采集各节点运行状态,为后续运维与优化提供数据支撑。

2.3 业务逻辑层(原子能力封装)

为避免传统脚本开发中"重复造轮子、维护困难"的问题,系统将所有 CAM 操作抽象为不可再分的原子函数,例如线宽补偿、钻孔层生成、环宽检查、字符镜像等。

上层应用仅通过调用原子函数完成业务需求,不直接操作 InCAMPro底层命令。

为了不让脚本变成"屎山",我立了一条铁律:

每个脚本文件头部,必须写明:功能描述、创建日期、修改记录。
函数命名必须语义化,拒绝a1()test()这种鬼东西。

这套"人肉规范"配合每日备份,效果不输专业的版本管理工具。

2.4 应用层

在原子能力之上,组合形成面向业务的自动化模块,主要包括:

  • 自动拼版模块:支持多拼、阴阳拼、Step & Repeat 等复杂拼版逻辑;
  • 涨缩自动计算模块:基于板材类型、层别结构与历史数据,自动推算涨缩系数;
  • DFM 自动评审模块:内置可配置的工艺规则库,对线宽、间距、环宽、钻孔公差等进行批量检查;
  • 多基地同步模块:通过单向同步机制,将集团标准库、脚本与配置下发至各生产基地,实现标准化复制。

2.5 架构设计的核心原则

  1. 稳定性优先:所有设计均以 7×24 小时工业级稳定运行为前提,宁可牺牲部分灵活性,也不引入高风险逻辑。
  2. 可维护性优先:通过分层解耦与原子封装,将系统复杂度控制在可接受范围内,确保后续人员可接手、可优化。
  3. 标准化优先:系统从设计之初就面向多基地复制,所有差异通过配置文件管理,核心逻辑保持唯一。

三、多基地标准化落地的关键设计

在肇庆、益阳、泰国等基地复制这套系统时,坚持三个原则:

3.1 配置与代码分离

  • 各基地差异(设备精度、工艺偏好)写入配置文件;
  • 核心代码库完全一致;
  • 新基地上线只需修改配置,无需改动代码。

3.2 符号库(Symbol Library)三级管理

层级说明
global_symbols/集团统一标准
site_symbols/基地特有符号
job_symbols/订单临时符号

既保证集团标准统一,又保留基地灵活性。

3.3 网络与权限隔离

  • 各基地 CAM 服务器独立;
  • 通过单向同步机制推送标准库与脚本;
  • 避免"一个基地误操作,全网瘫痪"。

四、落地效果(量化成果)

以某新厂投产为例:

指标改造前改造后
系统搭建周期15天
工程资料处理效率基准提升 35%
系统连续稳定运行12个月无重大故障
CAM资料制作人员基准减少 40%
客户资料一次性通过率78%95%

五、踩过的坑(工程经验)

工业现场最怕"不知道为什么错了",日志比功能更重要。

5.1 不要迷信"全自动"

自动化必须保留人工干预入口,如涨缩计算由系统给建议值,资深工程师最终确认。完全闭环的自动化在高复杂度PCB产品上风险极高。

5.2 日志比功能更重要

约30%开发时间投入日志系统,出问题可快速定位。一个优秀的日志系统,是工业软件最重要的"黑匣子"。

5.3 备份不是万能的,但没有备份是万万不能的

曾因一次脚本更新导致某类HDI板资料异常,依靠前一天的备份,30分钟内恢复生产
教训:备份不仅要存,还要定期演练恢复流程。否则备份只是心理安慰。


六、写给同行的话

CAM自动化不是"写几个脚本"那么简单,也不是非要上Git、Docker、K8s才叫架构。

在PCB这种重工艺、重稳定、轻互联网的行业,能连续跑一年不出事,能快速恢复生产,能让新人接得住手——这才是真本事。

我这套系统,没用Git,靠的是每日备份、人肉规范和一颗对生产线敬畏的心。
17年摸爬滚打下来,我发现:在工业现场,稳定,就是最高的技术。


附录:技术栈清单

类别技术选型
CAM软件InCAMPro / Genesis2000
开发语言Python(主)、Shell(辅)
Web框架Flask(内部管理界面)
数据库MySQL / SQLite(轻量级配置管理)
部署工具Rsync(同步) + Cron(定时备份)
运行环境Rocky Linux / CentOS

如果这篇分享对你有启发,欢迎点赞、收藏、评论。不欢迎喷子,只欢迎同样在一线摸爬滚打的兄弟交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值