
欧陆EV500变频器使用手册簿附录2(通讯协议详情).doc
9页word附录2 RS485通讯协议EV500系列变频器,提供RS485通讯接口,采用国际上通用的ModBus通讯协议进展主从控制,用户可通过PC/PLC实现集中监控(设定变频器控制命令、运行频率、相关功能码的修改,读取变频器的工作状态),以适应特定的使用要求1 协议内容该串行通讯协议定义了串行通讯中传输的信息内容与使用格式其中包括:主机轮询与广播桢、从机响应桢的格式;主机组织的桢内容包括:从机地址〔或广播地址〕、执行命令、数据和错误校验等从机的相应也采用一样的结构,内容包括:动作确认,返回数据和错误校验等如果从机承受桢时发生错误,或不能完成主机要求的动作,它将组织一个故障桢作为响应反应给主机2 应用方式EV500系列变频器与如具备RS232/RS485总线的“单主多从〞控制网络3 总线结构〔1〕接口方式RS485硬件接口〔2〕传输方式异步串行,半双工传输方式在同一时刻主机和从机只能有一个发送数据而另一个承受数据数据在串行异步通信过程中,是以报文的形式,一桢一桢发送〔3〕拓扑结构单主机多从机传输方式从机地址的设定X围为0~31,31为广播通信地址网络中的每个从机的地址具有唯一性这是保证ModBus串行通讯的根底。
4 协议说明EV500系列变频器协议是一种异步串行的主从通讯协议,网络中只有一台设备〔主机〕能够建立协议〔称为“查询/命令〕其它设备〔从机〕只能通过提供数据响应主机的查询/命令,或根据主机的命令/查询做出相应的动作主机在此处指个人计算机〔PC〕﹑工控机和可编程控制器〔PLC〕等,从机指变频器或其他具有一样通讯协议的控制设备主机既能对某个从机单独通信,又能对所有的从机发布广播信息对于单独访问的主机查询/命令,从机都要返回一个信息〔称为响应〕;对于主机发出的广播信息,从机无需反应响应给主机5 通讯桢结构 EV500系列变频器的ModBus协议通信数据格式为RTU〔远程终端单元〕模式新的数据桢总是以至少3.5字节的传输时间静默,作为开始在以波特率计算传输速率的网络上,3.5个字节的传输时间可以轻松把握紧接着传输的数据域依次为:从机地址、操作命令码、数据和CRC校验字,每个域传输字节都是十六进制数据0…9,A…F即使在静默时间内,网络设备始终监视着通讯总线的活动当接收到第一个域信息〔地址信息〕,每个网络设备都对该字节进展确认,随着最后一个字节的传输完成,又有一段3.5字节的传输时间,用来表示本桢的完毕,在此以后,将开始一个新桢的传送。
一个桢的信息必须以一个连续的数据流进展传输,如果整个桢传输完毕前超过1.5个字节以上的间隔时间,接收设备将去除这些不完整的信息,并错误认为随后一个字节是新一桢的地址域局部,同样的,如果一个新桢的开始与前一个桢的间隔时间小于3.5个字节时间,接收设备将认为它是前一桢的继续,由于桢的错乱,最终CRC校验值不正确,导致通讯故障RTU桢的标准结构桢头从机地址域ADDR0~31(31为广播地址0)执行命令CMD03H:读从机参数06H:写从机参数数据域DATA(N-1)…DATA(0)2*N个字节的数据,该局部为通讯的主要内容,也是通讯中数据交换的核心CRC CHK低位校验码:CRC校验值CRC CHK高位桢尾6 命令码与通讯数据描述命令码:03H〔0000 0011〕,读取N个字〔Word〕(最大可以连续读取5个字);例如:从机地址为01H的变频器,上位机假如想读取P0.04参数值,如此该桢的结构描述如下:RTU主机命令信息桢头从机地址域ADDR01H执行命令CMD03H启始地址高位F0H启始地址低位04H数据个数高位00H数据个数低位01HCRC CHK低位CRC CHK高位桢尾RTU从机命令信息桢头从机地址域ADDR01H执行命令CMD03H读取数据的字节数01高位低位CRC CHK低位CRC CHK高位桢尾命令码:06H〔0000 0110〕,向某个参数地址中写一个字。
例如:向00从机地址为00H的变频器的P0.03参数写入20.00Hz(实际写入数据2000,对应16进制数据7D0H)RTU主机命令信息桢头从机地址域ADDR00H执行命令CMD06H启始地址高位F0H启始地址低位03H数据个数高位07H数据个数低位D0HCRC CHK低位48HCRC CHK高位B7H桢尾RTU从机命令信息桢头从机地址域ADDR00H执行命令CMD06H启始地址高位F0H启始地址低位03H数据个数高位07H数据个数低位D0HCRC CHK低位48HCRC CHK高位B7H桢尾启始地址有两种表示方式,如:PX.YZ参数 ,可表示为FX YZ〔高位在前,低位在后〕,也可表示为0X YZ当操作命令为06时,上位机采用第一种地址表示方式,写入的数据会存入E2PROM中,采用第二种地址表示方式,只改变RAM中的数据,可减少E2PROM的操作次数上位机不论是读命令〔03〕还是写命令〔06〕,都可能发生异常,此时,变频器将会返回错误代码RTU从机返回错误信息桢头从机地址域ADDRXX异常提示86H异常代码高位00异常代码低位0XCRC CHK低位XXCRC CHK高位XX桢尾异常代码意义说明:01H: 无效命令02H: 无效地址03H: 无效数据04H: CRC错误05H: 参数无法修改6.2 通讯桢校验方式 桢的错误校验方式主要包括两个局部的校验,即字节的位校验〔奇/偶校验〕和桢的整个数据校验〔CRC校验〕6.2.1字节校验 用户可以根据需要选择不同的位校验方式,也可以选择无校验。
奇校验的含义:在数据传输前附加一位奇校验位,用来表示传输的数据中“1〞的个数是奇数还是偶数,为奇数时,校验位置为“0〞,否如此置“1〞,用以保持数据的奇偶性不变偶校验的含义:在数据传输前附加一位偶校验位,用来表示传输的数据中“1〞的个数是奇数还是偶数,为偶数时,校验位置为“0〞,否如此置“1〞,用以保持数据的奇偶性不变 例如,需要传输“11001110〞,数据中含有5个〞1〞,如果用偶校验,其偶校验位“1〞,如果采用奇校验,其奇校验位为“0〞,传输数据时,奇偶校验位经过计算放在桢的校验位的位置,承受设备也要进展奇偶校验,如果发现承受的数据奇偶性与预置的不一致,就认为通讯发生了错误6.2.2 CRC校验方式---CRC(Cyclical Redundancy Check) 使用RTU格式,桢包括了基于CRC方法计算的桢错误检测域CRC域检测了整个桢的内容CRC域是两个字节,包含16位的二进制它由传输设备计算后参加到桢中承受设备重新计算接收到桢的CRC,并与接收到的CRC域中的值比拟,如果不相等,如此说明传输有错误 CRC是先存入0XFFFF,然后调用一个过程将桢中字节与当前存放器中的值进展处理。
仅每个字节中8Bit数据对CRC有效,起始位和停止位以与奇偶校验位均无效CRC产生过程中,每个8位字节都单独和存放器内容相异或〔XOR〕,结果向最低有效位方向移动,最高有效位以0填充LSB被提取出来检测,如果LSB为1,存放器单独和预置的值相异或,如果LSB为0,如此不进展整个过程要重复8次在最后一位〔第8位〕完成后,下一个8位字节又单独和存放器内容相异或最终存放器中的值,是桢中所有的字节都执行之后的CRC值CRC这种计算方法采用国际标准的CRC校验法如此,用户在编辑CRC算法时,可以参考相关的CRC标准算法,编写出真正符合要求的CRC计算程序现在提供一个CRC计算的简单函数给用户参考〔用C语言编程〕:unsigned int crc_cal_value(unsigned char *data_value,unsigned char data_length){ int i; unsigned int crc_value=0xffff; while(data_length--) {crc_value^=*data_value++; for(i=0;i<8;i++) { if(crc_value&0x0001)crc_value=(crc_value>>1)^0xa001; else crc_value=crc_value>>1; } }Return(crc_value);}在阶梯逻辑中,CKSM根据桢内容计算CRC值,采用查表法计算,这种方法程序简单,运算速度快,但程序所用ROM空间较大,对程序空间有要求的场合,请慎重使用。
6.4 通讯地址的定义 该局部是通讯数据的地址定义,用于控制变频器的运行、获取变频器的状态信息与变频器相关功能参数设定功能参数的地址在前面已有说明,如:PX.YZ参数 ,可表示为FX YZ〔高位在前,低位在后〕,也可表示为0X YZ当操作命令为06时,上位机采用第一种地址表示方式,写入的数据会存入E2PROM中,采用第二种地址表示方式,只改变RAM中的数据,可减少E2PROM的操作次数其他功能的地址说明功能说明地址定义数据意义说明R/W特性监控参数1000H1001H..1015HD-0D-1..D-21R运行命令2000H0000H:停机0001H:正转运行0002H:反转运行0003H:正转点动0004H:反转点动0005H:故障复位W运行状态3000H0001H:正转运行0002H:反转运行0003H:待机0004H:故障中R频率给定4000HW变频器故障5000H返回故障编号〔参见第六章〕R7. X例1〕读00号变频器当前的运行频率和输出电流,此时变频器输出频率为21.85Hz,输出电流为0A,上位机发送指令:00 03 10 00 00 02 C1 1A变频器返回:00 03 00 04 08 89 00 00 51 412〕把00号变频器P0.03参数值改为10.00Hz,上位机发送信息:00 06 F0 03 07 D0 48 B7变频器返回00 06 F0 03 07 D0 48 B73〕广播变频器正转运行指令,上位机发送信息:1F 06 20 00 00 01 40 74 〕1F06F00303E8 49 CA4) 当变频器,发生故障,上位机发送复位信号:00 06 20 00 00 05 43 D8 / 。
