Modicon SA85 / PCI-85 简介
Modicon SA85 是施耐德电气(Schneider Electric)旗下 Modicon 品牌生产的两款工业通信接口卡:ISA 总线的 SA85 和 PCI 总线的 PCI-85。这些卡用于在 PC 上实现 Modbus Plus(MB+)网络通信,是 1990 年代至 2000 年代工业自动化系统中连接 Schneider PLC(如 Quantum、Momentum 系列)到上位机 PC 的常用硬件方案。
modbus.org 推荐的开源 Linux 驱动项目托管在 SourceForge:sourceforge.net/projects/modp-driver。许可证为 BSD 协议,包含完整的驱动源码和使用示例。
驱动支持的硬件和内核版本
- 支持硬件:Modicon ISA SA85 和 PCI-85 两种接口卡
- Linux 内核版本:2.2.19 及以上、2.4.7 及以上
- 许可证:BSD License
- 包含内容:驱动程序源码 + 示例客户端程序
编译与安装驱动
驱动源码需要在目标 Linux 系统上编译。以下步骤使用老版本内核(2.4.x)的命令,现代内核(5.x/6.x)需要适配:
# 下载源码
git clone https://git.code.sf.net/p/modp-driver/code modp-driver
cd modp-driver
# 编译(需要内核头文件)
make
# 加载驱动模块
insmod sa85.o
# 或对于 PCI 版本
insmod pci85.o
# 检查驱动是否加载成功
dmesg | tail -20
lsmod | grep -E 'sa85|pci85'
# 查看设备节点
ls -la /dev/sa85* /dev/pci85*
关于 Modbus Plus 协议
Modbus Plus(MB+)是施耐德电气在 Modbus 基础上发展的一种专有令牌传递网络,运行速率 1 Mbps,采用双绞线物理层。与标准的 Modbus RTU/TCP 不同,Modbus Plus 使用点对点(Peer-to-Peer)令牌传递方式,网络上没有主从之分——每个节点在获得令牌时都可以主动发送数据。
⚠️ 当前状态:Modbus Plus 已被施耐德官方列入逐步淘汰(phase-out)的协议。新的 Schneider PLC 产品线(如 M580、M340)已全面转向 Modbus TCP 和 Ethernet/IP 等基于以太网的通信方式。除非你在维护仍在运行的旧 Modicon Quantum 系统,否则不需要关注 Modbus Plus 和 SA85 驱动。
现代化的替代方案
如果你正在搭建新的工业控制系统,不应该再使用 Modbus Plus 和 SA85 卡。现代化的替代方案包括:
| 旧方案 | 新方案 | 优势 |
|---|---|---|
| Modbus Plus (MB+) | Modbus TCP | 标准以太网,无需专用硬件,速率更高(100M/1G) |
| SA85 ISA 卡 | 标准网卡 | 成本低,随处可得 |
| Modicon Quantum + MB+ | M580 ePAC + Modbus TCP | 原生以太网,支持环网冗余(RSTP/HSR) |
| 专用驱动开发 | Socket 编程 | 跨平台,无需内核模块 |
总结
SA85 Linux 驱动是一个具有历史意义的开源项目,它展示了 Linux 内核驱动在工业通信领域的早期应用。该驱动在 2000 年代初的工业控制系统中扮演过重要角色,帮助用户在 Linux 环境下连接 Modicon PLC。如今,随着 Modbus TCP 和工业以太网的全面普及,新项目不再需要使用 Modbus Plus 网络和 SA85 硬件。但对于仍在维护老旧 Modicon 系统的工程师来说,理解这个驱动的工作原理仍然有实用价值。
发表回复