ch-92通讯协议(modbusrtu功能码16,06)1

ch-92通讯协议(modbusrtu功能码16,06)1

ID:46681915

大小:75.00 KB

页数:8页

时间:2019-11-26

ch-92通讯协议(modbusrtu功能码16,06)1_第1页
ch-92通讯协议(modbusrtu功能码16,06)1_第2页
ch-92通讯协议(modbusrtu功能码16,06)1_第3页
ch-92通讯协议(modbusrtu功能码16,06)1_第4页
ch-92通讯协议(modbusrtu功能码16,06)1_第5页
资源描述:

《ch-92通讯协议(modbusrtu功能码16,06)1》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、crc=Oxffff;calccrc(writebuf2[0]);calccrc(writebuf2[l]);calccrc(writebuf2[2]);calccrc(writebuf2[3]);calccrc(writebuf2[4]);calccrc(writebuf2[5]);writebuf2

2、^]=crc&Oxff;writebuf2[7]=crc/0xl00;WriteFile(hCom,writebuf2,8,&conmum,NULL);(四)、数据读取ReadFile(hCom,writebuf,8,&

3、comnum,NULL);//读返回值可增加错误处理程序,如地址码错误、CRC码错误判断、通讯故障处理等。CH-92显示屛通讯I协议CH-92T点阵同步屏地址:1,波特率:9600,偶校验。CH-92D点阵脱机屏和CH-92S数码管显示屏地址和通讯参数可设置,设置方法见使用说明。—、通讯协议(—)、通讯传送方式:通讯传送分为独立的信息头和发送的编码数据。以下的通讯传送方式定义也与MODBUSRTU通讯规约相兼容:编码8位二进制起始位1位数据位8位奇偶校验位1位(偶校验位)停止位1位错误校检CRC(冗余循环码)初始结构=》

4、4字节的时间地址码=1字节功能码=1字节数据区=N字节错误校检=16位CRC码结束结构=》4字节的时间地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送來的信息。并且每个从机部有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明I叫送的从机地址。功能码:通讯传送的第二个字节。ModBus通讯规约定义功能号为1到127。本仪表只利用其屮的一部分功能码。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送

5、的功能码与从主机发送來的功能码一样,并表明从机已响应主机进行操作。如來从机发送的功能码的最高位为1(比如功能码人与此同时127),则表明从机没有响应操作或发送出错。数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。CRC码:二字节的错误检测码。(二)、通讯规约:当通讯命令发送至仪器时,符介相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行和应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及

6、错误校验码。如果出错就不发送任何信息。1.信息帧结构信息帧结构地址码功能码数据区错误校验码8位8位Nx8位16位地址码:地址码是信息帧的第一字节(8位),从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的if(!error)McssagcBox(nsctupcommerror11);crror=GctCommStatc(hCom,&deb);if(!error)MessageBox(Hgetcommstate,errorH);dcb.BaudRate

7、=9600;dcb.ByteSize=&dcb.Parity=EVENPARITY;//NOPARITY;dcb.StopBits=ONESTOPBIT;error=SetCommState(hCom,&dcb);(%1)、CRC校验码计算UINTcrcvoidcalccrc(BYTEcrcbuf){BYTEi;crc=crc人crcbuf;for(i=0;i<8;i++){BYTETT;TT=crc&1;crc=crc»1;crc=crc&0x7fff;if(TT==l)crc=crcA0xa001;crc=crc&O

8、xffff;})(%1)、数据发送writebuf2[0]=l;writebuf2[l]=0x6;writebuf2[2J=0;writebuf2[3J=0;writebuf2[4]=datal;writebuf2[5]=data2;从机响应字节数举例从机地址101发送至从机01功能码110多点保存起始地址20000起始地址为0000寄存器数目20003发送3个寄存器的数据CRC码28008由主机计算得到的CRC码(三)、寄存器地址与内容对照表:寄存器地址内容000011第1路高16位(二字节)0001H第1路低16位(

9、二字节)数据为32位(四字节)有符号、负数用补码表示,小数点可设置(见使用说明)二、编程举例下而是一个用VC编写的ModBusRTU通讯的例子(―)、通讯口设置DCBdeb;hCom=CreateFile(HCOM1”,GENERICREADIGENERICWRITE,(),NULL,OPEN_EXISTING,0,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。