大家好,欢迎来到IT知识分享网。
一、Modbus物理层接线
1. ModbusRTU(485)错误接法vs正确保命接法
■ 错误接法(可能烧接口)
PLC-A ────■───▶ 设备1-A
│
PLC-B ────┼───▶ 设备1-B // 星型拓扑产生反射干扰
│
└───▶ 设备2-A
■ 正确接法(手拉手拓扑)
PLC-A ───▶设备1-A───▶设备2-A
PLC-B ───▶设备1-B───▶设备2-B
屏蔽层单点接地
2. 电压雷区检测表

二、几种通信方式简介

1. RS232 vs RS485 电路
■ RS232错误接线(共地干扰)
PC-TXD ────▶ PLC-RXD
PC-RXD ◀──── PLC-TXD
PC-GND ────▶ PLC-GND // 地线环流引入干扰
■ RS485正确接法(差分抗干扰)
PLC-A ────▶ 设备-A
PLC-B ────▶ 设备-B
屏蔽层───▶ 单点接地(柜体PE)
2. Profibus-DP接头内部玄机
进线端 ────■───▶ 出线端
│
├─▶ 终端电阻开关(末端ON)
│
设备接口 ◀─┘
铁律:紫色电缆阻抗150Ω,普通电缆导致波形畸变
3. Modbus帧结构(十六进制原始报文)
[从站地址][功能码][起始地址Hi][起始地址Lo][数据Hi][数据Lo][CRC-Lo][CRC-Hi]
例:01 03 00 00 00 01 84 D1 // 读40001寄存器
4. Profibus-DP报文特权指令
SD2 LE LEr SD DA SA FC DSAP SSAP DU FCS ED
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
| | | | | | | | | └─ 结束符
| | | | | | | | └─ 数据单元
| | | | | | └───┴─ 服务访问点
| | | | | └── 帧控制
| | | | └─── 源地址
| | | └──── 目标地址
| | └─── 长度重复
| └────── 长度
└──────── 开始符
三、CRC校验算法手工破译
1. CRC计算三步斩(以指令01 03 00 00 00 01为例)
步骤1:数据帧拼接
01 03 00 00 00 01 → 追加CRC空位0000 → 01 03 00 00 00 01 00 00
步骤2:多项式除法(0xA001)
1001 1000 0000 0001 // 0xA001二进制
÷ 0000 0001 0000 0011 0000 0000 0000 0000 0000 0001 0000 0000 // 数据帧
余数 = 1101 1110 → 0xDE
步骤3:高低字节交换 → CRC=0x84D1
2. 三菱PLC手工CRC程序
| 网络1:计算CRC16 |
| MOV K0 D100 // CRC初始值 |
|–| |—-|MOV|———-| |
| FOR K1 K8 // 循环8字节 |
|–| |—-|FOR|———-| |
| XOR D10 D100 // 异或运算 |
|–| |—-|XOR|———-| |
| SHR D100 K1 // 右移1位 |
|–| |—-|SHR|———-| |
| IF D100.15=1 // 判断溢出 |
|–| |—-|IF|———–| |
| XOR H8005 D100 // 异或多项式 |
|–| |—-|XOR|———-| |
| NEXT // 结束循环 |
四、主要品牌通信指令
1. 西门子S7-1200的MB_MASTER
MB_MASTER(
REQ := Start_Req, // 必须用上升沿!
MB_ADDR:= 1, // 从站地址
MODE := 0, // 0=读 1=写
DATA_ADDR:= 40001, // 4x区+1偏移
DATA_LEN := 1, // 读取字数
DATA_PTR := ^DB1.DBB0, // 指向数据区
DONE := Done_Flag,
ERROR := Error_Code // 16#8180=超时
);
注意:
DATA_ADDR必须减1(40001实际填40000)
超时时间在PLC属性→循环时间修改
2. 三菱FX5U ADPRW指令细节
| ADPRW U0 K1 H1 K4 K40001 K1 D100 |
| ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ |
| | | | | | | | └─ 本地寄存器
| | | | | | └─────┴─ 从站地址(40001=H9C41)
| | | | | └──────── 功能码(4=读输入寄存器)
| | | | └───────── 从站号
| | | └────────── 通信口(U0=内置485)
| └─────────────── 指令
指南:
从站地址必须转十六进制(40001 → H9C41)
波特率需在GX Works3模块参数设置
五、工业现场
1. 干扰导致数据跳变解决方案
硬件:
■ 在AB线间并双向TVS管(P6KE6.8CA)
软件:
MOV D100 D200 // 原始值
FILTER D200 K5 D210 // 5次滑动平均滤波
2. 从站无响应排查
步骤1:用USB转485工具监听报文(波特率/地址校验)
步骤2:短接PLC的A/B线自发自收(检测端口硬件)
步骤3:断开所有从站,逐个挂接(定位故障设备)
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/187187.html