SV300MODBUSASCII通訊協定文號:版別:0.A頁次:11.通信数据结构SV300系列机种接受计算机或其它上位控制器,经由RS485或RS232做通讯控制,使用ModbusRTU模式及ModbusASCII模式作为通信协议。信息桢的最大长度为80比特。1.1硬件安装从站SV300站别码01从站SV300站别码02从站SV300站别码03从站SV300站别码FE上位控制器(PLC/HMI或PC)选配卡选配卡选配卡选配卡RS-485InterfaceABABABAB收信送信**于通信联机之启始点与最终点请加上120Ω,1/4w之终端阻抗**1.2数据桢ASCIIMODESTX(3AH)起始字符=3AH地址码高位地址码代位通信位置(站别):由2个ASCII码组合功能码高位功能码低位功能码(command):由2个ASCII码组合指令起始地址指令起始地址指令起始地址指令起始地址命令起始位:由4个ASCII码组合数据长度数据长度数据长度数据长度数据起始到结束的长度:由4个ASCII码组合LRC校验高位LRC校验低位LRC检查码:由2个ASCII码组合END高位END低位结束字符:ENDHi=CR(0DH),ENDLo=LF(0AH)120Ω1/4w120Ω1/4wCreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:2数据桢RTUMODEMASTER(PLC等)相对于SLAVE指令,SLAVE应答。收受信的构成SLAVE地址如右所示,依指令(机能)的内容,DATA部的长度不一。机能代码DATACRCCHECK**指令信号与应答信号间必须维持10mS之间隔信号间隔1.3通信地址(Address)00H:对所有驱动器广播(Broadcast)01H:对第01地址驱动器0FH:对第15地址驱动器10H:对第16地址驱动器以此类推....,最大可到254(FEH)1.4功能码(Function)03H:读出缓存器内容06H:写入一个WORD至缓存器(缓存器写入)08H:回路测试10H:写入多笔数据至缓存器(复数缓存器写入)2.CMS(和校验与超时定义)2.1冗余码校验例:地址01H功能03H指令01H00H数据长度0AH-----------------------0FH------------取二补码和校验=F1HCS(H)=46H(ASCII)CS(L)=31H(ASCII)CreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:32.2CRCCHECK:CRC检查码是由Slave地址到DATA结束,请以下述方式算出。(1).取一个16bit之缓存器设定值=FFFFH(全部为1),作为CRC缓存器。(2).将指令信号第一个字节与16-bitCRC缓存器的低字节做¡异或¡运算后,将其结果再存入此CRC缓存器内。(3).将此CRC缓存器之值向右移出一位,并将0填入高位处之最左一位。检查此CRC缓存器之值。(4).如果是0时,将步骤(3)的新值存入CRC缓存器内,如不为0,将此CRC缓存器与A001h(1010000000000001)值再¡异或¡,将结果存入CRC缓存器内。(5).重复步骤(3)与(4),将8-bit全部运算完成。(6).重复步骤(2)到(5),取下一个8-bit的讯息指令,直到所有讯息指令运算完成,最后得到的CRC缓存器的值,即为CRC检查码,此CRC检查码于传出时必须将低位先传输,再传输高位.例如CRC检查码值为1241hex时,CRC-16上位必须设定41hex,CRC-16下位必须设定12hexCRC计算应用程序UWORDch_sum(UBYTElong,UBYTE*rxdbuff){BYTEi=0;UWORDwkg=0xFFFF;while(long--){wkg^=rxdbuff++;for(i=0;i8;i++){if(wkg&0x0001){wkg=(wkg1)^0xa001;}else{wkg=wkg1;}}}return(wkg);}CreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:42.3超时(400ms)&重试(最大:2次)PC-LINKS400msPC-LINKS400msPC-LINKS(当INV(PLC)超时或和校验出错或INV(PLC)应答错误代码=和校验出错或PC-LINK重试两次之后仍出错,将会显示¡ERR6¡。CreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:53.指令起始地址功能功能说明指令起始地址数据长度(字)读梯形图第1页200H0AH读梯形图第2页20AH0AH读梯形图第3页214H0AH读梯形图第4页21EH0AH读梯形图第5页228H0AH读1号计时器功能264H05H读2号计时器功能269H05H读3号计时器功能26EH05H读4号计时器功能273H05H读5号计时器功能278H05H读6号计时器功能27DH05H读7号计时器功能282H05H读8号计时器功能287H05H读1号计数器功能28CH04H读2号计数器功能290H04H读3号计数器功能294H04H读4号计数器功能298H04H读1号编码器功能2ACH05H读2号编码器功能2B1H05H读3号编码器功能2B6H05H读4号编码器功能2BBH05H读1号模拟功能2C0H03H读2号模拟功能2C3H03H读3号模拟功能2C6H03H读4号模拟功能2C9H03H读控制功能12CCH06H读控制功能22D2H06H读控制功能32D8H06H读控制功能42DEH06H读控制功能52E4H06H读控制功能62EAH06H读控制功能72F0H06H读控制功能82F6H06H03读所有线圈状态2FCH~303H08HCreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:6功能功能说明指令起始地址数据长度(字)写梯形图第1页200H0AH写梯形图第2页20AH0AH写梯形图第3页214H0AH写梯形图第4页21EH0AH写梯形图第5页228H0AH写1号计时器功能264H04H写2号计时器功能269H04H写3号计时器功能26EH04H写4号计时器功能273H04H写5号计时器功能278H04H写6号计时器功能27DH04H写7号计时器功能282H04H写8号计时器功能287H04H写1号计数器功能28CH03H写2号计数器功能290H03H写3号计数器功能294H03H写4号计数器功能298H03H写1号编码器功能2ACH04H写2号编码器功能2B1H04H写3号编码器功能2B6H04H写4号编码器功能2BBH04H写1号模拟功能2C0H03H写2号模拟功能2C3H03H写3号模拟功能2C6H03H写4号模拟功能2C9H03H写控制功能12CCH06H写控制功能22D2H06H写控制功能32D8H06H写控制功能42DEH06H写控制功能52E4H06H写控制功能62EAH06H写控制功能72F0H06H10写控制功能82F6H06H06写所有线圈状态2FCH01HCreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:7功能功能说明指令起始地址数据长度(字)运行与停止(PLC)330H1清除所有记忆(ClearPLCMemory)331H106密码332H1注:¡写梯形图¡与¡清除所有记忆¡在PLC运转模式下不可写入与清除4.错误代码ASCIIModeRTUModeSTX¡:¡从站地址02H¡0¡功能83H地址¡1¡异常代码52H¡8¡上位C0H功能¡6¡CRC-16下位CDH¡5¡异常码¡1¡¡2¡LRC校验¡8¡¡CR¡结束¡LF¡当通讯连接时,如果产生错误,此时驱动器会响应错误码,此错误码的功能是将原来的功能码与80H作¡与¡运算,响应给主控系统,让主控系统知道有错误产生。错误代码内容51机能代码错误52缓存器番号不良53个数不良54数据设定错误55写入模式错误CreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:85.指令起始地址说明5.1Ladder(*)pagereadASCIIModePCINV(PLC)INV(PLC)PC3AHSTX3AHSTX30H30H31H站别31H站别30H30H33H机能码33H机能码30H31H32H34H数据长度(Byte)30H30H*缓存器编号将PLC[0]~PLC[19]的资料送出共40Byte30H?30H?CHECKSUM,30H0DHEND41H数据长度0AHEND??CHECKSUM0DHEND0AHENDRTUModePCINV(PLC)INV(PLC)PC01H站别01H站别03H机能码03H机能码02H14H数据长度00H*缓存器编号00H将PLC[0]~PLC[19]的资料送出共20Byte0AH数据长度?CRC上位CRC上位?CRC下位CRC下位CreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:95.2读功能块5.2.1读计时器功能块ASCIIModePCINV(PLC)INV(PLC)PC3AHSTX3AHSTX30H30H31H站别31H站别30H30H33H机能码33H机能码30H30H32H41H数据长度(Byte)36H34H*缓存器编号*将PLC[200]~PLC[209]的资料送出共20Byte30H?30H?CHECKSUM,30H0DHEND35H数据长度0AHEND??CHECKSUM0DHEND0AHENDRTUModePCINV(PLC)INV(PLC)PC01H站别01H站别03H机能码03H机能码02H0AH数据长度64H*缓存器编号00H*将PLC[200]~PLC[209]的资料送出共10Byte05H数据长度?CRC上位CRC上位?CRC下位CRC下位CreatedwithnovaPDFPrinter().Pleaseregistertoremovethismessage.SV300MODBUSASCII通訊協定文號:版別:0.A頁次:105.2.2读计数器功能块ASCIIModePCINV(PLC)INV(PLC)PC3AHSTX3AHSTX30H30H31H站别31H站别30H30H33H机能码33H机能码30H30H32H38H数据长度(Byte)38H43H*缓存器编号*将PLC[280]~PLC[287]的资料送出共16Byte30H?30H?CHECKSUM,30H0DHEND34H数据长度0AHEND??CHECKSUM0DHE