rs485通信基础知识-九游会登录
发布时间:2019/7/6 查看:3006
1. 485通信
1.1. 通信连接
1.1.1. 接口定义:
智能型数显仪表一般采用rs485通信接口方式,一般为三个端子:a ,b-,com。如下图1:
当一条总线上有多台485通讯设备时,连线要采用手拉手的接线方法,一条总线上建议最多不超过32台设备。如图2
图1:485通讯接线方法
图2:多台设备的485总线连接
1.1.2. 通信接口及转换器
由于仪表采用rs485通信接口,一般常见的plc、触摸屏等都有此接口。但是电脑上一般没有此接口。与电脑进行通信时,需要进行接口转换,常见的设备有:usb转rs485转换器,rs232转rs485转换器,以太网转rs485串口服务器,通信管理机等。如图3:
图3:常见串口转换器
1.2. 通信设置
1.2.1. 协议:仪表支持标准的modbus-rtu串口通信协议;参考相关国家标准:gb/t 19582.1-2008,gb/t 19582.2-2008;
1.2.2. 数据传输格式为:1位起始位,8位数据位,1位停止位,无校验位。
1.2.3. 仪表常规设置出厂值为:add地址:1,波特率:9600,crc校验:n
1.2.4. 数据字节顺序:h-l(高在前,低在后)
1.2.5. 数据格式:整型(32位长整型long,16位短整型short),32位浮点型float。根据不同系列仪表不同。
1.3. 寄存器地址
1.3.1. 我公司说明书中寄存器地址,也叫变量地址或地址映射表,用十六进制地址码表示,如0x2000表示十六进制地址2000。32位数据占用2个寄存器位置(4字节),16位数据占用1个寄存器位置(2字节)。32位数据地址以0,2,4,6......等地址分别表示各参数占用的寄存器位置;16位数据以地址0,1,2,3......等地址表示各参数占用的寄存器位置。
如下图4:
图4:传感器表和电力表的参数地址表
1.3.2.计算机读取数据时,就从以上变量地址中读取相应数据。一般计算机与仪表通信时,上位机上直接用十六进制数据进行访问;但多数的工控组态软件、监控系统软件、plc、触摸屏等,需要转换为十进制地址码进行读取。
如下图5、图6、图7设置,读0x4000开始的a相电压值,需将0x4000转换为十进制数得到16384,再用400001 16384=416385
图5:组态王串口设备测试时寄存器地址设置
图6:昆仑通态触摸屏设备通道采集设置
图7:西门子s7-200smart plc读指令设置
1.4.1. 仪表一般用十六进制数据进行发送,上位机接收到数据后,需要进行数据转换处理,常用的一般是长整型、短整型、浮点型。long长整型数据为32位,占用2寄存器,4字节; short短整型数据为16位,占用1个寄存器,2字节;float浮点型为32位数据,占用2寄存器4字节。
1.4.2.上位机在处理数据时需要根据产品的实际数据类型做相应转换,以下表为例:
1.4.3. plc存储区数据说明
设读取的数据存储在以vb100开始的v存储区中,那么对于long\short\float等不同类型数据,应根据plc定义的类型进行转换:
1.5.显示处理
1.5.1. 整型数据转换为十进制后,需要将小数点进行处理,可根据说明书进行小数点的倍率换算,一般是将转换的十进制数整数乘以小数位数。如:
2.modbus-rtu通信协议简单介绍
2.1. 介绍
modbus协议为工控行业的标准协议,分为两种协议,一种为modbus-rtu串口协议,另一种modbus-tcp网口协议。
modbus协议为莫迪康(modicon)开发的,后来被施耐德收购,现在已作为施耐德的标准协议。modbus协议在工业控制中得到了广泛的应用,它已经成为一种通用的工业标准,该协议支持rs-232、rs-422、rs-485和以太网设备。不同厂商生产的控制设备通过modbus协议可以连成通信网络,进行集中监控。许多工控产品,例如plc、变频器、人机界面、dcs和自动化智能仪表等,都在广泛地使用modbus协议。
根据传输网络类型的不同分为串行链路上的modbus和基于tcp/ip协议的modbus。
modbus串行链路协议是一个主-从协议,采用请求-响应方式,主站发出带有从站地址的请求报文,具有该地址的从站接收到后发出响应报文进行应答。
modbus协议中,一条rs-485串行总线中只有一个主站,可以有1~247个从站。modbus通信只能由主站发起,从站在没有收到来自主站的请求时,不会发送数据,从站之间也不会互相通信。
2.2. modbus的报文传输模式---rtu模式
modbus网络上的rtu模式的报文以字节为单位进行传输,一个字节由两个十六进制数组成。传输的每个字节包含一个起始位,8个数据位(先发送最低的有效位),奇偶校验位、停止位与ascii模式的相同,报文最长为256字节。
modbus的rtu模式报文的最后两个字节是循环冗余校验码(crc)。其校验方式是将整个报文的所有字节(不包括最后两个字节)按规定的方式进行位移并进行xor(异或)计算。接收方在收到该字符串时按同样的方式进行计算,并将结果与收到的循环冗余校验码进行比较,如果一致则认为通信正确,如果不一致,则认为通信有误,从站将发送crc错误应答。
modbus中rtu采用crc-16的冗余校验方式。
2.3.modbus功能码
2.4. 通信报文举例说明