工业通信专题
常用工业通信协议
| 协议 | 类型 | 介质 | 典型应用 |
|---|---|---|---|
| Modbus RTU | 串行 | RS485 | 变频器、仪表 |
| Modbus TCP | 以太网 | TCP/IP | PLC 与 HMI/SCADA |
| PROFINET | 以太网 | TCP/IP | 西门子 PLC 联网 |
| EtherNet/IP | 以太网 | TCP/IP | AB/施耐德 |
| CC-Link | 现场总线 | 专用电缆 | 三菱主从通信 |
| CANopen | 现场总线 | CAN | 运动控制 |
Modbus RTU(RS485)
硬件连接
PLC (RS485) 变频器/仪表 (RS485)
├─ A+ ────────────────── A+
├─ B- ────────────────── B-
└─ SG ────────────────── SG(屏蔽层)1
2
3
4
2
3
4
⚠️ 终端电阻:总线两端各加 120Ω 终端电阻,避免信号反射。
三菱 FX5U Modbus RTU
txt
// 使用 ADPRW 指令发送 Modbus 读指令
// 读变频器频率(保持寄存器 H0000,读取2字)
ADPRW(
En := TRUE,
D1( 1 ), // 从站号 = 1
Cmd( H0003 ), // 功能码 03:读保持寄存器
ADR( H0000 ), // 起始地址
NUM( 2 ), // 读取字数
D( D200 ) // 结果存入 D200
);1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
西门子 S7-1200 Modbus RTU(CM1241)
txt
// 初始化 Modbus 通信
MB_COMM_LOAD(
REQ := init_trigger,
PORT := 1,
BAUD := 9600,
PARITY := 0, // 无校验
DONE := done,
ERROR := error
);
// Modbus 从站读取
MB_MASTER(
REQ := read_trigger,
MB_ADDR:= 1, // 从站地址
MODE := 1, // 模式 1:读保持寄存器
DATAADDR:= 0, // Modbus 地址 0(Holding Register 40001)
LENGTH := 2, // 读取 2 个字
DATA := P#DB1.DBX0.0 WORD 2,
DONE := done,
ERROR := error
);1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Modbus TCP
连接方式
PLC ──[以太网]── [交换机]── [HMI]
└── [变频器]
└── [仪表]1
2
3
2
3
三菱 FX5U Modbus TCP
txt
// FX5U 内置以太网口支持 Modbus TCP
// 使用 M+_ModbusTCP_Client 功能块
ModbusClient(
En := TRUE,
ip := '192.168.1.100', // 从站 IP
Port := 502, // 端口
DevAddr := 1, // 从站号
Code := 3, // 功能码 03
Address := 0, // 寄存器地址
Count := 2, // 字数
Data := D100
);1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
PROFINET(西门子)
系统结构
S7-1500 CPU ──[PROFINET]── [ET200MP IO 模块]
│
──[PROFINET]── [G120 变频器]
│
──[PROFINET]── [HMI]1
2
3
4
5
2
3
4
5
优势
- 实时性好
- 拓扑灵活(星型、树型、环型)
- 诊断功能完善
- 统一编程(TIA Portal 内置)
S7 通信(两台西门子 PLC 互联)
txt
// S7-1200 之间用 PUT/GET 指令
// 需要双方开启"允许使用 PUT/GET 访问"
PUT(
REQ := start_send,
ID := 1,
ADDR_1 := P#DB1.DBX0.0 BYTE 10, // 本地数据源
RD_1 := P#DB2.DBX0.0 BYTE 10, // 对方存储地址
DONE := send_done,
ERROR := send_error
);1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
通信选型建议
| 场景 | 推荐协议 |
|---|---|
| 变频器 + PLC | Modbus RTU(简单) |
| 多 PLC 联网(西门子) | PROFINET |
| 多品牌混用 | Modbus TCP |
| 高速运动控制 | EtherCAT / PROFINET IRT |
| 远程 IO | PROFINET / EtherNet/IP |
| 简单仪表通信 | Modbus RTU |