通讯协议(例子)
- 格式:ppt
- 大小:226.00 KB
- 文档页数:26
单片机通讯协议有哪些1. 串行通信协议串行通信协议是一种逐位传输数据的通信协议,常用于单片机与外部设备之间的通信。
以下是几种常见的串行通信协议:(1) 串行通信协议1该协议使用一条数据线和一条时钟线进行通信。
数据线上的数据根据时钟线上的时钟信号进行同步传输。
这种协议简单易用,适合短距离通信。
(2) 串行通信协议2该协议采用多条数据线和一条时钟线进行通信。
数据线上的数据同时传输,时钟信号用于同步数据。
这种协议具有较高的传输速率和抗干扰能力,适合长距离通信。
(3) 串行通信协议3该协议使用一条数据线和一条使能线进行通信。
数据线上的数据根据使能线上的使能信号进行传输。
这种协议适合于低速率的通信。
2. 并行通信协议并行通信协议是一种同时传输多个数据位的通信协议,常用于高速数据传输。
以下是几种常见的并行通信协议:(1) 并行通信协议1该协议使用多条数据线进行通信,每条数据线传输一个数据位。
并行通信协议1适用于要求高速率和并行传输的应用。
(2) 并行通信协议2该协议使用多条数据线传输多个数据位,并使用握手信号进行数据的同步。
并行通信协议2具有较高的传输速率和较低的传输延迟,适用于多媒体数据传输等应用。
(3) 并行通信协议3该协议使用多条数据线进行通信,并采用差分信号传输方式,提高了抗噪声和抗干扰能力。
并行通信协议3适用于长距离通信和高速数据传输。
3. 总线通信协议总线通信协议是一种多个设备共享同一条数据线进行通信的协议,常用于单片机与外围设备的通信。
以下是几种常见的总线通信协议:(1) 总线通信协议1该协议采用主从结构,主设备控制整个通信过程,从设备根据主设备的指令进行响应。
总线通信协议1具有简单可靠的特点,适用于小规模系统。
(2) 总线通信协议2该协议采用多主结构,多个主设备可以同时控制总线上的从设备。
总线通信协议2适用于大规模系统和多任务环境。
(3) 总线通信协议3该协议采用分布式结构,各个设备之间通过总线进行通信。
自定义通信协议例子自定义通讯协议本协议是由甲方(以下简称“甲方”)和乙方(以下简称“乙方”)共同签署,为规范双方之间的通讯行为而制定。
本协议中的各方身份、权利、义务、履行方式、期限、违约责任均是符合中国相关法律法规的。
一、双方的基本信息:甲方:名称:(填写甲方名称)地址:(填写甲方地址)联系人:(填写甲方联系人)联系电话:(填写甲方联系电话)电子邮件:(填写甲方电子邮件)乙方:名称:(填写乙方名称)地址:(填写乙方地址)联系人:(填写乙方联系人)联系电话:(填写乙方联系电话)电子邮件:(填写乙方电子邮件)二、各方身份、权利、义务、履行方式、期限、违约责任1.甲方的身份是通讯服务提供者,乙方是通讯服务使用者。
2.甲方的权利和义务:(1)提供稳定可靠的通讯服务。
(2)保障乙方的通讯隐私。
(3)保证服务质量及时有效的维护服务可靠性。
(4)在服务中不得出现任何违反中国相关法律法规的行为。
(5)服务期限为双方签署本协议之日起至协议终止。
(6)违约责任:如果甲方严重违反本协议规定,乙方有权要求甲方给予赔偿,赔偿数额以实际损失为准。
3.乙方的权利和义务:(1)按照本协议规定的规定向甲方支付通讯服务费用。
(2)按照甲方规定的方式、时间和条款向甲方提交通讯服务需求。
(3)在使用甲方的通讯服务时,不得进行违反中国相关法律法规的行为。
(4)服务期限为双方签署本协议之日起至协议终止。
(5)违约责任:如果乙方严重违反本协议规定,甲方有权要求乙方给予赔偿,赔偿数额以实际损失为准。
三、遵守中国相关法律法规本协议所涉及到的各项规定及双方行为均应遵守《中华人民共和国电信条例》、《中华人民共和国网络安全法》等相关法律法规。
双方应当严格遵守法律法规的规定,不得以任何方式违反法律法规。
四、法律效力和可执行性本协议自甲方与乙方签署之日起生效,在协议有效期内,双方应严格遵守本协议,协议到期前双方未达成续约或协议终止后,本协议自动失效。
如本协议的任何条款因与法律法规相抵触或被迫废止,其他条款仍然有效。
1 应用范围本规范要求了电能表进行点对点或者一终端对多台电能表进行一主多从当地通讯接口进行数据交换技术要求, 要求了当地系统硬件和协议规范。
要求了物理连接、通讯链路及应用技术规范(数据基础格式、校验方法、编码传输规则等)。
本规范关键参考了部颁DL/T 645- 1997 多功效电能表通信规约, 依据我企业DSSD331-3、DTSD341-3 电能表特色做了对应扩展。
本规范中未给出部份例子和示意图请参见部颁规约。
2 引用标准下列标准所包含条文, 经过在本标准中引用而组成为本标准条文。
本标准出版时, 所表示版本均为有效, 全部标准都会被修订, 使用本标准各方应探讨使用下列标准最新版本可能性。
DL/T 645- 1997 DL/T 614- 1997 多功效电能表通信规约多功效电能表3 术语3.1 费率装置tariff device固定数据采集与处理单元, 通常与电能表连接或者与电能表组装在一起。
3.2 手持单元(HHU) hand-heldunit能与费率装置或者电能表进行数据交换便携式设备。
3.3 数据终端设备data terminal equipment由数据源、数据宿或者二者组成设备。
3.4 直接当地数据交换direct local data exchange一组费率装置与数据终端设备经过总线连接进行数据交换。
3.5 当地总线数据交换local bus data exchange一组费率装置与数据终端设备经过总线连接进行数据交换。
3.6 远程数据交换remote data exchange经过数据网络, 数据采集中心与一台或者一组费率装置之间数据交换。
3.7 主站master station含有选择从站并与从站进行信息交换功效设备。
本标准中指手持单元或者其它数据终端设备。
3.8 从站slave station预期从主站接收信息并与主站进行信息交换设备。
本标准中指费率装置。
3.9 总线bus连接主站与多个从站并许可主站每次只与一个从站通信系统连接方法(广播命令除外)。
RS485P/CSMC轿厢C/R门禁层站C/R居室对讲#FSMEC和MESE电梯协议转换器与第三方IC卡、门禁、对讲通过RS485通讯协议范例波特率:9600bps 1位起始位,8位数据位,1位偶校验位,1位停止位。
以下各范例中红色表示第三方IC卡、门禁、对讲(以上三者销售人员常称为弱电SMC)发给电梯协议转换器(PROCON),绿色表示电梯协议转换器(PROCON)应答第三方IC卡、门禁、对讲(SMC)。
有电梯状态回电梯状态,没有的话回空包。
数据发送和接收的数据均用16进制表示。
电梯楼层,-1,1~15层,共16层。
系统构成,1个bank 1台电梯(#F号梯),系统构成图如下所示:第一部分适用于单开门电梯(1D1G/1D2G)●范例1:查询空包Event: no eventCommand code: None02 00 80 00 80 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例2:轿内——管理员刷卡(楼层信息FF)Event:administrator logs in carCommand code: 0X0902 00 03 06 09 00 00 10 FF 00 DF 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例3:轿内——业主刷卡1个权限,目的层为前门6楼Event:owner logs in car to one floorCommand code: 0X0902 00 03 06 09 00 00 00 06 00 E8 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例4:轿内——业主刷卡多个权限,目的层为前门1、前门3、前门5、前门7、前门前门8、前门10、前门12、前门14楼Event:owner logs in car to many floorsCommand code: 0X0A02 00 03 07 0A 00 00 00 02 AA 55 EB 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例5:层站——7楼业主出门(居室内呼梯)Event:owner go outCommand code: 0X0102 00 01 06 01 00 80 07 00 01 70 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例6:层站——11楼业主进楼(门禁刷卡)Event:owner go homeCommand code: 0X0102 00 01 06 01 00 40 01 00 0B AC 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例7:层站——访客去6楼(业主在居室内开放权限)Event:visitor visit owner.Command code: 0X0102 00 01 06 01 00 80 01 00 067E 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例8:层站——业主层间互访3楼去8楼Event:owner visit another owner.Command code: 0X0102 00 01 06 01 00 80 03 00 08 6D 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)第二部分适用于双开门电梯(2D2G)●范例9:查询空包Event: no eventCommand code: None02 00 80 00 80 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例10:轿内——后门刷卡1个权限,目的层为后门9楼Event:owner logs in car (rear door) to one floor(rear door)Command code: 0X0902 00 03 06 09 00 12 00 09 00 D3 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例11:轿内——前门刷卡1个权限,目的层为后门9楼Event:owner logs in car (front door) to one floor(rear door)Command code: 0X0902 00 03 06 09 00 10 00 09 00 D5 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例12:轿内——后门刷卡多个权限,目的层为后门1、后门3、后门5、后门7、后门8、后门10、后门12、后门14楼Event:owner logs in car (rear door) to many floors(rear door)Command code: 0X0A02 00 03 07 0A 00 02 00 20 AA 55 CB 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例13:层站——8楼业主出门(后门出发前门到达)Event:owner go out (from rear door to front door)Command code: 0X0102 00 01 06 01 00 81 08 00 01 6E 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例14:层站——11楼业主回家(后门出发前门到达)Event:owner go home (from rear door to front door)Command code: 0X0102 00 01 06 01 00 41 01 00 0B AB 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例15:层站——访客去6楼(后门出发后门到达)Event:visitor visit owner. (from rear door to rear door)Command code: 0X0102 00 01 06 01 00 91 01 00 06 60 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)●范例16:层站——层间互访3楼去8楼(后门出发后门到达)Event:owner visit another owner. (from rear door to rear door)Command code: 0X0102 00 01 06 01 00 91 03 00 08 5B 0302 80 03 03 91 01 00 E8 03(电梯状态)或者02 80 80 00 00 03(空包)。
MODBUS通讯协议-RTU(DOC)简介Modbus通讯协议是一种通用语言,广泛应用于电子控制器上。
通过该协议,不同厂商生产的控制设备可以连接成工业网络,进行集中监控,已成为通用工业标准。
该协议定义了控制器能够认识使用的消息结构,并描述了控制器请求访问其他设备的过程,回应其他设备的请求的方式,以及如何侦测错误并记录。
在Modbus网络上通信时,每个控制器需要知道设备地址、识别按地址发来的消息,并决定产生何种行动。
该协议只允许在主计算机和终端设备之间进行数据交换,不允许独立设备之间的数据交换。
传输方式在Modbus总线上进行通讯时,使用RTU模式,信息中的每8位字节分成两个4位16进制的字符,并且每个信息必须连续传输。
传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则。
代码系统采用8位二进制和十六进制数0.9,A。
F,消息中的每个8位域都是由两个十六进制字符组成。
每个字节的位包括1个起始位、8个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)和1个停止位(有校验时为2个Bit,无校验时为1个Bit)。
错误检测域采用CRC(循环冗长检测)。
协议简介Modbus通讯协议是一种通用语言,广泛应用于电子控制器上。
通过该协议,不同厂商生产的控制设备可以连接成工业网络,进行集中监控,已成为通用工业标准。
该协议定义了控制器能够认识使用的消息结构,并描述了控制器请求访问其他设备的过程,回应其他设备的请求的方式,以及如何侦测错误并记录。
传输方式在Modbus总线上进行通讯时,使用RTU模式,信息中的每8位字节分成两个4位16进制的字符,并且每个信息必须连续传输。
传输方式是一个信息帧内一系列独立的数据结构以及用于传输数据的有限规则。
代码系统采用8位二进制和十六进制数0.9,A。
F,消息中的每个8位域都是由两个十六进制字符组成。
每个字节的位包括1个起始位、8个数据位(最小的有效位先发送)、1个奇偶校验位(无校验则无)和1个停止位(有校验时为2个Bit,无校验时为1个Bit)。
三菱plc,通讯协议篇一:三菱PLC通讯协议三菱PLC编程口通讯协议一、三菱PLC编程口通讯协议三菱PLC编程口的通讯协议比较简单,只有四个命令,即: 命令命令码目标设备DEVICE READ CMD0X,Y,M,S,T,C,DDEVICE WRITE CMD 1X,Y,M,S,T,C,DFORCE ON CMD7 X,Y,M,S,T,CFORCE OFF CMD 8X,Y,M,S,T,C五个标示:ENQ05H 请求ACK06H PLC正确响应NAK15H PLC错误响应STX02H 报文开始ETX03H 报文结束使用累加方式的和校验,帧格式如下:STX CMD DATA ...... DATA ETX SUM(upper)1SUM(lower)和校验:SUM= CMD+??+ETX。
如SUM=73H,SUM=“73”。
1、DEVICE READ(读出软设备状态值)计算机向PLC发送:始命令首地址位数终和校验STXCMD GROUP ADDRESS BYTESETX SUMPLC 返回STX 1ST DATA 2ND DATA ..... LAST DATA ETX SUM 2、DEVICE WRITE(向PLC 软设备写入值)计算机向PLC发送:始命令首地址位数数据终和校验PLC 返回ACK (06H) 接受正确NAK (15H) 接受错误3、位设备强制置位/复位FORCE ON 置位始命令地址终和校验STX CMD ADDRESSETXSUM02h 37h address03hsumFORCE OFF 复位始命令地址终和校验2STX CMD ADDRESSETXSUM02h 38h address03hsumPLC 返回ACK(06H) 接受正确NAK(15H) 接受错误以上可以看出,协议非常简单,但是由于没有寄存器类型信息,所以地址的计算十分关键,如D100和M100分别对应哪个地址呢,下面就是三菱Fx系列PLC地址对应表: Public Const PLC_D_Base_AddRess = 4096Public Const PLC_D_Special_Base_AddRess = 3584 Public Const PLC_Y_Group_Base_AddRess = 160 Public Const PLC_PY_Group_Base_AddRess = 672 Public Const PLC_T_Group_Base_AddRess = 192 Public Const PLC_OT_Group_Base_AddRess = 704 Public Const PLC_RT_Group_Base_AddRess = 1216 Public Const PLC_M_SINGLE_Base_AddRess = 2048(命令为7或8时)Public Const PLC_M_Group_Base_AddRess = 256 Public Const PLC_PM_Group_Base_AddRess = 768 Public Const PLC_S_Group_Base_AddRess = 0Public Const PLC_X_Group_Base_AddRess = 128 Public Const PLC_C_Group_Base_AddRess = 4483Public Const PLC_OC_Group_Base_AddRess = 960 Public Const PLC_RC_Group_Base_AddRess = 1472 Public Const PLC_TV_Group_Base_AddRess = 2048 Public Const PLC_CV16_Group_Base_AddRess = 2560 Public Const PLC_CV32_Group_Base_AddRess = 3072 当我们用DEVICE READ命令时,D100地址=100*2+4096;M100地址=100+256;不同的是D类型寄存器存放的是字,M寄存器存放的是位,同样是读两个字节,D100返回的就是PLC中D100地址的值,M类型寄存器返回的是M100到M116的值。
(完整word)通讯协议大全,推荐文档TCP/IPTCP/IP是网络中使用的基本的通信协议。
TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNETFTP、SMTP、ARP、TFTP等许多协议,这些协议一起称为TCP/IP协议。
IPX/SPX(多用于局域网)是基于施乐的XEROX’S Network System(XNS)协议,而SPX是基于施乐的XEROX’S SPP(Sequenced Packet Protocol:顺序包协议)协议NetBEUI即NetBios Enhanced User Interface,或NetBios增强用户接口。
网络通信协议:RS-232-C、RS-449、V.35、X.21、HDLC简单网络管理协议:简单网络管理协议SNMP、点到点协议PPP3G标准:WCDMA(欧洲版)、CDMA2000(美国版)和TD-SCDMA (中国版)Modbus协议Modbus就是工业控制器的网络协议中的一种包括ASCII、RTU和TCP现在Modbus已经是工业领域全球最流行的协议。
此协议支持传统的RS-232、RS-422、RS-485和以太网设备。
许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。
有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
网络协议大全1、ARP(address resolution protocol)地址解析协议2、SNMP(simple network management P)网络管理协议,是TCP/IP的一部分3、AppleShare protocol(AppleShare 协议)4、AppleTalk 协议5 、BOOTP协议(Bootstrap Protocol) 应用一个基于TCP/IP协议的协议,该协议主要用于有无盘工作站的局域网6、CMIP(Common Management Information Protocol)通用管理信息协议,它是建立在开放系统互连通信模式上的网络管理协议。
RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。
RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。
为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,传输距离延长到4000英尺(速率低于100kb/s时),并允许在一条平衡总线上连接最多10个接收器。
RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A 标准。
为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
由于EIA提出的建议标准都是以“RS”作为前缀,所以在通讯工业领域,仍然习惯将上述标准以RS作前缀称谓。
备注:以上是官方的专业描述,看不懂没有关系,大致有个印象就可以了,有兴趣的可以上网可以买一些专业书籍做深入研究,我再用通俗的语言补充描述一下。
1. RS485通讯协议1.1. 主从式半双工通讯,主机呼叫从机地址,从机应答方式通讯。
串行通讯,数据帧11位,1个起始,8个数据位,2个停止位1.2. 数据传输格式采用标准ASCⅡ码1.2.1. 通讯数据字符集0(30H)1(31H)2(32H)3(33H)4(34H)5(35H)6(36H)7(37H)8(38H)9(39H)A(41H)B(42H)C(43H)D(44H)E(45H)F(46H) .(2EH)-(2DH)+(2BH)1.2.2. 通讯控制字符集DC1(11H):读瞬时值DC2(12H):读参数DC3(13H):写参数DC4(14H):读写FCC5000STX(02H):从机起始符ETX(03H):主机结束符ETB(17H):从机结束符RS (1EH):数据间隔符US (1FH):参数间隔符ACK(06H):接收正确NAK(15H):接收错误CAN(18H):通讯复位SP (20H):空白符1.3. 通讯协议1.3.1. 读瞬时值1.3.1.1. 读单通道瞬时值主机发送:DC1 AAA CC ETXDC1(11H):读瞬时值AAA :从机地址码(=001~254)CC :通道号(=01-99)ETX(03H):主机结束符从机回送:STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符MM :表型字(=00~99)DDDDDDD :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符例子:主机发送:11H 30H 30H 31H 30H 31H 03H(读001号表01通道瞬时值)从机回送:02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H 30H 30H 34H17H(001号表为XMA5000系列,01号通道瞬时值=-0123.4,报警1动作,报警2不动作,校验和=1004)1.3.1.2. 读多通道瞬时值主机发送:DC1 AAA CC ETXDC1(11H):读瞬时值AAA :从机地址码(=001~254)CC :通道号(=00)ETX(03H):主机结束符从机回送1:STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01,表示不支持多通道批读,由表型号字判断通道数,逐个通道读取瞬时值)US(1FH):参数间隔符MM :表型字(=00~99)DDDDDDD :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符从机回送2:STX AAA CC US MM US RS FF US GGGGGG US H HHH … US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=00,表示支持多通道批读)US(1FH):参数间隔符MM :表型字(=00~99)RS :数据间隔符FF :通道号(=01~99)GGGGGGG :瞬时值(-32167~32767,32767=brok,16000=H.oFL,-2000=L.oFL,小数点在实际位置)HHHH :报警1~4报警状态(E=0:OFF E=1:ON)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符注:下划线为通道数据格式1.3.2. 读参数主机发送:DC2 AAA CC US PP ETXDC2(12H):读参数值AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=01-69)ETX(03H):主机结束符从机回送:STX AAA CC US PP US DDDDDDD US SSSSS ETBSTX(02H):从机起始符AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=01~69)DDDDDDD :参数值(=-1999~15999)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):从机结束符例子:主机发送:12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读001号表01通道参数号12量程零点值)从机回送:02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 37H 37H 37H 17H(001号表01通道参数号12量程零点值=-0123.4,校验和=777)1.3.3. 写参数主机发送:DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC3(13H):写参数值AAA :从机地址码(=001~254)CC :通道号(=01-99)US(1FH):参数间隔符PP :参数号(=11-69)DDDDDDD :参数值(=-1999~15999)SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETX(03H):主机结束符从机回送:ACK(06H):接收正确NAK(15H):接收错误例子:主机发送:13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H33H 2EH 34H 1FH 30H 30H 37H 39H 34H 17H(写001号表01通道参数号12量程零点值=-0123.4,校验和=797)从机回送:06H (写参数成功)1.3.4. 读写FCC下挂仪表数据1.3.4.1. 读单通道瞬时值主机发送:DC4 FF DC1 AAA CC ETXDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)DC1(11H):读仪表瞬时值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~99)ETX(03H):主机命令结束符FCC回送:DC4 FF STX AAA CC US MM US DDDDDDD US EEEE US SSSSS ETB或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)STX(02H):数据起始符AAA :仪表地址码(=001~254)CC :仪表通道号(=01~99)US(1FH):参数间隔符MM :仪表表型字(=00~99)DDDDDDD :瞬时值(-32767~32767,32767=brok,16000=H.oFL,-2000=L.oFL,-32767=仪表故障,小数点在实际位置)EEEE :报警1~4报警状态(E=0:OFF E=1:ON)FFFFF :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符NAK(15H):错误命令或错误地址例子:主机发送:14H 30H 31H 11H 30H 30H 31H 30H 31H 03H(读01号FCC 下挂001号表01通道瞬时值)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 30H 36H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 31H 30H 30H 30H 1FH 30H 31H31H 32H 31H 17H(001号表为XMA5000系列,01号通道瞬时值=-0123.4,报警1动作,报警2不动作,校验和=1121)1.3.4.2. 读参数主机发送:DC4 FF DC2 AAA CC US PP ETXDC4(15H):读写FCC5000FF :FCC5000地址码(=01~99)DC2(12H):读仪表参数值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)PP :仪表参数号(=01~69)ETX(03H):主机命令结束符FCC 回送:DC4 FF STX AAA CC US PP US DDDDDDD US SSSSS ETB 或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)STX(02H):数据起始符AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)US(1FH):参数间隔符PP :仪表参数号(=00~69)DDDDDDD :仪表参数值SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符NAK(15H):错误命令或错误地址或错误参数例子:主机发送:14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 31H 32H 03H(读01号FCC下挂001号表01通道,参数号12量程零点值)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH 30H 31H 32H 33H 2EH 34H 1FH 30H 30H 37H 38H 39H 14H(001号表01通道,参数号12量程零点值=-0123.4,校验和=894)1.3.4.3. 写参数主机发送:DC4 FF DC3 AAA CC US PP US DDDDDDD US SSSSS ETXDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)DC3(13H):写仪表参数值AAA :仪表地址码(=001~254)CC :仪表通道号(=01~32)PP :仪表参数号(=01~69)DDDDDDD :仪表参数值SSSSS :校验和5位十进制=00000~65535,从STX到最后一个US间每个字符ASC值的和,再除以65536的余数)ETB(17H):数据结束符FCC回送:DC4 FF ACK或DC4 FF NAKDC4(14H):读写FCC5000FF :FCC5000地址码(=01~99)ACK(06H):正确接收NAK(15H):接收错误例子:主机发送:14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 31H 32H 1FH 2DH30H 31H 32H 33H 2EH 34H 1FH 30H 30H 39H 31H 31H 17H(写01号FCC下挂001号表01通道,参数号12量程零点值=-0123.4,校验和=911)FCC回送:14H 30H 31H 06H (写参数成功)1.3.4.4. 读FCC时间主机发送:DC4 FF DC2 00101 US 70 ETXFF :FCC5000地址码(=01~99)FCC回送:DC4 FF STX 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETB YYYYMMDDhhmmss :YYYYMMDDhhmmss(年月日时分秒)例子:主机发送:14H 30H 31H 12H 30H 30H 31H 30H 31H 1FH 37H 30H 03H(读01号FCC参数号70实时时间)FCC回送:14H 30H 31H 02H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 34H 34H 17H(01号FCC实时时间2003年10月1日8点0分0秒,校验和=1244)1.3.4.5. 写FCC时间主机发送:DC4 FF DC3 00101 US 70 US YYYYMMDDhhmmss US SSSSS ETX FCC回送:DC4 FF ACK或DC4 FF NAK例子:主机发送:14H 30H 31H 13H 30H 30H 31H 30H 31H 1FH 37H 30H 1FH 32H 30H 30H 33H 31H 30H 30H 31H 30H 38H 30H 30H 30H 30H 1FH30H 31H 32H 36H 31H 03H(写01 FCC实时时间2003年10月1日8点0分0秒,校验和=1261)FCC回送:14H 30H 31H 06H (写参数成功)1.3.4.6. 读FCC下挂仪表地址范围主机发送:DC4 FF DC2 00101 US 71 ETXFCC回送:DC4 FF STX 00101 US 71 US AAA RS BBB US SSSSS ETBAAA :起始地址BBB :终止地址1.3.4.7. 读FCC下挂故障仪表地址主机发送:DC4 FF DC2 00101 US 72 ETXFCC回送:DC4 FF STX 00101 US 72 US AAA RS … US SSSSS ETBAAA :故障地址注:下划线为故障地址发送格式;数据为空表示无故障地址1.3.4.8. 读所有通道瞬时值主机发送:DC4 FF DC2 00101 US 73 ETXFCC回送:DC4 FF STX 00101 US 73 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETBAAA :仪表地址码(=001)BB :仪表通道号(=01)US(1FH):参数间隔符PP :仪表参数号(=00~99)CCCCCCC :瞬时值(-32767~32767,32767=brok,16000=H.oFL,-2000=L.oFL,-32767=仪表故障,小数点在实际位置)DDDD :报警1~4报警状态(E=0:OFF E=1:ON)注:下划线为通道数据格式,故障仪表数据只发送01通道1.3.4.9. 读取FCC下一条历史数据记录主机发送:DC4 FF DC2 00101 US 74 ETXFCC回送:DC4 FF STX AAA CC US 74 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETB注:下划线为通道数据格式;通道数据为空表示历史数据已经读空发送方式同73参数,只是故障仪表数据不发送1.3.4.10. 重读FCC上一条历史数据记录主机发送:DC4 FF DC2 00101 US 75 ETXFCC回送:DC4 FF STX AAA CC US 75 US YYYYMMDDhhmmss RS AAA BB US CCCCCCC US DDDD … USSSSSS ETB1.3.4.11. 读取FCC时间历史数据记录读指针对应时间点主机发送:DC4 FF DC2 00101 US 76 ETXFCC回送:DC4 FF STX 00101 US 76 US YYYYMMDDhhmmss US SSSSS ETB1.3.4.12. 移动FCC时间历史数据记录读指针对应时间点主机发送:DC4 FF DC3 00101 US 76 US YYYYMMDDhhmmss US SSSSS ETB FCC回送:DC4 FF ACK或DC4 FF NAK用途:FCC历史数据记录读指针通过74号参数读来一条一条移动,大量历史数据记录读取可能需要很长时间,可用76号参数直接移动到所需数据时间点,然后用74读取。
ModbusTCP通讯协议协议名称:ModbusTCP通讯协议一、引言ModbusTCP通讯协议是一种基于TCP/IP网络的通信协议,用于在不同设备之间进行数据传输和通信。
本协议旨在规范ModbusTCP通讯的数据格式、通信方式、错误处理等相关内容,以确保通信的可靠性和一致性。
二、术语定义1. ModbusTCP:基于TCP/IP网络的Modbus通信协议。
2. 主站:发送请求并接收响应的设备。
3. 从站:接收请求并发送响应的设备。
4. 传输单元标识符(Unit Identifier):用于标识从站设备的唯一标识符。
5. 功能码(Function Code):用于定义Modbus请求的类型和操作。
6. 寄存器(Register):用于存储数据的内存单元。
三、通信方式1. 连接建立主站与从站之间的连接通过TCP/IP网络建立。
主站作为客户端发起连接请求,从站作为服务器接受连接请求。
2. 数据格式ModbusTCP通讯协议采用大端字节顺序(Big-Endian)进行数据传输。
数据包括请求数据包和响应数据包。
请求数据包格式:- 事务标识符(Transaction Identifier):2字节,用于标识请求和响应的匹配关系。
- 协议标识符(Protocol Identifier):2字节,用于标识ModbusTCP协议。
- 长度字段(Length Field):2字节,表示后续字段的字节数。
- 单元标识符(Unit Identifier):1字节,用于标识从站设备。
- 功能码(Function Code):1字节,用于定义Modbus请求的类型和操作。
- 数据字段(Data Field):可变长度,根据具体功能码和操作而定。
- CRC校验(Cyclic Redundancy Check):2字节,用于检测数据传输的错误。
响应数据包格式:- 事务标识符(Transaction Identifier):2字节,与请求数据包的事务标识符匹配。