1、.数据nCRC高字节CRC低字节地址域 功能域 数据域 错误检测域帧定界 :MODBUS RTU方式下,每两个字符之间发送或者接收的时间间隔不能超过1.5倍 字符传输时间。如果两个字符时间间隔超过了3.5倍的字符传输时间,规约就认为一帧数据已经接收,新的一帧数据传输开始。 ASCII方式ASCII模式:LRC高字节LRC低字节回车换行帧定界:“:”帧起始 “CR LF” 帧结束 ASCII方式用两个ASCII字符表示一个8位数据,比如16进制的3A用字符“3”和字符“A”表示。 MODBUS TCPMODBUS TCP模式下,由于模块的地址由IP地址确定,所以不再有地址域内容,考虑到TCP网络
2、是可靠的数据传输网络,故不再有校验数据。但是考虑到在IP网上数据到达的顺序可能与我们预期的数据不一致,故增加了一个数据序号,考虑到在MODBUS TCP协议上承载MODBUS协议,还在头部数据中增加了一个地址域。 MODBUS TCP / MODBUS 桥STC-511 可以用于MODBUS TCP 到MODBUS 的桥设备使用,作为MODBUS桥设备时,需要在地址域上加上地址,另外对应的串口需要设置为MODBUS主设备。由于存在两个串口设备,地址域的最高位 MSB=1 则访问串口2, MSB=0 则访问串口1。地址域广播地址是把低7位全部置为1,在发送到MODBUS总线时,地址修改为0。 地
3、址域为0 表示不访问MODBUS 串口设备。 支持命令我们目前所支持的功能码非常有限,主要包括:01 READ COIL STATUS02 READ INPUT STATUS03 READ HOLDING REGISTERS04 READ INPUT REGISTERS05 FORCE SINGLE COIL06 PRESET SINGLE REGISTER 15 FORCE MULTIPLE COILS16 FORCE MULTIPLE REGISTERS20 READ 21 WRITE 24 READ FIFO QUEUE 读继电器状态功能码: 01数据起始地址:0000100008数据长
4、度:不大于08 (因为只有8个输出继电器) 说明:读取输出继电器的状态。数据说明: 描述说明00001第1个输出继电器1吸合 0断开00002第2个输出继电器00003第3个输出继电器00004第4个输出继电器00005第5个输出继电器00006第6个输出继电器00007第7个输出继电器00008第8个输出继电器00009第9个输出继电器(虚拟)00010第10个输出继电器(虚拟)00011第11个输出继电器(虚拟)00012第12个输出继电器(虚拟)00013第13个输出继电器(虚拟)00014第14个输出继电器(虚拟)00015第15个输出继电器(虚拟)00016第16个输出继电器(虚拟)
5、MODBUS 请求功能码1 BYTE0X01起始地址2 BYTE0X0000 TO 0XFFFF读取数量1 TO 2000(0X7D0)MODBUS 响应字节计数N线圈状态n BYTEn =N or N+1N =读取数量/8 如果余数不为0 则N=N+1错误 响应0X01+ 0X80错误代码0x1 or 0x2 or 0x3 or 0x4举例请求响应域名称数据(hex)01起始地址高(字节)0003起始地址低(字节)1327(h)20状态CD读取数量高(字节)35(h)28状态6B读取数量低(字节)38(h)36状态05 读开关量输入 021000011000016 不大于16 (因为只有16
6、路输入) 读取输入开关量的状态。 输入的量改变状态需要经过0.1S滤波抗干扰后才会变化。如果用户想知道改变的时刻,需要读取系统的FIFO中的SOE事件记录或者读取文件中的SOE记录。 输入量的每次改变都会累积到该路对应的32位计数器上,对于计数,输入的最高频率可以是1KHz。100001第1路开关量状态0 没有通电 1接通电源100002第2路开关量状态100003第3路开关量状态100004第4路开关量状态100005第5路开关量状态100006第6路开关量状态100007第7路开关量状态100008第8路开关量状态100009第9路开关量状态100010第10路开关量状态100011第11
7、路开关量状态100012第12路开关量状态100013第13路开关量状态100014第14路开关量状态100015第15路开关量状态100016第16路开关量状态0X02输入状态0X02+ 0X8002C4204(h)197状态AC212(h)205状态DB16218(h)213状态35 读保持寄存器 03400001400128不大于125 (因为通信缓冲区的限制) 读取保持寄存器的值。 读取的是16位整数或者无符合整数。400001当日时间 系统当日毫秒时钟低16位 400002当日时间系统当日毫秒时钟高16位400003系统日期低16位400004系统日期高16位400005第1路开关量
8、脉冲计数低16位计数400006高16位计数400007第2路开关量脉冲计数400008400009第3路开关量脉冲计数400010400011第4路开关量脉冲计数400012400013第5路开关量脉冲计数400014400015第6路开关量脉冲计数400016400017第7路开关量脉冲计数400018400019第8路开关量脉冲计数400020400021第9路开关量脉冲计数400022400023第10路开关量脉冲计数400024400025第11路开关量脉冲计数400026400027第12路开关量脉冲计数400028400029第13路开关量脉冲计数400030400031第14路
9、开关量脉冲计数400032400033第15路开关量脉冲计数400034400035第16路开关量脉冲计数400036400037直流量1系数第1路直流系数,系统调校400038直流量2系数第2路直流系数,系统调校400039直流量3系数第3路直流系数,系统调校400040直流量4系数第4路直流系数,系统调校400041直流量5系数第5路直流系数,系统调校400042直流量6系数第6路直流系数,系统调校400043直流量7系数第7路直流系数,系统调校400044直流量8系数第8路直流系数,系统调校400045模拟量1输出第1路直流模拟量输出10000 对应满量程(10V 或20mA)40004
10、6400047模拟量1输出系数系统调校400048模拟量2输出系数400049模拟量1输出偏移量400050模拟量2输出偏移量400051闸门时间0.05s为单位,用于各路频率测量40060脉冲输出1的脉冲宽度单位1ms 0 表示不输出40061脉冲输出2的脉冲宽度40063脉冲输出1的周期单位1ms 0 表示单次脉冲输出40064脉冲输出2的周期保留40071第1路模拟量定值报警输出继电器设置最高位(BIT15)表示该功能投入,BIT14 表示继电器动作性质0 表示报警后一直吸合1 表示报警后吸合设置时间后释放低6位为动作继电器编号,0 表示第1路,40072第1路模拟量定值报警设置模拟量的
11、值40073第2路模拟量定值报警输出继电器设置同 4007140074第2路模拟量定值报警设置40075第3路模拟量定值报警输出继电器设置40076第3路模拟量定值报警设置40077第4路模拟量定值报警输出继电器设置40078第4路模拟量定值报警设置40079第5路模拟量定值报警输出继电器设置40080第5路模拟量定值报警设置40081第6路模拟量定值报警输出继电器设置40082第6路模拟量定值报警设置40083第7路模拟量定值报警输出继电器设置40084第7路模拟量定值报警设置40085第8路模拟量定值报警输出继电器设置40086第8路模拟量定值报警设置400101MODBUS 地址4001
12、02IP地址高16位400103IP地址低16位400104网关地址高16位400105网关地址低16位400106子网掩码高16位400107子网掩码低16位400108MAC地址高16位400109MAC地址中16位400110MAC地址低16位400117继电器设置最低位对应第1路继电器输出某位1,对应的继电器在得到吸合命令后,吸合400118设置时间后释放,也就是点动功能400118继电器释放时间单位 0.05s400119串口1设置0XQWST 400120串口2设置0XQWST400121串口1延时设置单位1ms400122串口2延时设置400123系统时间年(高字节) 月 压缩B
13、CD码400124日(高字节)小时 压缩BCD码400125分(高字节)秒 压缩BCD码400126毫秒(最大999毫秒)0XQWST 的含义Q 为二进制最高4位,W为次高4位,S位次低4位,T为最低4位Q 为串口的奇偶设置,Q=0X1 为N 8 1 Q=0XD 为E 8 1 Q=0XE为 O 8 1S 为主从设备设置, S=0 该串口为从设备, S=1该串口为主设备,用于MODBUS TCP / MODBUS 桥设备。T 为串口波特率设置,T波特率9600130026003120042400548006719200838400957600ABCDEF关于系统时间的说明:当日毫秒时钟是指从当日
14、0:00开始计时的以毫秒为单位的一个32位数,其最大计数为86,400,000。系统日期是指从2000年1月1日开始的天数,系统中保留了2000年2099年的日期,对应2100年以后的日期,系统不能保证正确。系统时间还有3个保持寄存器,保存年、月、日、时、分、秒,是系统实时钟芯片的时钟,与系统的时间和日期是相互关联的,设置一个,则会同时也设置另外一个而不用外界干预。0X031 TO 125(0X7D)N*2N*2 BYTE0X03+ 0X8006寄存器高(108)寄存器低(108)2B寄存器高(109)寄存器低(109)寄存器高(110)寄存器低(110)64 读输入寄存器 0430001-3
15、0024不大于12 读取输入数据。 读出值为16位整数300001第1路直流模拟量5000 满量程(5V或者20ma)300002第2路直流模拟量300003第3路直流模拟量300004第4路直流模拟量300005第5路直流模拟量300006第6路直流模拟量300007第7路直流模拟量300008第8路直流模拟量300009第1路开关量信号频率闸门时间内的计数值300010第2路开关量信号频率300011第3路开关量信号频率300012第4路开关量信号频率300013第5路开关量信号频率300014第6路开关量信号频率300015第7路开关量信号频率300016第8路开关量信号频率300017第9路开关量信号频率300018第10路开关量信号频率300019第11路开关量信号频率300020第12路开关量信号频率300021第13路开关量信号频率300022第14路开关量信号频率300023第15路开关量信号频率300024第16路开关量信号频率0X040X04+ 0X800408输入寄
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1