通讯协议及通讯系统的制作方法

文档序号:12789500阅读:245来源:国知局
本发明涉及工业智能制造领域,特别是涉及一种通讯协议及通讯系统。
背景技术
:在工业控制
技术领域
中,通讯协议被广泛应用于数据传输,通讯协议定义了控制器能够识别和使用的信息结构,通过通讯协议,电子设备之间或经由网络和其他设备之间可以通信,而不管它们是经过何种网络进行通讯的。在通讯卡与智能仪表之间的通信过程中,通讯卡对智能仪表要进行初始化连接、读数据或写数据等控制操作,现有通讯卡与智能仪表之间的通讯协议相对比较复杂,数据帧比较冗长繁琐,尤其是对于分离设计的通讯卡与智能仪表之间,在数据的传输过程中,对于数据的正确监控与处理难度较大。因此,,目前需要一种适用于通讯卡与智能仪表分离设计的通讯系统,且简单可行,能够实现通讯卡与智能仪表之间数据及时正确传输的通讯协议。技术实现要素:鉴于以上所述现有技术的缺点,本发明的目的在于提供一种通讯协议及通讯系统,本发明的通讯协议,可以实现通讯卡与智能仪表之间数据的及时正确的传输,整个通讯协议简单可行,通讯中的数据帧格式简单紧凑,通俗易懂,便于使用与开发。为实现上述目的的他相关目的,本发明提供一种通讯协议,所述通讯协议包括以下步骤:主设备向从设备发送第一请求信息,所述第一请求信息包括第一功能代码、第一数据段及第一CRC校验域;所述第一功能代码包括所述从设备需要执行的命令信息,所述第一数据段包括所述从设备需要执行的命令的附加信息,所述第一CRC校验域适于所述从设备验证所述第一请求信息是否有误;所述从设备接收到所述第一请求信息之后,依据所述第一请求信息的内容做出相应的响应,并将第一响应信息反馈至所述主设备;所述第一响应信息包括第二功能代码、第二数据段及第二CRC校验域。作为本发明的通讯协议的一种优选方案,所述从设备接收到所述第一请求信息之后,会根据所述第一CRC校验域验证所述第一请求信息是否有误;若所述第一请求信息无误,所述第一响应信息为正常响应信息,所述第二功能代码为所述第一功能代码的响应,与所述第一功能代码相同,所述第二数据段为与所述第一数据段相对应的数据信息,所述第二CRC校验域中的数值与所述第一CRC校验域中的数值相同;若所述第一请求信息有误,所述第一响应信息为异常响应信息,所述第二功能代码与所述第一功能代码不同,所述第二数据段为表征错误类型的异常代码,所述第二CRC校验域中的数值与所述第一CRC校验域中的数值不同。作为本发明的通讯协议的一种优选方案,所述第一功能代码包括的所述从设备需要执行的命令信息包括读数据命令或写数据命令。作为本发明的通讯协议的一种优选方案,所述第一功能代码包括的所述从设备需要执行的命令信息为读数据命令时,所述第一请求信息中的第一数据段包括需要读取的数据的起始地址及数据长度,所述从设备反馈的正常响应信息中的所述第二数据段包括需要读取的数据的起始地址及全部数据。作为本发明的通讯协议的一种优选方案,所述第一功能代码包括的所述从设备需要执行的命令信息为写数据命令时,所述第一请求信息中的第一数据段包括需要写入的数据的起始地址、数据长度及全部数据,所述从设备反馈的正常响应信息中的所述第二数据段包括需要写入的数据的起始地址。作为本发明的通讯协议的一种优选方案,所述第一功能代码及所述第二功能代码的前面均设有起始位,所述第一CRC校验域与所述第二CRC校验域的后面均设有结束符。作为本发明的通讯协议的一种优选方案,所述主设备向所述从设备发送第一请求信息之后,在预定时间内未收到所述从设备的响应,所述主设备自动判断请求失败。作为本发明的通讯协议的一种优选方案,所述主设备为通讯卡,所述从设备为智能仪表。作为本发明的通讯协议的一种优选方案,主设备向所述从设备发送第一请求信息之前,还包括:主设备向从设备发送第二请求信息,所述第二请求信息包括第三功能代码及第三CRC校验域;所述第三功能代码包括所述主设备与所述从设备进行初始化连接的命令信息,所述第三CRC校验域适于所述从设备验证所述第二请求信息是否有误;所述从设备接收到所述第二请求信息之后,依据所述第二请求信息的内容做出相应的响应,并将第二响应信息反馈至所述主设备;所述第二响应信息包括第四功能代码、连接类型代码及第四CRC校验域。作为本发明的通讯协议的一种优选方案,所述从设备接收到所述第二请求信息之后,会根据所述第三CRC校验域验证所述第二请求信息是否有误;若所述第二请求信息无误,所述第二响应信息为正常响应信息,所述第四功能代码为所述第三功能代码的响应,与所述第三功能代码相同,所述连接类型代码包括父类型代码及子类型代码,所述第四CRC校验域中的数值与所述第三CRC校验域中的数值相同;若所述第二请求信息有误,所述第二响应信息为异常响应信息,所述第四功能代码与所述第三功能代码不同,所述连接类型代码为表征错误类型的异常代码,所述第四CRC校验域中的数值与所述第三CRC校验域中的数值不同。作为本发明的通讯协议的一种优选方案,所述主设备向所述从设备发送第二请求信息之后,在预定时间内未收到所述从设备的响应,所述主设备自动判断请求失败。本发明还提供一种通讯系统,所述通讯系统包括:主设备及从设备;所述主设备包括:请求信息生成单元,适于根据需要生成相应的请求信息;第一数据发送单元,适于将生成的所述请求信息发送至所述从设备;第一数据接收单元,适于接收所述从设备反馈的响应信息;第一验证单元,适于验证所述主设备与所述从设备之间的通讯是否异常;所述从设备包括:第二数据接收单元,适于接收所述主设备发送的请求信息;第二验证单元,适于验证接收的所述请求信息是否有误;反馈信息生成单元,适于根据接收的所述请求信息及所述第二验证单元验证的结果生成反馈信息;第二数据发送单元,适于将生成的所述反馈信息反馈至所述主设备。作为本发明的通讯系统的一种优选方案,所述主设备为通讯卡,所述从设备为智能仪表。作为本发明的通讯系统的一种优选方案,所述第一验证单元适于根据所述从设备的响应是否超时或根据所述从设备反馈的响应信息是否为正常响应判断所述主设备与所述从设备之间的通讯是否异常。如上所述,本发明的通讯协议及通讯系统,具有以下有益效果:本发明的通讯协议,可以实现通讯卡与智能仪表之间数据的及时正确的传输,整个通讯协议简单可行,通讯中的数据帧格式简单紧凑,通俗易懂,便于使用与开发。附图说明图1显示为本发明实施例一中提供的通讯协议的流程图。图2显示为本发明实施例二中提供的通讯系统的结构示意图。元件标号说明1主设备11请求信息生成单元12第一数据发送单元13第一数据接收单元14第一验证单元2从设备21第二数据接收单元22第二验证单元23反馈信息生成单元24第二发送单元具体实施方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。请参阅图1至图2需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,虽图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。实施例一请参阅图1,本发明提供一种通讯协议,所述通讯协议包括以下步骤:S1:主设备向从设备发送第一请求信息,所述第一请求信息以通讯帧的形式发送至所述从设备,所述第一请求信息的通讯帧包括第一功能代码、第一数据段及第一CRC校验域;所述第一功能代码包括所述从设备需要执行的命令信息,所述第一数据段包括所述从设备需要执行的命令的附加信息,所述第一CRC校验域适于所述从设备验证所述第一请求信息是否有误;S2:所述从设备接收到所述第一请求信息之后,依据所述第一请求信息的内容做出相应的响应,并将第一响应信息反馈至所述主设备;所述第一响应信息以通讯帧的形式反馈至所述主设备,所述第一响应信息的通讯帧包括第二功能代码、第二数据段及第二CRC校验域。作为示例,所述第一功能代码及所述第二功能代码的前面均设有起始位,所述第一CRC校验域与所述第二CRC校验域的后面均设有结束符。具体的,所述第一请求信息及所述第一响应信息的数据帧的格式相同,均为如下表所示的格式:起始位功能代码数据段CRC校验域结束符T1-T2-T3-T41Byte(字节)0-64Byte2ByteT1-T2-T3-T4作为示例,所述第一请求信息的数据帧的发送至少要以3.5个字符时间的停顿间隔开始,在网络波特率下多样的字符时间,这是最容易实现的方式(如上表中所示的起始位及结束符均为T1-T2-T3-T4所示)。在最后一个传输字符之后,一个至少3.5个字符时间的挺短标定了通讯帧的结束,一个新的通讯帧可以在此停顿后开始。整个通讯帧必须作为一个连续的流转输,如果在数据帧完成之前有超过3.5个字符时间的停顿时间,所述从设备将刷新不完整的消息并假定下一个字节是一个新消息的功能代码域;同样的,如果一个新消息在小于3.5给字符时间内接着前一个消息开始,所述从设备将会认为它是前一消息的延续,这些都必将导致一个错误,因此最后的CRC域的值也不可能正确。作为示例,所述从设备接收到所述第一请求信息之后,会根据所述第一CRC校验域验证所述第一请求信息是否有误;若所述第一请求信息无误,所述第一响应信息为正常响应信息,所述第二功能代码为所述第一功能代码的响应,与所述第一功能代码相同,所述第二数据段为与所述第一数据段相对应的数据信息,所述第二CRC校验域中的数值与所述第一CRC校验域中的数值相同;若所述第一请求信息有误,所述第一响应信息为异常响应信息,所述第二功能代码与所述第一功能代码不同,所述第二数据段为表征错误类型的异常代码,所述第二CRC校验域中的数值与所述第一CRC校验域中的数值不同。作为示例,所述第一功能代码包括的所述从设备需要执行的命令信息包括读数据命令或写数据命令。作为示例,当主设备向所述从设备发送所述第一请求信息(读或写请求信息)时,所述主设备希望到从设备的正常响应,但在实际情况中可能会有以下三种情形:1.所述从设备收到了所述主设备的所述第一请求信息,并全部校验正确,所述从设备产生正常响应,所述第一响应信息为正常响应信息;2.所述从设备由于通讯错误等原因没有收到所述主设备的所述第一请求信息,因此就无法产生响应,这时所述主设备将通过超时判断查询的错误,即所述主设备向所述从设备发送第一请求信息之后,在预定时间内未收到所述从设备的响应,所述主设备自动判断请求失败;3.所述从设备收到了所述主设备的所述第一请求信息,但检测出通讯帧内容出错(例如:CRC校验出错或含有非法的起始地址等),这时,所述从设备将产生异常响应并通知所述主设备相关的错误信息。异常响应信息的异常响应帧中有两个域的内容与正常响应帧不同,当异常响应帧产生时,所述从设备将设置所述异常响应帧中的功能代码(即所述第二功能代码)中的最高为修改为1;所述从设备将所述异常响应帧中的数据段(即所述第二数据段)中设置异常代码。本实施例中,异常代码及其所代表的意义如下表所示:异常代码异常代码的意义01CRC校验错误02非法的功能代码03非法的起始地址04非法的数据长度05数据长度超限作为示例,CRC域检测了整个通讯帧的内容,它包括两个字节,即16位的二进制值。CRC域中的值由所述主设备计算后加入到所述第一请求消息中,所述从设备收到所述第一请求信息后重新计算收到消息的CRC域中的值,并与接收到的CRC域中的值比较,如果两值不同,则有误。CRC的计算是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位均无效。CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB(最低有效位)被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC域中的值。CRC域添加到通讯帧中时,低字节先加入,然后高字节。作为示例,所述第一功能代码包括的所述从设备需要执行的命令信息为读数据命令时,所述第一请求信息中的第一数据段包括需要读取的数据的起始地址及数据长度,所述从设备反馈的正常响应信息中的所述第二数据段包括需要读取的数据的起始地址及全部数据。作为示例,在需要进行读数据命令时,所述主设备发送的所述第一请求信息中的数据帧如下表所示:功能代码起始地址数据长度CRC校验域01H2Byte1Byte2Byte所述从设备反馈的第一响应信息为正常响应信息时,所述第一响应信息中的数据帧如下表所示:所述从设备反馈的第一响应信息为异常响应信息时,所述第一响应信息中的数据帧如下表所示:功能代码异常代码CRC校验域81H1Byte2Byte下面以一具体示例对读数据控制予以说明:以所述主设备查询读取所述从设备从起始地址为07H开始的连续04H个字节的数据,需要读取的数据内容为0FH、03H、0CDH及06H为示例,所述主设备发送的所述第一请求信息中的数据帧(16进制)如下表所示:01000704CRC校验所述从设备反馈的第一响应信息为正常响应信息时,所述第一响应信息中的数据帧(16进制)如下表所示:0100070F03CD06CRC校验作为示例,所述第一功能代码包括的所述从设备需要执行的命令信息为写数据命令时,所述第一请求信息中的第一数据段包括需要写入的数据的起始地址、数据长度及全部数据,所述从设备反馈的正常响应信息中的所述第二数据段包括需要写入的数据的起始地址。作为示例,在需要进行写数据命令时,所述主设备发送的所述第一请求信息中的数据帧如下表所示:功能代码起始地址数据长度数据1数据nCRC校验域02H2Byte1Byte1Byte1Byte2Byte所述从设备反馈的第一响应信息为正常响应信息时,所述第一响应信息中的数据帧如下表所示:功能代码起始地址CRC校验域02H2Byte2Byte所述从设备反馈的第一响应信息为异常响应信息时,所述第一响应信息中的数据帧如下表所示:功能代码异常代码CRC校验域82H1Byte2Byte下面以一具体示例对写数据控制予以说明:以所述主设备修改(即写入)所述从设备从起始地址为10H开始的连续04H个字节的数据,需要修改的数据内容为0AH、0BH、04H及09H为示例,所述主设备发送的所述第一请求信息中的数据帧(16进制)如下表所示:020010040A0B0409CRC校验域所述从设备反馈的第一响应信息为正常响应信息时,所述第一响应信息中的数据帧(16进制)如下表所示:020010CRC校验域作为示例,所述主设备为通讯卡,所述从设备为智能仪表。作为示例,主设备向所述从设备发送第一请求信息之前,还包括:主设备向从设备发送第二请求信息,所述第二请求信息以数据帧的形式发送至所述从设备,所述第二请求信息的数据帧包括第三功能代码及第三CRC校验域;所述第三功能代码包括所述主设备与所述从设备进行初始化连接的命令信息,所述第三CRC校验域适于所述从设备验证所述第二请求信息是否有误;所述从设备接收到所述第二请求信息之后,依据所述第二请求信息的内容做出相应的响应,并将第二响应信息反馈至所述主设备;所述第二响应信息以通讯帧的形式反馈至所述主设备,所述第二响应信息的通讯帧包括第四功能代码、连接类型代码及第四CRC校验域。作为示例,所述从设备接收到所述第二请求信息之后,会根据所述第三CRC校验域验证所述第二请求信息是否有误;若所述第二请求信息无误,所述第二响应信息为正常响应信息,所述第四功能代码为所述第三功能代码的响应,与所述第三功能代码相同,所述连接类型代码包括父类型代码及子类型代码,所述第四CRC校验域中的数值与所述第三CRC校验域中的数值相同;若所述第二请求信息有误,所述第二响应信息为异常响应信息,所述第四功能代码与所述第三功能代码不同,所述连接类型代码为表征错误类型的异常代码,所述第四CRC校验域中的数值与所述第三CRC校验域中的数值不同。作为示例,所述主设备向所述从设备发送第二请求信息之后,在预定时间内未收到所述从设备的响应,所述主设备自动判断请求失败。作为示例,在所述主设备与所述从设备初始化连接时,所述第二请求信息的数据帧如下表所示:功能代码CRC校验域03H2Byte所述从设备反馈的第二响应信息为正常响应信息时,所述第二响应信息中的数据帧如下表所示:功能代码父类型代码子类型代码CRC校验域03H1Byte1Byte2Byte所述从设备反馈的第一响应信息为异常响应信息时,所述第一响应信息中的数据帧如下表所示:功能代码异常代码CRC校验域83H1Byte2Byte下面以一具体示例对所述主设备初始化连接智能电磁流量计仪表予以说明:以父类型代码为03,子类型代码为01作为示例,所述主设备发送的所述第二请求信息中的数据帧(16进制)如下表所示:03CRC校验域所述从设备反馈的第二响应信息为正常响应信息时,所述第二响应信息中的数据帧(16进制)如下表所示:030301CRC校验域本发明的通讯协议,可以实现通讯卡与智能仪表之间数据的及时正确的传输,整个通讯协议简单可行,通讯中的数据帧格式简单紧凑,通俗易懂,便于使用与开发。实施例二请参阅图2,本发明还提供一种通讯系统,所述通讯系统包括:主设备1及从设备2;所述主设备1包括:请求信息生成单元11,所述请求信息生成单元11适于根据需要生成相应的请求信息;第一数据发送单元12,所述第一数据发送单元12适于将生成的所述请求信息发送至所述从设备2;第一数据接收单元13,所述第一数据接收单元13适于接收所述从设备2反馈的响应信息;第一验证单元14,所述第一验证单元14适于验证所述主设备1与所述从设备2之间的通讯是否异常;所述从设备2包括:第二数据接收单元21,所述第二数据接收单元21适于接收所述主设备1发送的请求信息;第二验证单元22,所述第二验证单元22适于验证接收的所述请求信息是否有误;反馈信息生成单元23,所述反馈信息生成单元23适于根据接收的所述请求信息及所述第二验证单元22验证的结果生成反馈信息;第二数据发送单元24,所述第二数据发送单元24适于将生成的所述反馈信息反馈至所述主设备1。作为示例,所述请求信息包括初始化连接请求信息、读数据请求信息及写数据请求信息。作为示例,所述主设备1可以为通讯卡,所述从设备2可以为智能仪表。作为示例,所述第一验证单元14适于根据所述从设备2的响应是否超时或根据所述从设备2反馈的响应信息是否为正常响应判断所述主设备1与所述从设备2之间的通讯是否异常。综上所述,本发明提供一种通讯协议及通讯系统,所述通讯协议包括以下步骤:主设备向从设备发送第一请求信息,所述第一请求信息包括第一功能代码、第一数据段及第一CRC校验域;所述第一功能代码包括所述从设备需要执行的命令信息,所述第一数据段包括所述从设备需要执行的命令的附加信息,所述第一CRC校验域适于所述从设备验证所述第一请求信息是否有误;所述从设备接收到所述第一请求信息之后,依据所述第一请求信息的内容做出相应的响应,并将第一响应信息反馈至所述主设备;所述第一响应信息包括第二功能代码、第二数据段及第二CRC校验域。本发明的通讯协议,可以实现通讯卡与智能仪表之间数据的及时正确的传输,整个通讯协议简单可行,通讯中的数据帧格式简单紧凑,通俗易懂,便于使用与开发。上述实施例仅例示性说明本发明的原理的功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属
技术领域
中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1