0%

自动化控制-通讯

串口 RS232 RS485 都是物理层标准
RS485

其中RS232使用较高差异的电平(±3-12v)区分逻辑 结构简单 用在芯片之间通讯 或在1m以内的PLC与上位机通讯

RS485使用差分信号区分逻辑(如A>B为逻辑0 反之为1) 使用缠绕双绞线以抗干扰 传输距离可以在1200m 半双工!

上位机编程一般直接根据串口逻辑进行(使用通用串口总线)

Modbus

ModBus链路

ModBus链路

一个项目中还可能有多条 同一链路上使用相同波特率 主站->从站 以实现轮询/问答

仪表要配置 站地址(站号) 通讯参数(波特率 校验 数据位 停止位)

  • Modebus RTU (Remote Terminal Unit) 远程终端设备
  • Modebus TCP

寄存器

  • 线圈寄存器 bit 可读可写
  • 离散输入寄存器 bit 可读
  • 保持寄存器 word(16bit) 可读可写
  • 输入寄存器 word(16bit) 可读可写

功能码

功能码 (Hex) 操作名称 读写权限 对应地址前缀 典型用途与场景
01 读线圈 0x (00001-) 查看开关输出状态
例如:检查继电器是否吸合、电机是否运行、指示灯状态。
02 读离散输入 1x (10001-) 读取外部开关信号
例如:读取按钮按下状态、限位开关触发、传感器到位信号。
03 读保持寄存器 读/写 4x (40001-) 最常用的功能
读取/设置设备参数(如目标温度、PID参数)、读取模拟量输出值。
04 读输入寄存器 只读 3x (30001-) 采集实时测量值
读取传感器数据(如当前电压、电流、温度、压力),通常不可修改。
05 写单个线圈 0x (00001-) 控制开关动作
远程启动/停止电机、强制置位继电器、开关阀门。
06 写单个保持寄存器 4x (40001-) 修改单个参数
修改变频器的频率设定、调整温控器的设定值。
10 (16) 写多个保持寄存器 4x (40001-) 批量下发配置
一次性写入一组PID参数、设置多段速运行指令,提高效率。