要点速览
CNC 加工中 RS-232 端口为何有这么多叫法
问五位技工 Fanuc 控制器背面的连接器叫什么,你会得到五个答案。硬件是同一个 25 针或 9 针 D-sub 外壳。变化的是谁在称呼它。电工叫它串行端口。控制工程师叫它 RS-232C 接口。机床操作员叫它程序电缆端口。PC 技术员叫它 COM1。所有这些名称都描述同一个插座。
混淆源于 RS-232 是电气信号标准,而非连接器或软件标准。1960 年代的原始规范定义了将终端连接到调制解调器的电压电平、引脚功能和时序。CNC 制造商采用它,是因为它便宜、文档齐全,且当时每台计算机都已支持。他们保留了电气规则,几乎改变了其他一切。
因此不能假设两台带相同 DB25 插座的机床用同一根电缆就能互通。Fanuc、Haas、Mazak、Siemens 和 Mitsubishi 各自串口的接线略有不同。有些在引脚 4 和 5 上使用硬件握手,有些使用 XON/XOFF 字符的软件握手,还有些完全忽略握手。标签上的名称几乎不能说明其背后的引脚定义。
如果订购电缆,关键的是机床型号和控制器版本,而不是连接器名称。用于 1990 年代 Fanuc 0M 的零调制解调器电缆不一定适用于 2015 年的 Haas ST-20,尽管两者都有 DB25 端口。压接前,请从机床手册或控制器制造商的连接图中获取引脚定义。
- 1串行端口通过单对线一次发送一位的任何接口的通用术语。
- 2COM 端口Windows 和 DOS 分配给物理串行插座的逻辑名称,如 COM1 或 COM2。
- 3RS-232C定义信号电压、引脚功能和电缆长度限制的电气标准。
- 4DB25 / DB9物理连接器外壳。DB25 常见于老控制器,DB9 见于较新控制器。
发送程序时各引脚实际做什么
串行链路在单条数据线上一次传输一位。在 DB25 连接器上,引脚 2 将数据从 PC 传到机床,引脚 3 将数据传回。接地在引脚 7。其余引脚处理流控制,这是容易出问题的部分。没有流控制,机床输入缓冲区会溢出并丢失字符,表现为 G 代码损坏。
硬件握手使用引脚 4、5、6、8 和 20。PC 在引脚 20 上拉高 DTR 表示就绪。机床缓冲区有空间时,在引脚 6 上拉高 DSR、在引脚 5 上拉高 CTS。缓冲区满时,机床拉低 CTS,PC 暂停。这是最可靠的方法,也是 USB 普及前大多数 CNC 制造商采用的方法。
软件握手省去额外导线。机床缓冲区将满时发送 XOFF(ASCII 19),有空间时发送 XON(ASCII 17)。只需引脚 2、3 和 7。问题在于 XON 和 XOFF 是普通字符。如果 G 代码文件因其他原因包含这些字节值,链路可能停滞。实际中很少见,但这就是一些车间坚持硬件握手的原因。
第三种选择是完全不用握手。仅当文件足够短、能装入机床缓冲区且 PC 一次发送完毕时可行。对于 20 行的装夹程序没问题。对于 2 MB 的曲面刀路会失败。如果滴灌加工长程序,请使用硬件握手,并将波特率保持在 9,600 或 19,200。
- 1引脚 2 (RXD)数据从 PC 进入机床控制器。
- 2引脚 3 (TXD)数据从机床返回 PC。
- 3引脚 7 (GND)信号地。每根电缆都必须连接。
- 4引脚 4、5、6、8、20用于硬件流控制的握手线。
串行链路适用与不适用之处
RS-232 最初是为距离调制解调器几米远的终端设计的。该标准规定在 19,200 波特率下最大电缆长度约为 15 m。超过这个长度就会出现帧错误、字符丢失,偶尔还会完全断开连接。在附近有变频器、伺服驱动器和焊接设备的车间里,15 m 可能已经算乐观了。使用屏蔽电缆并将屏蔽层在一端接地会有帮助。
速度是另一个限制。在 9,600 波特率下,每秒大约传输 960 字节,也就是约 960 个字符的 G 代码。一个 500 KB 的程序需要八分多钟才能传完。在 115,200 波特率下,同一文件不到一分钟就能传完,但许多老式控制系统在该速率下无法保持稳定连接。对于老式 Fanuc 和 Haas 控制系统,实际最佳值是 19,200 波特率。
对于较长的曲面加工程序,边传边加工是解决办法。PC 在机床执行的同时分小块发送文件,利用握手信号线控制传输节奏。这样,内存只有 128 KB 的控制系统也能运行 20 MB 的刀路。问题在于,任何中断——连接器松动或电源闪断——都会在加工中途停止切削。保持电缆走线短,并让 PC 接在 UPS 上。
在老设备上,这个端口不会消失。一台 1998 年配 Fanuc 18i 控制系统的立式加工中心仍在加工合格的零件。对许多车间来说,更换控制系统的成本超过机床本身的价值。一根 15 m 的串口电缆和一台专用 PC 的成本只是其中一小部分。对于同时运行老机床和新机床的车间,串口连接仍然是最便宜的方式,让两者都能从同一 CAM 系统获取程序。
- 1适用场景老式控制系统、短电缆走线、程序小于 1 MB、每台机床配一台 PC。
- 2不适用场景长电缆走线、高电磁干扰环境、超过 10 MB 且不支持边传边加工的文件。
正确设置通信参数
电缆两端必须匹配四项设置:波特率、数据位、校验位和停止位。CNC 控制系统常见的出厂默认值是 9,600 波特率、7 数据位、偶校验、1 停止位。Haas 通常出厂为 9,600、7、偶校验、1。Fanuc 一般也使用 9,600、7、偶校验、1,不过有些制造商设为 8 数据位、无校验。如果这些不匹配,就会出现乱码或完全无响应。
握手方式是第五项设置,也是最常被忽略的一项。如果机床设为 XON/XOFF,而电缆按硬件握手接线,短文件可能正常,长文件就会失败。要检查机床参数页面,而不只是 CAM 软件对话框。在 Fanuc 控制系统上,这是参数 0102 和 I/O 通道设置。在 Haas 上,位于 Settings 页面的 RS-232 项下。
流控制还取决于电缆。零调制解调器电缆会交换引脚 2 和 3,并且通常会交叉握手信号线。直通电缆则不会。用错电缆是串口连接首次尝试失败最常见的原因。如果你用的是直通电缆而机床需要零调制解调器电缆,通常完全看不到数据,或者会连续收到同一个字符。
连接建立后,保存设置。把波特率、校验位和电缆类型写在标签上,贴在控制柜门内侧。下一个需要重新连接这台机床的人会感谢你。今天能用的串口连接,可能在控制系统电池更换清空参数后失效;手边有这些数值,就能把半天的排查变成十分钟的修复。
- 1波特率9,600 或 19,200。更高速率需要更短、屏蔽更好的电缆。
- 2数据位7 位加偶校验是 CNC 默认值。有些控制系统使用 8 位、无校验。
- 3停止位几乎总是 1。少数老式控制系统使用 2。
- 4握手硬件(RTS/CTS)或软件(XON/XOFF)。两端必须匹配。
分步操作:通过串口将 PC 连接到 CNC 控制系统
适用于从未联网的机床
- 1确认控制系统和连接器记下控制系统型号,以及插座是 DB25 还是 DB9。拍下控制柜背面标签的照片。这决定了你需要的引脚定义。
- 2从手册获取引脚定义在机床或控制系统手册中找到 RS-232 连接图。不要根据连接器外形猜测。注意制造商要求的是零调制解调器电缆还是直通电缆。
- 3制作或购买正确的电缆使用屏蔽双绞线,最长 15 m。按图纸焊接握手信号线。两端都贴上机床名称标签。
- 4设置机床参数在 Fanuc 上,检查参数 0102 和 I/O 通道。在 Haas 上,打开 Settings 并滚动到 RS-232。设置波特率、数据位、校验位、停止位和握手方式,使其与 PC 匹配。
- 5设置 PC 和 CAM 软件在设备管理器中确认 COM 端口号。在 CAM 后处理或传输软件中,选择该 COM 端口并输入相同参数。
- 6用短程序测试先发送一个 10 行的程序。如果正确到达,再试一个 1,000 行的文件。注意字符丢失或传输停滞。
- 7测试边传边加工对于长刀路,让刀具远离毛坯,空运行一遍。确认握手能暂停和恢复,且不丢失位置。
- 8记录可用设置把电缆类型、COM 端口和参数值写在标签上,贴在控制柜门内侧。在维护日志中保存一份副本。
串口名称及其含义
同一个插座,不同的叫法
| 名称 | 出现位置 | 说明的问题 |
|---|---|---|
| 串口 | 机床手册、接线图 | 通用接口类型,不含引脚定义细节 |
| COM 端口 | Windows 设备管理器 | 操作系统分配的逻辑编号 |
| RS-232C | 电气原理图 | 电压电平和引脚功能 |
| DB25 端口 | 老式 Fanuc 和 Mazak 控制系统 | 25 针外壳,引脚定义因制造商而异 |
| DB9 端口 | 较新的 Haas 和 Siemens 控制系统 | 9 针外壳,握手信号线较少 |
| 程序电缆端口 | 车间口语 | 用于 G 代码传输的插座 |
| COM1 / COM2 | CAM 后处理器设置 | 软件打开哪个物理端口 |
关于 CNC 加工中 RS-232 端口的常见问题
RS-232 和串口是一回事吗?
RS-232 是电气标准,串口是承载它的物理插座。每个 RS-232 端口都是串口,但不是每个串口都用 RS-232。RS-422 和 RS-485 使用相同的 DB9 或 DB25 外壳,但电压规则不同。
在 CNC 控制器上,标签通常写 RS-232C 或直接写 SERIAL,两者指同一个插座。
CNC 机床能用 USB 转串口适配器吗?
可以,前提是适配器向 Windows 呈现真实的 COM 端口。FTDI 和 Prolific 芯片组在大多数控制器上都能用。适配器必须支持机床使用的握手线。一些廉价适配器只接 2、3、7 脚,会破坏硬件握手。
在设备管理器中设置适配器的 COM 端口号,并确认它在重启之间不变。COM 端口号漂移是传输失败的常见原因。
CNC 机床上 RS-232 的最大电缆长度是多少?
标准规定在 19,200 波特下约为 15 m。在附近有驱动器和焊机的车间里,把 15 m 当作上限并使用屏蔽电缆。如果需要更长距离,把波特率降到 9,600,或使用一对 RS-422 转换器。
在台面上能用的电缆,主轴驱动器一运行就可能在车间里失效。要在机床切削时测试,而不是空转时。
为什么长程序传输到一半就停了?
最常见的原因是握手不匹配。机床期望 XON/XOFF,但电缆按硬件握手接线,或者反过来。检查机床参数页和 CAM 软件设置。
第二个原因是控制器缓冲区溢出。把波特率降到 9,600,或启用 drip-feed 模式,让 PC 分小块发送。
怎么知道机床在哪个 COM 端口上?
在 Windows 中打开设备管理器,展开“端口 (COM & LPT)”,找到串行设备。括号里的数字就是 COM 端口。如果用的是 USB 适配器,拔下再插上,看哪个条目出现。
把这个数字记下来。如果把适配器换到另一个 USB 插口,它可能会变。
现代 CNC 机床还有 RS-232 端口吗?
很多还有,通常与以太网和 USB 并存。机床厂保留串口,是为了照顾已有成熟传输方案的车间。增加它的成本几乎为零,还能让旧的 CAM 工作流继续运行。
如果机床两者都有,大文件用以太网,把串口留作网络故障时的备用通道。
