缝纫设备控制器的通讯方法、装置、终端设备及存储介质与流程

文档序号:26402923发布日期:2021-08-24 16:16阅读:94来源:国知局
缝纫设备控制器的通讯方法、装置、终端设备及存储介质与流程

本发明涉及通讯技术领域,特别涉及一种缝纫设备控制器的通讯方法、装置、终端设备及存储介质。



背景技术:

时下,随着智能科技的飞速发展,衣服的缝制生产已广泛采用机器作业,其中,通过电子设备对缝纫设备进行智能化控制,在衣服的缝制生产中具有举足轻重的作用。

然而,现有技术的通讯方法中,有些通讯方法可靠性较低,如:udp网络通讯和串口通讯等,在数据传递时,如果网络质量不好,就会很容易丢包;有些通讯方法虽然具备一定的可靠性,但往往依赖复杂的软件环境或特定的硬件,如tcp网络通讯依赖网络协议栈或操作系统,485通讯需要485芯片支持,can通讯需要can芯片支持等,降低了应用的便利性以及增加了应用成本。

因此,很难有一种高效、可靠又不依赖于复杂的软件环境或特定硬件的通讯方法,能适用于缝纫设备或小型嵌入式设备,并同时保证其通用性(通用性指:同一设备能与不同终端进行高效可靠的通讯,如:同一设备与电脑软件、拓展模块和其他产品等进行通讯)。



技术实现要素:

本发明的主要目的是提出一种缝纫设备控制器的通讯方法、装置、终端设备及存储介质,旨在提供一种种高效、可靠又不依赖于复杂的软件环境或特定硬件的通讯方法,能适用于缝纫设备或小型嵌入式设备,并同时保证其通用性。

为实现上述目的,本发明提出的缝纫设备控制器的通讯方法,所述缝纫设备控制器的通讯方法应用于缝纫设备的设备控制器,所述设备控制器与拓展模块连接,所述缝纫设备控制器的通讯方法包括以下步骤:

接收所述拓展模块发送的数据包,其中,所述数据包包括:包头和指令;

对所述指令进行比对校验得到比对结果,并根据所述指令确定所述数据包的类型;

根据所述比对结果和所述数据包的类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包。

进一步地,所述接收所述拓展模块发送的数据包的步骤,包括:

接收所述拓展模块发送的数据包的包头;

对所述包头进行比对校验,若所述包头比对校验成功,则接收所述拓展模块发送的所述数据包的指令;

所述包头包括:固定魔数和第一crc(cyclicredundancycheck,循环冗余校验)冗余校验码,所述对所述包头进行比对校验的步骤,包括:

针对所述固定魔数进行有序比对;

若所述固定魔数比对成功,则针对所述第一crc冗余校验码进行校验比对。

进一步地,在所述针对所述固定魔数进行有序比对的步骤之后,还包括:

若针对所述固定魔数的比对失败,则重置接收计数;

在所述针对所述第一crc冗余校验码进行校验比对的步骤之后,还包括:

若针对所述第一crc冗余校验码的校验比对失败,则重置接收计数。

进一步地,所述包头还包括:第二crc冗余校验码,所述对所述指令进行比对校验得到比对结果的步骤,包括:

针对所述第二crc冗余校验码进行校验比对得到比对结果,并记录所述比对结果。

进一步地,所述比对结果包括:比对成功和比对失败,所述应答包包括:接收成功应答包和接收失败应答包,

所述根据所述指令比对校验的比对结果和所述数据包的类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包的步骤,包括:

若所述数据包的类型为应答包,且所述比对结果为比对成功,则重置接收计数并接收所述拓展模块发送的新的数据包;

若所述数据包的类型为应答包,且所述比对结果为比对失败,则等待预设时长后向所述拓展模块重新发送与所述应答包关联的非应答包;

若所述数据包的类型为非应答包,且所述比对结果为比对成功,则向所述拓展模块发送所述接收成功应答包;

若所述数据包的类型为非应答包,且所述比对结果为比对失败,则向所述拓展模块发送所述接收失败应答包,并重置接收计数和接收所述拓展模块发送的新的数据包。

进一步地,所述包头还包括:包序,在所述若所述数据包的类型为非应答包,且所述比对结果为比对成功,则向所述拓展模块发送所述接收成功应答包的步骤之后,还包括:

判断所述包序是否与预设包序一致,其中,所述预设包序包含于所述拓展模块发送的旧的数据包;

若是,则丢弃所述数据包,并重置接收计数和接收所述拓展模块发送的新的数据包;

若否,则执行所述指令。

进一步地,所述指令还包括类型标志,所述数据包的类型包括:应答包和非应答包,所述非应答包包括:普通包和反馈包,所述根据所述指令确定所述数据包的类型的步骤,包括:

识别所述类型标志;

根据所述类型标志确定所述数据包的类型为普通包、应答包或反馈包。

此外,为实现上述目的,本发明还提供一种缝纫设备控制器的通讯装置,所述缝纫设备控制器的通讯装置应用于设备控制器,所述缝纫设备控制器的通讯装置包括:

第一交互模块,用于接收所述拓展模块发送的数据包,其中,所述数据包包括:包头和指令;

校验处理模块,用于对所述指令进行比对校验得到比对结果,并根据所述指令确定所述数据包的类型;

第二交互模块,用于根据所述比对结果和所述数据包的类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包。

此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的缝纫设备控制器的通讯程序,所述缝纫设备控制器的通讯程序被所述处理器执行时实现如上所述的缝纫设备控制器的通讯方法的步骤。

此外,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的缝纫设备控制器的通讯方法的步骤。

本发明提出缝纫设备控制器的通讯方法、装置、终端设备及存储介质,通过设备控制器接收所述拓展模块发送的数据包,其中,所述数据包包括:包头和指令;对所述包头进行比对校验,若所述包头比对校验成功,则接收指令;对所述指令进行比对校验,并根据所述指令确定所述数据包的类型;根据所述指令比对校验的结果和所述类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包。

本发明在设备控制器接收拓展模块发送的数据包过程中,先对数据包的包头进行比对校验,在包头比对校验成功后,再根据包头继续接收指令,并对所述指令进行比对校验及根据所述指令确定所述数据包的类型,在分别对所述包头及所述指令进行比对校验后,避免了数据包在传输过程中产生传输错误或丢包等问题,提高了通讯的可靠性。

本发明在无需依赖复杂的软件环境或特定硬件的情况下实现可靠传输,且在缝纫设备控制器中能根据不同终端的连接方式(网络连接、串口连接或can连接等连接方式)进行统一可靠的参数指令传输,确保了缝纫设备控制器与终端之间通讯的安全、高效和通用性,本发明提出的缝纫设备控制器的通讯方法应用范围广,实用性较强。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1是本发明实施例方案涉及的终端设备的硬件运行环境的结构示意图;

图2是本发明一种缝纫设备控制器的通讯方法第一实施例的流程示意图;

图3是本发明一种缝纫设备控制器的通讯方法第一实施例中,步骤s100的细化流程示意图;

图4是本发明一种缝纫设备控制器的通讯方法第二实施例中,步骤s102的细化流程示意图;

图5是本发明一种缝纫设备控制器的通讯装置的模块结构示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及终端设备的硬件运行环境的结构示意图。

需要说明的是,图1即可为终端设备的硬件运行环境的结构示意图。本发明实施例终端设备可以是缝纫设备或者其它小型嵌入式设备的设备控制器,该设备控制器与拓展模块连接,该拓展模块具体可以是其它具备数据通讯功能的终端设备(例如pc、便携计算机等终端设备)。

如图1所示,该设备控制器可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的设备控制器结构并不构成对设备控制器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及分布式任务的处理程序。其中,操作系统是管理和控制样本终端设备硬件和软件资源的程序,支持分布式任务的处理程序以及其它软件或程序的运行。

在图1所示的设备控制器中,用户接口1003主要用于与各个终端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的缝纫设备控制器的通讯程序,并执行以下操作:

接收所述拓展模块发送的数据包,其中,所述数据包包括:包头和指令;

对所述指令进行比对校验得到比对结果,并根据所述指令确定所述数据包的类型;

根据所述比对结果和所述数据包的类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包。

进一步地,所述包头包括:固定魔数和第一crc冗余校验码,处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,还执行以下操作:

接收所述拓展模块发送的数据包的包头;

对所述包头进行比对校验,若所述包头比对校验成功,则接收所述拓展模块发送的所述数据包的指令;

所述包头包括:固定魔数和第一crc冗余校验码,处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,还执行以下操作:

针对所述固定魔数进行有序比对;

若所述固定魔数比对成功,则针对所述第一crc冗余校验码进行校验比对。

进一步地,处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,在执行针对所述固定魔数进行有序比对的步骤之后,还执行以下操作:

若针对所述固定魔数的比对失败,则重置接收计数;

处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,在执行针对所述第一crc冗余校验码进行校验比对的步骤之后,还执行以下操作:

若针对所述第一crc冗余校验码的校验比对失败,则重置接收计数。

进一步地,所述包头还包括:第二crc冗余校验码,处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,还执行以下操作:

针对所述第二crc冗余校验码进行校验比对得到比对结果,并记录所述比对结果。

进一步地,所述比对结果包括:比对成功和比对失败,所述应答包包括:接收成功应答包和接收失败应答包,

处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,还执行以下操作:

若所述数据包的类型为应答包,且所述比对结果为比对成功,则重置接收计数并接收所述拓展模块发送的新的数据包;

若所述数据包的类型为应答包,且所述比对结果为比对失败,则等待预设时长后向所述拓展模块重新发送与所述应答包关联的非应答包;

若所述数据包的类型为非应答包,且所述比对结果为比对成功,则向所述拓展模块发送所述接收成功应答包;

若所述数据包的类型为非应答包,且所述比对结果为比对失败,则向所述拓展模块发送所述接收失败应答包,并重置接收计数和接收所述拓展模块发送的新的数据包。

进一步地,所述包头还包括:包序,处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,在所述根据所述比对结果和所述数据包的类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包的步骤之后,还执行以下操作:

判断所述包序是否与预设包序一致,其中,所述预设包序包含于所述拓展模块发送的旧的数据包;

若是,则丢弃所述数据包,并重置接收计数和接收所述拓展模块发送的新的数据包;

若否,则执行所述指令。

进一步地,所述指令还包括类型标志,所述数据包的类型包括:应答包和非应答包,所述非应答包包括:普通包和反馈包,处理器1001可以调用存储器1005中存储的缝纫设备控制器的通讯程序,还执行以下操作:

识别所述类型标志;

根据所述类型标志确定所述数据包的类型为普通包、应答包或反馈包。

基于上述的结构,提出本发明缝纫设备控制器的通讯方法的各个实施例。

请参照图2,图2为本发明缝纫设备控制器的通讯方法第一实施例的流程示意图。

本实施例缝纫设备控制器的通讯方法以缝纫设备的设备控制器为执行主体,该设备控制器与其它终端设备的拓展模块相连接,本实施例缝纫设备控制器的通讯方法包括以下步骤:

步骤s100,接收所述拓展模块发送的数据包,其中,所述数据包包括:包头和指令。

设备控制器持续接收拓展模块发送的由包头和指令所组成的数据包。

需要说明的是,在本实施例中,设备控制器为缝纫设备或者其它小型嵌入式设备的设备控制器,其中,其它小型嵌入式设备具体可以为:由stm32、stm8或lpc1766等某一款mcu(microcontrollerunit:微处理单元)组成的电子产品;此外,拓展模块通过有线连接方式与该设备控制器进行连接,该拓展模块具体可以为:wifi模块或pc软件等;进一步地,数据包的包头的作用为:确保数据包的完整性和可靠性,数据包的指令主要包含:待执行的命令动作。

具体地,例如:设备控制器按照1字节长度先持续接收拓展模块发送的数据包1的包头,然后,接收拓展模块发送的数据包1的指令。

在另一种可行的实施例中,设备控制器在按照1字节长度持续接收拓展模块发送的数据包的过程中,对接收到的字节数量进行数据叠加统计,例如,设备控制器在接收到数据包1的第一个字节时,进行数据叠加统计为:1、且在接收到数据包1的第二个字节时,进行数据叠加统计为:2,依次类推。

进一步地,如图3所示,在一种可行的实施例中,上述步骤s100,可以包括:

步骤s101,接收所述拓展模块发送的数据包的包头;

设备控制器先持续接收拓展模块发送的数据包的包头。

步骤s102,对所述包头进行比对校验,若所述包头比对校验成功,则接收所述拓展模块发送的所述数据包的指令;

设备控制器在接收到拓展模块发送的数据包的包头之后,先针对该包头进行对比校验,并且,在针对该包头的比对校验成功时,进一步的接收该拓展模块发生的该数据包的指令。

具体地,例如,设备控制器在按照1字节长度持续接收拓展模块发送的数据包1的包头时,同步对接收到该包头的1字节长度的字符进行比对校验,然后,设备控制器在确定对整个包头的比对校验成功后,确认了该数据包的包头可靠性,继续按照1字节长度持续接收拓展模块发送的数据包1的指令的部分字符。

在本实施例中,通过设备控制器先持续接收拓展模块发送的数据包的包头,设备控制器在接收到拓展模块发送的数据包的包头之后,先针对该包头进行对比校验,并且,在针对该包头的比对校验成功时,进一步的接收该拓展模块发生的该数据包的指令,避免了设备控制器在一次性接收完整的数据包后,该数据包不完整或不可靠,从而导致浪费了数据传输时间以及占据了设备控制器的额外存储空间。

进一步地,如图4所示,在一种可行的实施例中,所述包头包括:固定魔数和第一crc冗余校验码,上述步骤s102中,“对所述包头进行比对校验”的步骤,可以包括:

步骤s1021,针对所述固定魔数进行有序比对。

设备控制器将自身包含的固定魔数,与从拓展模块处接收到的数据包内包含的固定魔数,按照一定顺序进行比对。

需要说明的是,在本实施例中,固定魔数为一个特定的字符串,设备控制器、数据包和拓展模块都同时具有该固定魔数。

具体地,例如,设备控制器把自身包含的固定魔数与从拓展模块处接收到的数据包1的固定魔数由第一位字符依次比对至最后一位字符,或由最后一位字符依次比对至第一位字符。在本实施例中,该固定魔数为字符串“xhsk”,则设备控制器将自身的特定字符串“xhsk”与数据包1中的特定字符串“xhsk”从第一位字符“x”开始比对,在字符“x”比对成功后,继续依次比对字符“h”、字符“s”和字符“k”,若其中某个字符比对失败,如数据包1的固定魔数不包含字符“h”,则设备控制器针对数据包1中固定魔数的字符“h”比对失败,则会导致整个数据包1的固定魔数比对失败。

步骤s1022,若所述固定魔数比对成功,则针对所述第一crc冗余校验码进行校验比对。

若设备控制器在针对从拓展模块处接收到的数据包的固定魔数比对成功,则设备控制器进一步针对该数据包中包含的第一crc冗余校验码进行比对。

具体的,例如,拓展模块在向设备控制器发送数据包1时,先在数据包1的包头后面添加一个附加数(该附加数即为用来校验的第一crc冗余校验码,该第一crc冗余校验码具体可以为二进制序列),以生成一个加工后的包头,然后将该加工后的包头发送给设备控制器。

需要说明的是,在本实施例中,拓展模块在数据包1的包头后面添加的附加数不是随意的,该附加数使加工后的包头能与设备控制器和拓展模块共同选定的某个特定数采用“模2除法”整除。

设备控制器在接收到该数据包1之后,同样采用“模2除法”,将该数据包1中经过加工后的包头除以该特定数。因为拓展模块在发送数据包1之前已在数据包1的包头中添加了一个附加数,从而使得加工后的包头可被该特定数进行整除,因此,设备控制器在接收到该数据包1之后,利用该数据包1中经过加工后的包头除以该特定数时,所得到的结果应该没有余数。如果该结果存在余数,则表明该数据包1的包头在从拓展模块传输到设备控制器的过程中出现了差错,即表示针对数据包1的第一crc冗余校验码的比对失败。

进一步地,在另一种实施例中,在上述步骤s1021,针对所述固定魔数进行有序比对之后,还包括:

步骤s1023,若针对所述固定魔数的比对失败,则重置接收计数。

设备控制器在针对从拓展模块处接收到的数据包的固定魔数比对失败,即对该数据包的特定字符串比对失败后,表明该数据包在由拓展模块向设备控制器传输的过程中出现了错误,则设备控制器丢弃该数据包,并重置对该数据包的接收字符的数据叠加统计,以及等待接收拓展模块发送的新的数据包。

具体地,例如,设备控制器对由拓展模块处发送的数据包1的接收过程中,同时对该数据包1的固定魔数,即该数据包1的特定字符串“xhsk”中的字符“h”比对失败,从而使得针对该数据包1的固定魔数比对失败,表明该数据包1在由拓展模块向设备控制器传输的过程中出现了错误,则设备控制器丢弃该数据包1;此时设备控制器对该数据包1的字符接收的数据叠加统计为:2(接收到第二个字符),将数据叠加统计重置为:0,并等待接收拓展模块发送的新的数据包——即数据包2。

进一步地,在另一种实施例中,在上述步骤s1022中,“针对所述第一crc冗余校验码进行校验比对”的步骤之后,还包括:

步骤s1024,若针对所述第一crc冗余校验码的校验比对失败,则重置接收计数。

若设备控制器针对从拓展模块处接收到的数据包中包含的第一crc冗余校验码进行比对失败,则设备控制器进一步针对该数据包进行重置接收计数。

具体地,例如,设备控制器在针对从拓展模块处接收到的数据包1的第一crc冗余校验码的比对失败,即对该数据包1的包头采用“模2除法”进行处理后存在余数,表明数据包1在由拓展模块向设备控制器传输的过程中出现了错误,则设备控制器丢弃该数据包1,并重置接收到的该数据包1的字符的数据叠加统计为:0,以及等待接收拓展模块发送的新的数据包——数据包2。

步骤s200,对所述指令进行比对校验得到比对结果,并根据所述指令确定所述数据包的类型。

设备控制器在对从拓展模块处接收到的数据包的指令接收完成后,对该指令进行比对校验,从而得到并记录比对结果,并且根据该指令的内容确定该数据包的类型。

进一步地,在一种实施例中,所述包头还包括第二crc冗余校验码,上述步骤200中,“对所述指令进行比对校验得到比对结果”的步骤,可以包括:

步骤s201,针对所述第二crc冗余校验码进行校验比对得到比对结果,并记录所述比对结果。

设备控制器针对从拓展模块处接收到的数据包的第二crc冗余校验码进行校验比对,从而得到比对结果,并记录该比对结果。

具体地,例如,设备控制器在针对从拓展模块处接收到的数据包1的第二crc冗余校验码进行比对,即对该数据包1的指令采用“模2除法”进行处理得到比对结果,并将该比对结果进行记录。

进一步地,在一种实施例中,所述指令还包括类型标志,所述数据包的类型包括:应答包和非应答包,所述非应答包包括:普通包和反馈包,上述步骤200中,“根据所述指令确定所述数据包的类型”的步骤,可以包括:

步骤s202,识别所述类型标志。

设备控制器识别数据包1的指令当中所包含的类型标志。

需要说明的是,在本实施例中,类型标志可以为指令中包含的一段特定代码,且不同数据包各自的指令当中所包含的类型标志是不同的,不同类型标志对应标识数据包不同的类型。

具体地,例如,设备控制器通过成熟的指令识别技术,来针对从拓展模块处接收到的数据包1的指令当中,所包含的一段特定代码进行识别。

步骤s203,根据所述类型标志确定所述数据包的类型为普通包、应答包或反馈包。

由于不同的类型标志各自对应不同的数据包的类型,从而设备控制器可以根据所识别出来的类型标志,判断出数据包的类型为普通包、应答包或反馈包。

具体地,例如,设备控制器从拓展模块处接收到数据包1,而数据包的指令中的类型标志包括“100”、“110”和“111”三种不同代码,并且类型标志“100”对应的数据包的类型为普通包,类型标志“110”对应的数据包的类型为应答包,类型标志“111”对应的数据包的类型为反馈包,当设备控制器识别出该数据包1的指令包含的类型标志为“100”时,则可以判断该数据包1的类型为普通包;同理,当设备控制器识别出该数据包1的指令包含的类型标志为“110”时,则可以判断该数据包1的类型为应答包;以及,当设备控制器识别出该数据包1的指令包含的类型标志为“111”时,则可以判断该数据包1的类型为反馈包。

步骤s300,根据所述比对结果和所述数据包的类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包。

设备控制器根据对从拓展模块处接收到数据包的指令进行针对第二crc冗余校验码的比对校验所得到的比对结果,以及根据该指令包含的类型标志判断的数据包的类型,综合该比对结果和该数据包的类型,从而向拓展模块发送接收成功应答包,完成数据包的接收过程,或者设备控制器丢弃该数据包,并将对该数据包的接收字符的数据叠加统计进行重置,以及等待拓展模块发送新的数据包。

进一步地,在一种实施例中,所述比对结果包括:比对成功和比对失败,所述应答包包括:接收成功应答包和接收失败应答包,上述步骤s300,可以包括:

步骤s301,若所述数据包的类型为应答包,且所述比对结果为比对成功,则重置接收计数并接收所述拓展模块发送的新的数据包。

设备控制器从拓展模块处接收到数据包,通过识别该数据包的指令的类型标志判断该数据包的类型为应答包,且针对该数据包的第二crc冗余校验码比对成功,则重置对该数据包的接收字符的数据叠加统计,并等待接收拓展模块发送的新的数据包。

具体地,例如,设备控制器从拓展模块处接收到数据包1,并且识别到该数据包1的指令中的类型标志为“110”,而类型标志“110”对应的数据包的类型为应答包,即设备控制器确定所接收到的数据包1的类型为应答包,以及,设备控制器针对该数据包1的第二crc冗余校验码校验比对的结果为比对成功,则说明由设备控制器在接收到由拓展模块发送的该数据包1之前向拓展模块发送的与该数据包1关联的非应答包,已经完成了传输过程,从而,设备控制器重置对数据包1的数据叠加统计,并等待接收拓展模块发送的新的数据包:数据包2。

步骤s302,若所述数据包的类型为应答包,且所述比对结果为比对失败,则等待预设时长后向所述拓展模块重新发送与所述应答包关联的非应答包。

设备控制器从拓展模块处接收到数据包,通过识别该数据包的指令的类型标志判断该数据包的类型为应答包,且针对该数据包的第二crc冗余校验码比对失败,则等待预设时长后向拓展模块重新发送与该数据包关联的非应答包,并且等待拓展模块再次返回发送新的应答包。

需要说明的是,在本实施例中,预设时长可以按照实际需要进行设置调整,如预设时长可以为2秒、3秒或4秒等,在此不做具体限制。

具体地,例如,设备控制器从拓展模块处接收到数据包1,并且识别到该数据包1的指令中的类型标志为“110”,而类型标志“110”对应的数据包的类型为应答包,即设备控制器确定所接收到的数据包1的类型为应答包,以及,设备控制器针对该数据包1的第二crc冗余校验码校验比对的结果为比对失败,则说明由设备控制器向拓展模块发送的与该数据包1关联的非应答包,在传输过程中出现了错误,此时设备控制器丢弃该数据包1(等于没收到该应答包),重置对数据包1的接收字符的数据叠加统计为:0,等待2秒后向拓展模块重新发送与该数据包1关联的非应答包,并等待接收拓展模块发送的新的数据包。

进一步地,在另一种可行的实施例中,在设备控制器重新向拓展模块发送与数据包1关联的数据包2(非应答包)后,若未能接收到拓展模块发送的与数据包2关联的数据包3(应答包),或者设备控制器针对从拓展模块处接收到的数据包3的第二crc冗余校验码校验比对的比对结果为比对失败,则设备控制器等待2秒后继续重复向拓展模块发送与数据包2内容相同的数据包4(非应答包),直至设备控制器向拓展模块发送相同数据包(非应答包)的次数达到预设次数,或者拓展模块向设备控制器回复发送与数据包4关联的数据包5(应答包),并且设备控制器针对数据包5的第二crc冗余校验码的比对结果为比对成功,如此,完成设备控制器与拓展模块之间关于数据包1的整个传输过程。

需要说明的是,在本实施例中,预设次数按实际需求设置调整,可采用5次、10次或15次等,在此不做具体限制。

步骤s303,若所述数据包的类型为非应答包,且所述比对结果为比对成功,则向所述拓展模块发送所述接收成功应答包。

设备控制器从拓展模块处接收到数据包,通过识别该数据包的指令的类型标志判断该数据包的类型为非应答包,且针对该数据包的第二crc冗余校验码比对成功,则向拓展模块发送与该数据包关联的接收成功应答包。

具体地,例如,设备控制器从拓展模块处接收到数据包1,并且识别到该数据包1的指令中类型标志为“100”,而该类型标志“100”对应的数据包的类型为普通包,即设备控制器确定所接收到的数据包1的类型为普通包,以及,针对该数据包1的第二crc冗余校验码校验比对的结果为比对成功,则设备控制器向拓展模块发送与该数据包1关联的数据包2(接收成功应答包),表明对该数据包1接收成功。

步骤s304,若所述数据包的类型为非应答包,且所述比对结果为比对失败,则向所述拓展模块发送所述接收失败应答包,并重置接收计数和接收所述拓展模块发送的新的数据包。

设备控制器从拓展模块处接收到数据包,通过识别该数据包的指令的类型标志判断该数据包的类型为非应答包,且针对该数据包的第二crc冗余校验码比对失败,则向拓展模块发送与该数据包关联的接收失败应答包,重置对该数据包的接收字符的数据叠加统计,并且等待拓展模块发送新的数据包。

具体地,例如,设备控制器从拓展模块处接收到数据包1,识别到该数据包1的指令中的类型标志为“100”,而该类型标志“100”对应的数据包的类型为普通包,即设备控制器确定所接收到的数据包1的类型为普通包,以及,设备控制器针对该数据包1的第二crc冗余校验码校验比对的结果为比对失败,从而,设备控制器向拓展模块发送与该数据包1关联的数据包2(接收失败应答包),表明设备控制器对数据包1接收失败,并且重置对数据包1的接收字符的数据叠加统计为:0,等待接收拓展模块发送新的数据包。

在本实施例中,通过设备控制器持续接收拓展模块发送的由包头和指令所组成的数据包;设备控制器在对由拓展模块发送的数据包的指令接收完成后,对该指令进行比对校验,从而得到并记录比对结果,同时根据指令的内容确定数据包的类型;设备控制器根据对数据包的指令进行针对第二crc冗余校验码的比对校验,得到的比对结果,以及根据指令包含的类型标志判断的数据包的类型,综合比对结果和数据包的类型,向拓展模块发送接收成功应答包,以完成数据包的接收过程,或者丢弃该数据包,将对该数据包的接收字符的数据叠加统计进行重置,并等待接收拓展模块发送新的数据包。

本发明第一实施例中,实现了在无需依赖复杂的软件环境或特定硬件的情况下实现可靠传输,且在缝纫设备控制器中能根据不同终端的连接方式(网络连接、串口连接或can连接等连接方式)进行统一可靠的参数指令传输,确保了设备控制器与其它终端之间通讯的安全、高效和通用性,应用范围广,实用性较强。

进一步地,基于上述缝纫设备控制器的通讯方法第一实施例,提出本发明缝纫设备控制器的通讯方法的第二实施例。

在本发明缝纫设备控制器的通讯方法的第二实施例中,所述包头还包括:包序,上述步骤s303,若所述数据包的类型为非应答包,且所述比对结果为比对成功,则向所述拓展模块发送所述接收成功应答包之后,还包括:

步骤a,判断所述包序是否与预设包序一致,其中,所述预设包序包含于所述拓展模块发送的旧的数据包。

设备控制器从拓展模块处接收到数据包,识别该数据包的包头的包序,并将该数据包的包序与预设包序进行比对,判断该包序与预设包序是否一致。

需要说明的是,在本实施例中,预设包序为设备控制器在接收由拓展模块当前发送的数据包之前,接收的上一个由拓展模块发送的数据包的包序。

具体地,例如,设备控制器接收由拓展模块发送的数据包0后,紧接着接收到拓展模块发送的数据包1,则设备控制器将数据包0的包头的包序与数据包1的包头的包序进行比对,判断数据包0的包头的包序与数据包1的包头的包序是否一致。

步骤b,若是,则丢弃所述数据包,并重置接收计数和接收所述拓展模块发送的新的数据包。

设备控制器识别数据包的包头的包序,并将该包序与预设包序进行比对,且比对到该包序与预设包序是一致时,则重置对该数据包的接收字符的数据叠加统计,并等待接收拓展模块发送新的数据包。

具体地,例如,设备控制器接收到由拓展模块发送的数据包0的包序为“1000”,紧接着接收到由拓展模块发送的数据包1的包序同样为“1000”,则设备控制器判断数据包0的包序与数据包1的包序一致,说明数据包0与数据包1的内容重复,从而,设备控制器重置对数据包1的接收字符的数据叠加统计,并等待接收拓展模块发送的新的数据包。

步骤c,若否,则执行所述指令。

设备控制器识别数据包的包头的包序,并将该包序与预设包序进行比对,且比对到该包序与预设包序不是一致时,则执行该数据包的指令。

具体地,例如,设备控制器接收到由拓展模块发送的数据包0的包序为“1000”,紧接着接收到由拓展模块发送的数据包1的包序为“1001”,则设备控制器判断数据包0的包序与数据包1的包序不一致,说明数据包0与数据包1的内容不同,从而,设备控制器执行数据包1的指令。

进一步地,在另一种实施例中,在上述步骤c之后,还包括:

步骤d,执行所述指令后,向拓展模块发送成功反馈包或失败反馈包。

设备控制器在执行由拓展模块发送的数据包的指令后,根据对该指令的执行结果,向拓展模块发送成功反馈包或失败反馈包。

具体地,例如,设备控制器接收到由拓展模块发送的数据包1,该数据包1的指令的内容为“删除a文件”,倘若设备控制器成功执行指令,即成功删除a文件,则设备控制器向拓展模块发送成功反馈包;倘若设备控制器执行指令失败,即未能删除a文件,则设备控制器向拓展模块发送失败反馈包。

在本实施例中,通过设备控制器从拓展模块处接收到数据包,识别该数据包的包头的包序,并将该数据包的包序与预设包序进行比对,判断该包序与预设包序是否一致;若比对到该包序与预设包序是一致时,则重置对该数据包的接收字符的数据叠加统计,并等待接收拓展模块发送新的数据包;若比对到该包序与预设包序不是一致时,则执行该数据包的指令,在执行由拓展模块发送的数据包的指令后,根据对该指令的执行结果,向拓展模块发送成功反馈包或失败反馈包。

本发明避免了设备控制器在与拓展模块的通讯过程中,由于数据包的传输错误,导致设备控制器重复执行数据包的指令,造成资源浪费的情况;以及,在设备控制器执行由拓展模块处接受到的数据包的指令后,根据该指令的执行结果及时向拓展模块发送成功反馈包或失败反馈包,以使拓展模块及时得到指令执行结果的反馈,以便于对后续数据包的发送根据该指令执行结果作出相应的设置和调整。

此外,请参照图5,本发明实施例还提出一种缝纫设备控制器的通讯装置,所述缝纫设备控制器的通讯装置应用于设备控制器,所述缝纫设备控制器的通讯装置包括:

第一交互模块,用于接收所述拓展模块发送的数据包,其中,所述数据包包括:包头和指令;

校验处理模块,用于对所述指令进行比对校验得到比对结果,并根据所述指令确定所述数据包的类型;

第二交互模块,用于根据所述比对结果和所述数据包的类型,向所述拓展模块发送接收成功应答包或者重置接收计数并接收所述拓展模块发送的新的数据包。

优选地,第一交互模块,包括:

接收单元,用于接收所述拓展模块发送的数据包的包头;

第一校验单元,用于对所述包头进行比对校验,若所述包头比对校验成功,则接收所述拓展模块发送的所述数据包的指令;

所述包头包括:固定魔数和第一crc冗余校验码,第一校验单元,包括:

比对子单元,用于针对所述固定魔数进行有序比对;

校验子单元,用于若所述固定魔数比对成功,则针对所述第一crc冗余校验码进行校验比对。

优选地,第一校验单元,还包括:

重置计数子单元,用于若针对所述固定魔数的比对失败,则重置接收计数;以及,若针对所述第一crc冗余校验码的校验比对失败,则重置接收计数。

优选地,所述包头还包括:第二crc冗余校验码,校验处理模块,包括:

第二校验单元,用于针对所述第二crc冗余校验码进行校验比对得到比对结果,并记录所述比对结果。

优选地,所述比对结果包括:比对成功和比对失败,所述应答包包括:接收成功应答包和接收失败应答包,第二交互模块,包括:

第一处理单元,用于若所述数据包的类型为应答包,且所述比对结果为比对成功,则重置接收计数并接收所述拓展模块发送的新的数据包;

第二处理单元,用于若所述数据包的类型为应答包,且所述比对结果为比对失败,则等待预设时长后向所述拓展模块重新发送与所述应答包关联的非应答包;

第三处理单元,用于若所述数据包的类型为非应答包,且所述比对结果为比对成功,则向所述拓展模块发送所述接收成功应答包;

第四处理单元,用于若所述数据包的类型为非应答包,且所述比对结果为比对失败,则向所述拓展模块发送所述接收失败应答包,并重置接收计数和接收所述拓展模块发送的新的数据包。

优选地,所述包头还包括:包序,第二交互模块,还包括:

判断单元,用于判断所述包序是否与预设包序一致,其中,所述预设包序包含于所述拓展模块发送的旧的数据包;

第五处理单元,用于若所述包序与预设包序一致,则丢弃所述数据包,并重置接收计数和接收所述拓展模块发送的新的数据包;

第六处理单元,用于若所述包序与预设包序不一致,则执行所述指令。

优选地,所述指令还包括类型标志,所述数据包的类型包括:应答包和非应答包,所述非应答包包括:普通包和反馈包,校验处理模块,还包括:

识别单元,用于识别类型标志;

确定单元,用于根据所述类型标志确定所述数据包的类型为普通包、应答包或反馈包。

其中,本发明缝纫设备控制器的通讯装置的各功能模块在运行时所实现的步骤,可参照上述本发明缝纫设备控制器的通讯方法的各实施例,此处不再赘述。

此外,本发明实施例还提出一种终端设备,该终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的缝纫设备控制器的通讯方法,该缝纫设备控制器的通讯程序被所述处理器执行时实现如缝纫设备控制器的通讯方法的步骤。

其中,在所述处理器上运行的缝纫设备控制器的通讯方法被执行时所实现的步骤可参照本缝纫设备控制器的通讯方法的各个实施例,此处不再赘述。

此外,本发明实施例还提出一种存储介质,应用于计算机,该存储介质可以为非易失性计算机可读存储介质,该介质上存储有缝纫设备控制器的通讯程序,所述缝纫设备控制器的通讯程序被处理器执行时实现如上所述的缝纫设备控制器的通讯方法的步骤。

其中,在所述处理器上运行的缝纫设备控制器的通讯程序被执行时所实现的步骤可参照本发明缝纫设备控制器的通讯方法的各个实施例,此处不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1