ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:37.30KB ,
资源ID:19246626      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19246626.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(记录仪与上位机通讯协议Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

记录仪与上位机通讯协议Word文件下载.docx

1、Length11011(0xb)数据块正文的长度,分2个字节Length2数据块正文的长度Data1000(0x8)数据块正文CRC1001(0x9)CRC数据EndCom1111通信命令结束1110(0xe)保留1111(0xf)地址划分表节点节点地址广播节点0000,0000所有在线的节点都要接收主机节点0001,xxxx可以存在16台主机节点记录仪节点01xx,xxxx可以存在64台记录仪节点参数解释:1、 Command为一个字节,以0b1010,xxxx或0b1101,xxxx表示。高四位1010或0b1101为命令标志;低四位xxxx(00001111)表示具体的命令。2、 End

2、Com以一个字节0b1010,1111表示。3、 Status为 一个字节,以0b1011,xxxx表示。高四位1011为状态标志;低四位xxxx 为具体的状态信息,其中0000表示操作成功,00011111为常见的通信出错信息。具体的出错代码请参见错误代码表,并将在日后的程序开发中继续完善。4、 Source为源地址,即通信数据发送者的地址,为一个字节。具体信息见地址划分表。5、 Dest为目的地址,即通信数据接收者的地址,为一个字节。具体信息见地址划块表。6、 Length(L1、L2、L3、L4):数据包正文的长度,拆分成四个字节,低字节在前,高字节在后,以0b1011,xxxx表示。高

3、四位1011为长度标志;低四位xxxx(00001111)表示后面紧跟的数据长度。例如当数据包正文长度为512字节时,Length=0x100,则L1=0xB0,L2=0xB0,L3=0xB1,L4=0xB0。如果Status不为0xC0,即状态出错,则Length = 0。7、 Data(Data1、Data2 、Datan):以字节0b1000,xxxx表示。高四位1000为数据信息标志;低四位xxxx(00001110)表示具体的数据。在此情况下,本协议要求将一个八位的数据拆分成两个八位的数据进行传输。例如当有发送数据为0x34f8时,则实际发送的数据流为Data(m)=0xC8,Dat

4、a(m+1)=0xCF,Data(m+2)=0xC4,Data(m+3)=0xC3。因此数据的长度肯定为偶数。8、 CRC以字节0b1001,xxxx表示,共两个字节。本协议采用标准CRC16计算,计算方法见附录二,发送时,需要拆分成两个部分进行传输,具体见Data的拆分方法。 错误代码表错误代码代码含义1通信延时到退出2在地址匹配后,通信校验出错3通道组态失败4通道没有累积5仪表无累积功能6不是PID输出通道7超过系统通道数89101112131415二、 通讯的具体命令以下都是在通讯正常的情况,即Status=0xC0,如果Status=0xC10xCF,则Length=0。2.0 PC机

5、从记录仪读取通道历史数据DGIVE(0xA4)PC机记录仪: Command = 0xA4 Length = 1 Data = 通道号记录仪PC机: Status = 0xC0 Length = 114 Data = 通道号+历史数据长度+起始时间+终止时间+历史数据注:PC机从记录仪读取通道历史数据,记录仪每次向上发送100字节数据,待PC机继续发送CONTINUE命令时,再发送下100字节数据,直至发送终止时间=当前时间后,记录仪向上发送如下信息,告诉上位机数据发送完毕:其中历史数据长度 = 02.1 PC机从记录仪读取通道实时数据NDGIVE(0xA5) Command = 0xA5 L

6、ength = 9 Data =通道号 + 当前时间 + 实时数据2.2 PC机中止记录仪的数据传送STOP(0xA6) Command = 0xA6 Length = 02.3 PC机继续从记录仪读取通道历史数据CONTINUE(0xA7) Command = 0xA72.4 PC机从记录仪读取某一时间段历史数据TDGIVE(0xAB) Command = 0xAB Length = 13 Data = 通道号 + 起始时间 + 终止时间 Status = 0xC0 Length = 114 Data = 通道号+历史数据长度+起始时间+终止时间+历史数据 PC机从记录仪读取通道历史数据,记

7、录仪向上发送100字节数据。2.5 PC机向记录仪重新读取上一组历史数据DAGAIN(0xAE) Command = 0xAE Length = 1 Data = 通道号 附录一 数据格式 1、实时数据: 每个通道 2字节 2、历史数据: 每个通道 (512*m/n)K字节,其中m为闪存数,n为记录点数。3、报警记录: 报警年份 1字节 报警月份 1字节 报警日期 1字节 报警时 1字节 报警分 1字节 报警秒 1字节 报警类型 1字节 0:上上限 1:上限 2:下限 3:下下限 总计: 7字节 附录二 CRC计算方法下面是C源程序。首先采用标准CRC16计算方法得到两个字节的CRC(CRC0

8、、CRC1)后,然后对CRC0和CRC1进行异或计算,所得到的结果再按照通讯格式中CRC段的字节拆分方式拆分成两个字节。void CalculateCRC(unsigned char Buff,unsigned char CRC,int BuffLength) unsigned char A,B,C; CRC0 = 0; CRC1 = 0; for(int i = 0;i 4; CRC1= CRC1| 0x90;= 单字节的 CRC-16 循环冗余校验码表 =static int BCCTAB1= 0x00, 0x6F, 0x0DE, 0x0B1, 0x0BC, 0x0D3, 0x62, 0x

9、0D, 0x78, 0x17, 0x0A6, 0x0C9, 0x0C4, 0x0AB, 0x1A, 0x75, 0x0F0, 0x9F, 0x2E, 0x41, 0x4C, 0x23, 0x92, 0x0FD, 0x88, 0x0E7,0x56, 0x39, 0x34, 0x5B, 0x0EA, 0x85, 0x0E0, 0x8F, 0x3E, 0x51, 0x5C, 0x33, 0x82, 0x0ED, 0x98, 0x0F7,0x46, 0x29, 0x24, 0x4B, 0x0FA, 0x95, 0x10, 0x7F, 0x0CE, 0x0A1, 0x0AC, 0x0C3, 0x72,

10、0x1D, 0x68, 0x07, 0x0B6, 0x0D9, 0x0D4, 0x0BB, 0x0A, 0x65, 0x0C0, 0x0AF,0x1E, 0x71, 0x7C, 0x13, 0x0A2, 0x0CD, 0x0B8, 0x0D7,0x66, 0x09, 0x04, 0x6B, 0x0DA, 0x0B5, 0x30, 0x5F, 0x0EE, 0x81, 0x8C, 0x0E3, 0x52, 0x3D, 0x48, 0x27, 0x96, 0x0F9, 0x0F4, 0x9B, 0x2A, 0x45, 0x20, 0x4F, 0x0FE, 0x91, 0x9C, 0x0F3, 0x

11、42, 0x2D, 0x58, 0x37, 0x86, 0x0E9, 0x0E4, 0x8B, 0x3A, 0x55, 0x0D0, 0x0BF, 0x0E, 0x61, 0x6C, 0x03, 0x0B2, 0x0DD, 0x0A8, 0x0C7, 0x76, 0x19, 0x14, 0x7B, 0x0CA, 0x0A5, 0x80, 0x0EF, 0x5E, 0x31, 0x3C, 0x53, 0x0E2, 0x8D, 0x0F8, 0x97, 0x26, 0x49, 0x44, 0x2B, 0x9A, 0x0F5, 0x70, 0x1F, 0x0AE, 0x0C1, 0x0CC, 0x0

12、A3, 0x12, 0x7D, 0x08, 0x67, 0x0D6, 0x0B9, 0x0B4, 0x0DB, 0x6A, 0x05, 0x60, 0x0F, 0x0BE, 0x0D1, 0x0DC, 0x0B3, 0x02, 0x6D, 0x18, 0x77, 0x0C6, 0x0A9, 0x0A4, 0x0CB, 0x7A, 0x15, 0x90, 0x0FF, 0x4E, 0x21, 0x2C, 0x43, 0x0F2, 0x9D, 0x0E8, 0x87, 0x36, 0x59, 0x54, 0x3B, 0x8A, 0x0E5, 0x40, 0x2F, 0x9E, 0x0F1, 0x0

13、FC, 0x93, 0x22, 0x4D, 0x38, 0x57, 0x0E6, 0x89, 0x84, 0x0EB, 0x5A, 0x35, 0x0B0, 0x0DF, 0x6E, 0x01, 0x0C, 0x63, 0x0D2, 0x0BD, 0x0C8, 0x0A7, 0x16, 0x79, 0x74, 0x1B, 0x0AA, 0x0C5, 0x0A0, 0x0CF, 0x7E, 0x11, 0x1C, 0x73, 0x0C2, 0x0AD, 0x0D8, 0x0B7, 0x06, 0x69, 0x64, 0x0B, 0x0BA, 0x0D5, 0x50, 0x3F, 0x8E, 0x

14、0E1, 0x0EC, 0x083, 0x32, 0x5D, 0x28, 0x47, 0x0F6, 0x99, 0x94, 0x0FB, 0x4A, 0x25;static int BCCTAB2= 0x00, 0x01, 0x02, 0x03, 0x05, 0x04, 0x07, 0x06, 0x0B, 0x0A1, 0x09, 0x08, 0x0E, 0x0F, 0x0C, 0x0D, 0x16, 0x17, 0x14, 0x14, 0x13, 0x12, 0x11, 0x10, 0x1D, 0x1C, 0x1F, 0x1E, 0x18, 0x19, 0x1A, 0x1B, 0x2D, 0

15、x2C, 0x2F, 0x2E, 0x28, 0x29, 0x2A, 0x2B, 0x26, 0x27, 0x24, 0x24, 0x23, 0x22, 0x21, 0x20, 0x3B, 0x31, 0x39, 0x38, 0x3E, 0x3F, 0x3C, 0x3D, 0x30, 0x31, 0x32, 0x33, 0x35, 0x34, 0x37, 0x36, 0x5B, 0x51, 0x59, 0x58, 0x5E, 0x5F, 0x5C, 0x5D, 0x50, 0x51, 0x52, 0x53, 0x55, 0x54, 0x57, 0x56, 0x4B, 0x41, 0x49, 0

16、x48, 0x4E, 0x4F, 0x4C, 0x4D, 0x46, 0x47, 0x44, 0x44, 0x43, 0x42, 0x41, 0x40, 0x76, 0x77, 0x74, 0x74, 0x73, 0x72, 0x71, 0x70, 0x7D, 0x7C, 0x7F, 0x7E, 0x78, 0x79, 0x7A, 0x7B, 0x60, 0x61, 0x62, 0x63, 0x65, 0x64, 0x67, 0x66, 0x6B, 0x61, 0x69, 0x68, 0x6E, 0x6F, 0x6C, 0x6D, 0x0B7, 0x0B6, 0x0B5, 0x0B4, 0x0

17、B2, 0x0B3, 0x0B0, 0x0B1, 0x0BC, 0x0BD, 0x0BE, 0x0BF, 0x0B9, 0x0B8, 0x0BB, 0x0BA, 0x0A1, 0x0A0, 0x0A3, 0x0A2, 0x0A4, 0x0A5, 0x0A6, 0x0A7, 0x0AA, 0x0AB, 0x0A8, 0x0A9, 0x0AF, 0x0AE, 0x0AD, 0x0AC, 0x9A, 0x9B, 0x98, 0x99, 0x9F, 0x9E, 0x9D, 0x9C, 0x91, 0x90, 0x93, 0x92, 0x94, 0x95, 0x96, 0x97, 0x8C, 0x8D,

18、 0x8E, 0x8F, 0x89, 0x88, 0x8B, 0x8A, 0x87, 0x86, 0x85, 0x84, 0x82, 0x83, 0x80, 0x81, 0x0EC, 0x0ED, 0x0EE, 0x0EF, 0x0E9, 0x0E8, 0x0EB, 0x0EA, 0x0E7, 0x0E6, 0x0E5, 0x0E4, 0x0E2, 0x0E3, 0x0E0, 0x0E1, 0x0FA, 0x0FB, 0x0F8, 0x0F9, 0x0FF, 0x0FE, 0x0FD, 0x0FC, 0x0F1, 0x0F0, 0x0F3, 0x0F2, 0x0F4, 0x0F5, 0x0F6

19、, 0x0F7, 0x0C1, 0x0C0, 0x0C3, 0x0C2, 0x0C4, 0x0C5, 0x0C6, 0x0C7, 0x0CA, 0x0CB, 0x0C8, 0x0C9, 0x0CF, 0x0CE, 0x0CD, 0x0CC, 0x0D7, 0x0D6, 0x0D5, 0x0D4, 0x0D2, 0x0D3, 0x0D0, 0x0D1, 0x0DC, 0x0DD, 0x0DE, 0x0DF, 0x0D9, 0x0D8, 0x0DB, 0x0DA;附录三 3字节浮点数表示法二进制浮点操作数:用三个字节表示,第一个字节的最高位为数符,其余七位为阶码(补码形式),第二字节为尾数的高字节

20、,第三字节为尾数的低字节,尾数用双字节纯小数(原码)来表示。当尾数的最高位为时,便称为规格化浮点数,简称操作数。在程序说明中,也用R0或R1来表示R0或R1指示的浮点操作数,例如:当R0=-6.000时,则二进制浮点数表示为83C000H。若(R0)=30H,则(30H)=83H,(31H)=0C0H,(32H)=00H。示例:十进制小数 二进制浮点数0.134 7E 89 3827.84 05 DE B83528.0 10 89 D0-6.157 83 C5 07读系统参数:0xA0 0x10 0x45 0xB0 0xB0 0xB0 0xB0 0x9C 0x9F 0xAF 0xC0 0x45

21、 0x10 0xBF 0xB0 0xB0 0xB0 0x88 0x80 0x82 0x83 0x84 0x81 0x85 0x80 0x87 0x80 0x83 0x81 0x80 0x80 0x80 0x80 0x80 0x80 0x86 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x9F 0x92 0xAF 写系统参数:0xA1 0x10 0x45 0xBF 0xB0 0xB0 0xB0 0x88 0x80 0x82 0x83 0x88 0x80 0x85 0x80 0x87 0x80 0x83 0x81 0x80 0x8

22、0 0x80 0x80 0x80 0x80 0x86 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x99 0x99 0xAF 读通道参数:0xA2 0x10 0x45 0xB1 0xB0 0xB0 0xB0 0x80 0x80 0x94 0x92 0xAF 0xC0 0x45 0x10 0xB8 0xB1 0xB0 0xB0 0x80 0x80 0x8A 0x80 0x84 0x81 0x85 0x80 0x80 0x80 0x8B 0x8F 0x8F 0x8F 0x85 0x80 0x80 0x80 0x85 0x80 0x

23、80 0x80 0x8B 0x8F 0x8F 0x8F 0x8B 0x8F 0x8F 0x8F 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x81 0x80 0x81 0x80 0x80 0x80 0x80 0x80 0x84 0x80 0x96 0x90 0xAF 写通道参数:0xA3 0x10 0x45 0xB8 0xB1 0xB0 0xB0 0x82 0x80 0x82 0x80 0x84 0x81 0x84 0x80 0x80 0x8B 0x8F 0x8F 0x8C 0x86 0x84 0x80 0x80 0x8B 0x84 0x80 0x80 0

24、x8B 0x8F 0x8F 0x8C 0x86 0x8F 0x8F 0x8C 0x86 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x81 0x80 0x80 0x80 0x80 0x80 0x84 0x80 0x95 0x94 0xAF 0xC0 0x45 0x10 0xB1 0xB0 0xB0 0xB0 0x82 0x80 0x9E 0x9C 0xAF发送:A5 10 41 B1 B0 B0 B0 81 80 96 9C AF接收:C0 41 10 B9 B0 B0 B0 81 80 85 80 87 80 8A 81 88 80 83 80 83 80 8E 83 81 85 9E 92 AF 测量值按这个计算 如:3E51 (15953)除以65536 *(上限-下限)+下限

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1