关键字:
语言:English

新闻资讯
新闻资讯

字号:    

485通信协议

浏览次数: 日期:2018-08-02 19:14

  485通信协议_信息与通信_工程科技_专业资料。串行通讯协议 附件说明:本文件与我公司说明书一起配送给用户。 在本系列变频器中,提供RS232/RS485通信接口,用户可通过PC/PLC实现集中控制(设 定变频器运行命令,功能码参数,读取变频器的工

  串行通讯协议 附件说明:本文件与我公司说明书一起配送给用户。 在本系列变频器中,提供RS232/RS485通信接口,用户可通过PC/PLC实现集中控制(设 定变频器运行命令,功能码参数,读取变频器的工作状态及故障信息),以适应特定的使用 要求。 1.协议内容 该串行通信协议定义了串行通信中传输的信息内容及使用格式。 其中包括: 主机轮询 (或 广播)格式;主机的编码方法,内容包括:要求动作的功能码,传输数据和错误校验等。从 机的响应也是采用相同的结构,内容包括:动作确认,返回数据和错误校验等。如果从机在 接收信息时发生错误, 或不能完成主机要求的动作, 她将组织一个故障信息作为响应反馈给 主机。 2.应用方式 变频器接入具备RS232/RS485总线的“单主多从”PC/PLC控制网络。 3.总线) 传输方式 异步串行,半双工传输方式。在同一时刻主机和从机只能有一个发送数据而另一个只能接 收数据。数据在串行异步通信过程中,是以报文的形式,一帧一帧发送。 (3) 拓扑结构 单主机多从机系统。从机地址的设定范围为1~247,0为广播通信地址。网络中的从机地址必 须是唯一的。 4.协议说明 本系列变频器通信协议是一种异步串行的主从ModBus通信协议, 网络中只有一个设备 (主机) 能够建立协议(称为“查询/命令”)。其他设备(从机)只能通过提供数据响应主机的“查 询/命令”, 或根据主机的“查询/命令”做出相应的动作。 主机在此是指个人计算机 (PC) , 工业控制设备或可编程逻辑控制器(PLC)等,从机是指本系列变频器。主机既能对某个从 机单独进行通信, 也能对所有下位从机发布广播信息。 对于单独访问的主机“查询/命令”, 从机都要返回一个信息 (称为响应) 对于主机发出的广播信息, , 从机无需反馈响应给主机。 5.通讯帧结构 本系列变频器的ModBus协议通信数据格式有两种,分别为RTU(远程终端模式)模式和 ASCII(American Standard Code for Information International Interchange)模式: 在RTU模式中,每个字节格式如下: 8位二进制,组成16进制0-9\A-F. 每个8位帧中,包含2个16进制字符. 在ASCII模式中:每个字节格式如下: 一个8位帧中,表示一个ASCII字符. 具体定义如下表所示: ASCII码表 字符 ASCII 字符 ASCII “0” 0x30 “A” 0x41 “1” 0x31 “B” 0x42 “2” 0x32 “C” 0x43 “3” 0x33 “D” 0x44 “4” 0x34 “E” 0x45 “5” 0x35 “F” 0x46 “6” 0x36 “7” 0x37 “8” 0x38 “9” 0x39 在使用 RTU 模式, 消息发送至少要以 3.5 个字符时间的停顿间隔开始。 在网络波特率下多样 的字符时间, 这是最容易实现的(如下图的 T1-T2-T3-T4 所示)。 传输的第一个域是设备地址。 可以使用的传输字符是十六进制的 0...9,A...F。网络设备不断侦测网络总线,包括停顿间 隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在 最后一个传输字符之后, 一个至少 3.5 个字符时间的停顿标定了消息的结束。 一个新的消息 可在此停顿后开始。整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过 1.5 个字符时间的停顿时间, 接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址 域。同样地,如果一个新消息在小于 3.5 个字符时间内接着前个消息开始,接收的设备将认 为它是前一消息的延续。这将导致一个错误,因为在最后的 CRC 域的值不可能是正确的。 RTU帧格式: 帧头START 从机地址ADR 命令码CMD 数据内容DATA(N-1) 数据内容DATA(N-2) …… 数据内容DATA0 CRC CHK低位 CRC CHK高位 END 检测值: CRC值。 3.5个字符时间 3.5个字符时间 通讯地址:1~247 (0为广播地址) 03:读从机参数;06:写从机参数 资料内容: 功能码参数地址,功能码参数个数,功能码参数值等。 在 ASCII 模式中,帧头为“:”(0x3A),帧尾为 0x0D, 0x0A.其余数据皆为 ASCII 码数据进行 发送.先发送高 4 位位元组,然后发送低位位元组.数据采用 LRC 校验, 校验和等于所有参与 校验数据的字符和的补码. ASCII 帧格式: 帧头START 从机地址 ADR Hi 从机地址 ADR Lo 命令码CMD Hi 命令码CMD Lo 数据内容DATA(N-1) 数据内容DATA(N-2) …… 数据内容DATA0 LRC CHK Hi LRC CHK Lo END Hi END Lo LRC检测值: 8-bit 检测码由2个ASCII码组成。 CR(0x0D) LF(0x0A) 资料内容: N*8-bit 数据内容有2n个ASCII码组成. N=25,最多有50个ASCII码。 命令码: 8-bit 命令码有2个ASCII码组成 “:”(0x3A) 通讯地址:8-bit 地址有2个ASCII码组成 6.命令码和通讯数据描述 命令码:03H,读取N个字(Word)(最多可以读取20个字) 例如:从机地址为01的变频器的启始地址0004连续读取连续2个值,该帧的结构描述如下: ASCII格式:主机命令信息 帧头START ADR CMD 启始地址高位 启始地址低位 数据个数高位 数据个数低位 LRC CHK Hi LRC CHK Lo END Hi END Lo “:” “0” “1” “0” “3” “0” “0” “0” “4” “0” “0” “0” “2” “F” “6” CR(0x0D) LF(0x0A) 从机回应信息 帧头START ADR CMD 字节个数 数据地址0004高位 数据地址0004低位 数据地址0005高位 数据地址0005低位 LRC CHK Hi LRC CHK Lo END Hi END Lo “:” “0” “1” “0” “3” “0” “4” “0” “0” “0” “0” “0” “0” “0” “0” “F” “6” CR(0x0D) LF(0x0A) RTU格式:主机命令信息 帧头START ADR CMD 启始地址高位 启始地址低位 数据个数高位 数据个数低位 CRC CHK Lo CRC CHK Hi END 3.5个字符时间 01H 03H 00H 04H 00H 02H 85H CA H 3.5个字符时间 从机回应信息 帧头START ADR CMD 字节个数 数据地址0004高位 数据地址0004低位 数据地址0005高位 数据地址0005低位 CRC CHK Lo CRC CHK Hi END 3.5个字符时间 01H 03H 04H 00H 00H 00H 00H 43H 07H 3.5个字符时间 命令码:06H,写1个字(Word) 例如:将5000(1388H)写到从机地址02H变频器的0008H地址处,该帧的结构描述如下: RTU格式:主机命令信息 帧头START ADR CMD 启始地址高位 启始地址低位 数据个数高位 数据个数低位 CRC CHK Lo CRC CHK Hi END 3.5个字符时间 02H 06H 00H 08H 13H 88H 05H 6DH 3.5个字符时间 从机回应信息 3.5个字符时间 02H 06H 00H 帧头START ADR CMD 启始地址高位 启始地址低位 数据个数高位 数据个数低位 CRC CHK Lo CRC CHK Hi END 08H 13H 88H 05H 6DH 3.5个字符时间 “:” “0” “2” “0” “6” “0” “0” “0” “8” “1” “3” “8” “8” “5” “5” CR(0x0D) LF(0x0A) 从机回应信息 “:” “0” “2” “0” “6” “0” “0” “0” “8” “1” “3” “8” “8” “5” “5” CR(0x0D) LF(0x0A) ASCII格式:主机命令信息 帧头START ADR CMD 被写数据地址高位 被写数据地址低位 数据内容高位 数据内容低位 LRC CHK Hi LRC CHK Lo END Hi END Lo 帧头START ADR CMD 被写数据地址高位 被写数据地址低位 数据内容高位 数据内容低位 LRC CHK Hi LRC CHK Lo END Hi END Lo 校验方式——CRC校验方式:CRC(Cyclical Redundancy Check) 使用RTU帧格式,消息包括了基于CRC方法的错误检测域。CRC域检测了整个消息的内容。CRC 域是两个字节,包含16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计 算收到消息的CRC,并与接收到的CRC域中的值比较,如果两个CRC值不相等,则说明传输有 错误。 CRC是先存入0xFFFF, 然后调用一个过程将消息中连续的8位字节与当前寄存器中的值 进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。 CRC产生过程中,每个8位字符都单独和寄存器内容相异或(XOR),结果向最低有效位方向 移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值相异 或,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8 位字节又单独和寄存器的当前值相异或。 最终寄存器中的值, 是消息中所有的字节都执行之 后的CRC值。CRC添加到消息中时,低字节先加入,然后高字节。 CRC简单函数如下: unsigned int crc_chk_value(unsigned char *data_value,unsigned char length) { unsigned int crc_value=0xFFFF; int i; while(length--) { crc_value^=*data_value++; for(i=0;i8;i++) { if(crc_value&0x0001) { crc_value=(crc_value1)^0xa001; } else { crc_value=crc_value1; } } } return(crc_value); } LCR校验方式:由地址到数据结果加起来的值.如下例所示: 0x02+0x06+0x00+0x08+0x13+0x88=0xAB,取补后为0x55 通信参数的地址定义 该部分是通信的内容,用于控制变频器的运行,变频器状态及相关参数设定。 读写功能码参数(有些功能码是不能更改的,只供厂家使用): 功能码参数地址标示规则: 以功能码组号和标号为参数地址表示规则: 高位字节:F0~FF 低位字节:00~FF 如:F3.12,地址表示为F30C; 注意: 有些参数在变频器处于运行状态时,不可更改;有些参数不论变频器处于何种状态,均不可 更改;更改功能码参数,还要注意参数的范围,单位,及相关说明。 另外,由于EEPROM频繁被存储,会减少EEPROM的使用寿命,所以,有些功能码在通讯的模式 下,无须存储,只要更改RAM中的值就可以了。要实现该功能,只要把该功能码地址的高位F 变成0就可以实现。相应功能码地址表示如下: 高位字节:00~0F 低位字节:00~FF 如:功能码F3.12不存储到EEPROM中,地址表示为030C; 该地址表示只能做写RAM,读时,为初始数据。 定义 对参数进行读写操作 参数地址 FXXXH或者0XXXH 功能说明 FX或者0X表示区号, XX表示区内码 00B:无功能 Bit0~1 01B:停机 10B:启动 11B:点动运行 00B:无功能 01B:故障复位 10B:自由停机 11B:点动停机 00B:无功能 Bit4~5 01B:正方向 10B:反方向 11B:换向指令 Bit6~15 保留 2000H 对变频器的操作指令 Bit2~3 2001H 2002H 变频器状态监测 2100H 2101H 2102H 2103H 2104H 2105H 2106H 2107H 2108H 2109H 210AH 210BH 210CH 210DH 210EH 210FH 设定频率 保留 故障信息 变频器状态 频率设定(小数 2 位) 输出频率(小数 2 位) 输出电流(小数 1 位) 母线H

所属类别: 行业新闻

.

联系我们
电  话:0756-5551333
传  真:0756-5551838 
E-mail:info@hansen.com.cn
 
留言类别:
*
留言内容:
* 已输入字符:0
小于等于500字符
验证码: