一、RS485端口端子与接线方式
双向直流电源后面板上的RS485端口采用两线制半双工接口,端口通常引出三到四个端子,其中两个为差分信号线,一个为通讯地,部分机型另外引出一个屏蔽层接地端子。接线时上位机、PLC或者通讯转换器的A端与电源的A端相连,B端与B端相连,两侧不能交叉。部分厂家在丝印上用D+和D-标注,D+对应A,D-对应B,接线前需要核对随机手册上的端子定义。
| 端子标识 | 名称 | 接线要求 |
|---|---|---|
| A或D+ | 差分信号正 | 与主站A端相连,接双绞线的一根 |
| B或D- | 差分信号负 | 与主站B端相连,接双绞线的另一根 |
| GND | 通讯地 | 与主站信号地相连,通讯距离超过50米时接入 |
| PE或SHIELD | 屏蔽层接地 | 屏蔽双绞线的屏蔽层接机壳地,采用单端接地 |
总线走线使用0.5平方毫米以上的双绞屏蔽线,拓扑结构为手拉手菊花链,不允许使用星形连接,也不允许在主干上引出长分支。总线的两个物理末端各接一只120欧姆终端电阻,中间节点不接。通讯距离在10米以内且波特率不高于9600时,终端电阻可以省略;距离拉长到几十米以上,终端电阻必须接入,否则波形反射会造成校验错误。
二、通讯参数与波特率匹配
双向直流电源出厂时通讯参数的默认值一般写在手册首页,上电前需要把主站与电源的从站地址、波特率、数据位、停止位、校验方式设置成完全一致,任何一项不一样的都会出现无应答。
![]()
| 参数项 | 常见取值 | 说明 |
|---|---|---|
| 从站地址 | 1至247 | 同一总线内地址不能重复,0为广播地址 |
| 波特率 | 9600、19200、38400、57600、115200 | 同一总线全部节点一致 |
| 数据位 | 8 | Modbus-RTU固定8位 |
| 停止位 | 1或2 | 以电源手册标注为准 |
| 校验方式 | 无校验、偶校验、奇校验 | 许多机型默认无校验 |
| 响应延时 | 0至100毫秒 | 主站轮询间隔要大于该值 |
| 波特率 | 推荐最长总线距离 |
|---|---|
| 9600 | 1200米 |
| 19200 | 600米 |
| 38400 | 300米 |
| 115200 | 100米 |
三、Modbus-RTU报文结构与帧间隔
一帧完整的Modbus-RTU报文由从站地址、功能码、数据域和校验域四段组成,没有起始符和结束符,依靠总线上的静默时间来判断一帧的开始和结束。帧与帧之间需要保持3.5个字符时间的静默,波特率9600时大约为4毫秒,波特率115200时大约为0.3毫秒。同一帧内部的字符间隔不能超过1.5个字符时间,否则从站会把这一帧丢弃。
| 字段 | 字节数 | 内容说明 |
|---|---|---|
| 从站地址 | 1 | 1至247,主站发出的目标设备地址 |
| 功能码 | 1 | 03、04、06、16等 |
| 数据域 | N | 寄存器起始地址、寄存器数量或写入值 |
| CRC16 | 2 | 低字节在前,高字节在后 |
CRC16校验采用多项式0xA001,初值0xFFFF,对地址、功能码、数据域逐字节异或并移位八次,最终结果取反后按低字节在前的方式附加在报文末尾。主站收到应答后同样计算一遍CRC,两者不一致说明线路存在干扰。

四、功能码与寄存器读写
| 功能码 | 名称 | 用途 |
|---|---|---|
| 03 | 读保持寄存器 | 读取设定值与只读运行数据 |
| 04 | 读输入寄存器 | 读取部分机型的采样数据 |
| 06 | 写单个寄存器 | 修改单个设定值或开关量 |
| 16 | 写多个寄存器 | 连续写入电压、电流等多个设定值 |
下面是一组常见的寄存器映射,实际地址以随机手册中的通讯表为准,不一样的功率等级的机型在地址偏移上可能存在差异。
| 寄存器地址 | 名称 | 数据格式 | 读写属性 |
|---|---|---|---|
| 0x0000 | 输出电压设定 | 0.01V每比特,无符号整数 | 读写 |
| 0x0001 | 输出电流设定 | 0.01A每比特,无符号整数 | 读写 |
| 0x0002 | 输出开关 | 0为关,1为开 | 读写 |
| 0x0003 | 工作模式 | 0为源模式,1为载模式 | 读写 |
| 0x0004 | 实际输出电压 | 0.01V每比特 | 只读 |
| 0x0005 | 实际输出电流 | 0.01A每比特 | 只读 |
| 0x0006 | 状态字 | 位0输出状态,位1源载状态,位2故障 | 只读 |
| 0x0007 | 故障代码 | 无符号整数 | 只读 |
| 0x0008 | 电压上限 | 0.01V每比特 | 读写 |
| 0x0009 | 电流上限 | 0.01A每比特 | 读写 |
读取实际电压与实际电流的请求报文结构为:从站地址01、功能码03、起始地址0x0004、寄存器数量0x0002,末尾附加两字节CRC,写出来就是01 03 00 04 00 02 CRC低 CRC高。从站正常应答的格式为01 03 04 电压高字节 电压低字节 电流高字节 电流低字节 CRC低 CRC高。开启输出的写报文结构为01 06 00 02 00 01 CRC低 CRC高,从站收到后原样返回该帧表示写入成功。
五、上位机与PLC的联机测试
用电脑测试时,通过USB转RS485转换器把电源接到电脑,转换器的驱动装好之后在设备管理器里确认COM口号。Modbus Poll这类主站软件中把模式设为RTU,串口参数与电源保持一致,功能码选03,从站地址填电源地址,起始地址填4,数量填2,超时时间设300毫秒,扫描间隔设100至500毫秒,点连接之后就能看到电压电流的实时数值。PLC侧使用Modbus主站指令块,把从站地址、功能码、寄存器地址、数据长度依次填入,读写结果放在对应的数据寄存器里。
从站地址0为广播地址,主站发出写指令后总线上所有从站都会执行,但都不返回应答帧,所以广播方式只能用于下发设定值,不能用于读取数据。
六、双向模式与能量回馈的通讯控制
双向直流电源具备源模式和载模式两种工作状态。源模式下设备向负载输出电能,电流由电源流向被测对象;载模式下设备吸收被测对象送来的电能,经过变换后回馈到交流电网,电流方向相反。模式切换的完整流程是先把0x0002寄存器写0关闭输出,再把0x0003寄存器写入目标模式值,最后把0x0002寄存器写1重新开启输出。带电直接切换模式会造成母线电压冲击,触发过压保护。
载模式运行时母线电压高于电网电压,设备以接近1的功率因数向电网回馈能量,回馈功率的大小由0x0001寄存器中的电流设定值决定。运行中过压、过流、过温任意一项动作,0x0006状态字的位2会被置1,主站读取0x0007寄存器可以拿到具体故障代码,便于定位是哪一路保护触发。
七、通讯异常排查
| 现象 | 可能原因 | 处理方式 |
|---|---|---|
| 主站发出指令后没有任何应答 | 从站地址不符、A与B接反、波特率或校验方式不一致 | 逐项核对参数,对调A、B两根线再试 |
| 从站返回异常码02 | 请求的寄存器地址越界 | 对照通讯表核对起始地址与寄存器数量 |
| 返回CRC校验错误 | 线路干扰、终端电阻缺失、屏蔽层两端接地形成地环流 | 接入120欧姆终端电阻,屏蔽层改为单端接地 |
| 读数频繁跳变 | 通讯线与变频器动力线走在同一线槽 | 分开走线,动力线与信号线间距保持20厘米以上 |
| 长时间运行后偶发掉线 | 轮询间隔过短,从站来不及处理 | 把扫描间隔延长到200毫秒以上 |
八、设备选型与技术支持
山东运电气有限公司的双向直流电源在RS485端口上提供标准Modbus-RTU从站接口,支持03、04、06、16四类功能码,寄存器地址与数据格式随机提供完整通讯协议表,源模式与载模式的切换、电压电流设定、运行数据回读、故障码读取都可以通过总线完成。设备功率等级覆盖从实验室小功率台架到工业现场大功率回馈测试的多种规格,电压电流量程、通讯端口数量、是否带CAN或以太网扩展接口按照项目需求配置。具体型号的技术参数与成交价格,可查看网页上面的电话进行沟通,由技术人员确认工况后给出实际报价。
暂无评论,快来抢沙发吧!