通信校正方法、装置、可读存储介质及从机与流程

文档序号:16429004发布日期:2018-12-28 20:00阅读:183来源:国知局
通信校正方法、装置、可读存储介质及从机与流程

本发明涉及电子技术领域,特别是涉及一种通信校正方法、装置、可读存储介质及从机。

背景技术

485串行接口是目前通讯设备的常用接口,485通信时一种差分通信,包括a通信、b通信线。然而在安装通讯线路时会经常出现反接问题,如果ab线反接,则不能正常通信。

现有的485通信故障一般是人工进行排查,如果ab线接反了则通过人工去对调ab线,这种方式检查起来麻烦,增加了工作人员的工作量也影响设备的正常运行。还有一种方式是通过一特定的驱动芯片进行ab线的对调,这种方式硬件成本较高。



技术实现要素:

鉴于上述状况,有必要针对现有技术中的问题,提供一种在485通信线反接时可自动校正且成本低的通信校正方法、装置、可读存储介质及从机。

一种通信校正方法,应用于从机中,所述从机通过485通信线与主机连接,所述通信校正方法包括:

当监测到所述主机发送的一通信数据时,获取所述从机中的表现数据,所述表现数据为所述从机接收所述主机的通信数据后所表现出的数据;

根据所述表现数据的校验信息判断所述从机和所述主机的信号线是否反接;

若是,在预存的数据映射表中查询所述表现数据对应的修正数据,并将查询到的修正数据作为所述从机的实际接收数据,所述数据映射表包括多个反接数据和每个所述反接数据对应的修正数据。

进一步的,上述通信校正方法,其中,所述根据所述表现数据的校验信息判断所述从机和所述主机的信号线是否反接的步骤包括:

获取预设的时间段内所述从机中的表现数据,并校验所述时间段内的所述表现数据是否正确;

若否,确定所述从机和所述主机的信号线反接。

进一步的,上述通信校正方法,其中,所述校验所述表现数据是否正确的步骤包括:

根据crc校验方法校验所述表现数据是否正确。

进一步的,上述通信校正方法,其中,所述在预存的数据映射表中查询所述表现数据对应的修正数据的步骤包括:

将所述表现数据中靠前的预设数量的字符与所述数据映射表中的多个反接数据的字符依次进行比较,以确定匹配的目标反接数据;

根据所述数据映射表确定所述目标反接数据对应的修正数据。

进一步的,上述通信校正方法,其中,所述获取所述从机中的表现数据的步骤之前还包括:

在所述从机和所述主机的485通信线反接的条件下,接收所述主机发送的多个通信数据,并获取所述从机中对应的表现数据,以得到多个反接数据;

将所述通信数据作为修正数据与所述反接数据建立映射关系,以生成一数据映射表,并存储所述数据映射表。

进一步的,上述通信校正方法,其中,根据所述表现数据的校验信息判断所述从机和所述主机的信号线是否反接的步骤之后还包括:

当判断到所述从机和所述主机的信号线反接时,将所述从机的连接状态修改为反接状态,并控制所述从机上对应的状态指示灯工作。

本发明实施例还提供了一种通信校正装置,应用于从机中,所述从机通过485通信线与主机连接,所述通信校正装置包括:

第一获取模块,用于当监测到所述主机发送的一通信数据时,获取所述从机中的表现数据,所述表现数据为所述从机接收所述主机的通信数据后所表现出的数据;

判断模块,用于根据所述表现数据的校验信息判断所述从机和所述主机的信号线是否反接;

查询模块,用于在预存的数据映射表中查询所述表现数据对应的修正数据,并将查询到的修正数据作为所述从机的实际接收数据,所述数据映射表包括多个反接数据和每个所述反接数据对应的修正数据。

进一步的,上述通信校正装置,其中,所述判断模块具体用于:

获取预设的时间段内所述从机中的表现数据,并校验所述时间段内的所述表现数据是否正确;

若否,确定所述从机和所述主机的信号线反接。

进一步的,上述通信校正装置,其中,所述校验所述表现数据是否正确的步骤包括:

根据crc校验方法校验所述表现数据是否正确。

进一步的,上述通信校正装置,其中,所述查询模块具体用于:

将所述表现数据中靠前的预设数量的字符与所述数据映射表中的多个反接数据的字符依次进行比较,以确定匹配的目标反接数据;

根据所述数据映射表确定所述目标反接数据对应的修正数据。

进一步的,上述通信校正装置,还包括:

第二获取模块,用于在所述从机和所述主机的485通信线反接的条件下,接收所述主机发送的多个通信数据,并获取所述从机中对应的表现数据,以得到多个反接数据;

数据映射表建立模块,用于将所述通信数据作为修正数据与所述反接数据建立映射关系,以生成一数据映射表,并存储所述数据映射表。

进一步的,上述通信校正装置,还包括:

修改模块,用于当判断到所述从机和所述主机的信号线反接时,将所述从机的连接状态修改为反接状态,并控制所述从机上对应的状态指示灯工作。

本发明实施例还提供了一种可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述方法的步骤。

本发明实施例还提供了一种从机,包括存储器、处理器以及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现上述方法的步骤。

本发明实施例中,当从机和主机的485信号线接反时,从机通过查询数据映射表中修正数据来校正从主机接收到的数据,从而在反接的情况下也能保证主机和从机的正常通信。本实施例通过软件实现数据485通信数据的校正,其自动纠正过程都是在从机上做的,各从机以主机发的数据为准,来校正自己的数据,无需人工干涉,且不用专用芯片,校正方式简单,且成本低。

附图说明

图1为本发明第一实施例中的通信校正方法的流程图;

图2为本发明第二实施例中的通信校正方法的流程图;

图3为本发明第三实施例中的通信校正装置的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

参照下面的描述和附图,将清楚本发明的实施例的这些和其他方面。在这些描述和附图中,具体公开了本发明的实施例中的一些特定实施方式,来表示实施本发明的实施例的原理的一些方式,但是应当理解,本发明的实施例的范围不受此限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。

请参阅图1,为本发明第一实施例中的通信校正方法,该方法应用于任意一从机中,该从机通过485通信线与主机连接。该主机可与多个从机通过485通信连接,采用主机“轮询”,从机“应答”的点对点通信方式。该通信校正方法包括步骤s11~s13。

步骤s11,当监测到所述主机发送的一通信数据时,获取所述从机中的表现数据,所述表现数据为所述从机接收所述主机的通信数据后所表现出的数据。

主机发送数据用的是单片机的txd引脚,也就是说,在txd引脚上表现数据。例如,要发送数据0x55,写成二进制就是0x01010101,txd引脚上就会依次用高低电平体现1和0。而从机接收数据,用的是单片机引脚rxd,也就是说,在rxd引脚上表现数据。在接收数据的过程中,txd引脚是一直保持高电平的,当txd是高电平时,re引脚是低电平,正好调理成了接收状态,然后485芯片的ro引脚(也就是接rxd的引脚)就会反应ab传输过来的数据。

从机实时侦听总线数据,当检测到主机向从机发送通信数据时,获取从机rxd引脚上表现的数据,即表现数据。从机的表现数据和主机发送的数据可能相同,也可能是不同的。例如,在主机和从机的a、b通信线连接正确的情况下,主机向任意一从机发送通信数据时,主机发送的通信数据和从机的表现数据是相同的,从机根据接收到的数据执行相应的控制指令。而当主机和从机的连接线在反接的情况下,从机可以接收主机发送的信息,但是,在从机上表现的却是错误的通信数据,从机无法执行主机发送的指令。

步骤s12,根据所述表现数据的校验信息判断所述从机和所述主机的信号线是否反接,若是,则执行步骤s13。

在数据传输过程中,为尽量提高接受方收到数据的正确率,在接收方接收数据之前需要对数据进行差错检测,且仅当检测的结果为正确时接收方才真正收下数据。检测的方式有多种,常见的有奇偶校验、因特网校验和循环冗余校验等。从机接收到主机发送的通信数据时,对从机中的表现数据进行校验,以判断接收的数据是否错误,从而判定主机和从机的信号线是否反接。当判断到主机和从机接反时,需要对从机的表现数据进行校正,使其与主机发送的数据一致。当从机和主机没有接反时,则从机正常接收主机发送的通信数据。

步骤s13,在预存的数据映射表中查询所述表现数据对应的修正数据,并将查询到的修正数据作为所述从机的实际接收数据,所述数据映射表包括多个反接数据和每个所述反接数据对应的修正数据。

当主机和从机接反时,需要对从机接收的数据进行校正,具体实施时,从预存的数据映射表中查询从机的表现数据所对应的修正数据,并将查询到的修正数据作为从机实际接收的数据。该数据映射表预先存储在从机中,该数据映射表包括反接条件下的多个反接数据和修正数据的对应关系。该修正数据与485通信正常时从机接收的数据一致。从机将查询到的修正数据作为最终的接收数据,并根据该修正数据执行对应的命令,从而保证主机和从机的正常通信。

本实施例中,当从机和主机的485信号线接反时,从机通过查询数据映射表中修正数据来校正从主机接收到的数据,从而在反接的情况下也能保证主机和从机的正常通信。本实施例通过软件实现数据485通信数据的校正,其自动纠正过程都是在从机上做的,各从机以主机发的数据为准,来校正自己的数据,无需人工干涉,且不用专用芯片,校正方式简单,且成本低。

请参阅图2,为本发明第二实施例中的通信校正方法,包括步骤s21~s27。

步骤s21,在所述从机和所述主机的485通信线反接的条件下,接收所述主机发送的多个通信数据,并获取所述从机中对应的表现数据,以得到多个反接数据。

步骤s22,将所述通信数据作为修正数据与所述反接数据建立映射关系,以生成一数据映射表,并存储所述数据映射表。

上述步骤中,将主机和从机的485通信的a、b线反接,开始测试。主机向从机发送多个通信数据0x00-0xff至从机,每个通信数据对应一个控制指令,用户可根据从机需要执行的所有指令,设置对应的通信数据。从机接收到a、b线反接后的数据所表现的数据为反接数据,将该反接数据建立与通信数据0x00-0xff一一的映射关系,生成一数据映射表,并进行存储。

可以理解的,当主机连接多个从机时,主机可分别向每个从机发送多个通信数据,不同从机所执行的指令不同,其主机发送的通信数据也不同。每个从机根据接实际收到的数据和主机的发送数据均可建立一数据映射表。

步骤s23,当监测到所述主机发送的一通信数据时,获取所述从机中的表现数据。

从机实时侦听总线数据,当检测到主机向从机发送通信数据时,获取从机中的表现数据。从机的表现数据和主机发送的数据可能相同,也可能是不同的。例如,在主机和从机的a、b通信线连接正确的情况下,主机向任意一从机发送通信数据时,主机发送的通信数据和从机的表现数据是相同的,从机根据接收到的数据执行相应的控制指令。而当主机和从机的连接线在反接的情况下,从机可以接收主机发送的信息,但是,在从机上表现的却是错误的通信数据,从机无法执行主机发送的指令。

步骤s24,获取预设的时间段内所述从机中的表现数据,并校验所述时间段内的所述表现数据是否为正确数据。

步骤s25,当所述时间段内的所述表现数据不为正确数据时,确定所述从机和所述主机的信号线反接。

主机发送的通信数据一般为连续数字组成的字符串,从机在接收主机的数据之前都会对主机发送的通信数据进行校验,若从机在一段时间内得到的表现数据经校验后均是错误的,说明该从机和主机的485通信线接反了。

本实施例中,采用crc(cyclicredundancycheck,循环冗余校验)校验方法校验从机中的数据是否正确。crc校验主要用来检测或校验数据传输或者保存后可能出现的错误。该校验方法的特征是信息字段和校验字段的长度可以任意选定,因此,从机可对一定时间内的数据进行连续校验。上述步骤中的预设时间段可根据实际情况进行设置,例如可设置为30s,即获取30s内的数据进行crc校验。从机如果收到数据,但是数据校验错误,且这样持续一定时间(30s),则判定是485通信的ab线接反了。

步骤s26,在预存的数据映射表中查询所述表现数据对应的修正数据,并将查询到的修正数据作为所述从机的实际接收数据。

很多情况下从机接收的数据为一串较长的字符串,一般包括起始位、数据位、效验位和停止位。若是将从机中的表现数据中的每个字符与数据映射表中的字符一一进行匹配,以在表中查找与之相同的反接数据的话,将会增大从机的运算量。而实际情况中,主机发送的不同的两个通信数据其前数位的字符已表现出不同,因此只需要比较前几位的字符便可定位到数据映射表中的具体反接数据。因此,本实施例中,在预存的数据映射表中查询从机中的表现数据对应的修正数据的步骤包括:

将所述表现数据中靠前的预设数量的字符与所述数据映射表中的多个反接数据的字符依次进行比较,以确定匹配的目标反接数据;

根据所述数据映射表确定所述目标反接数据对应的修正数据。

其中,预设数量的字符可根据实际情况进行设置,例如本实施例中,可比较前3位字符,即将从机中的表现数据的前三位与数据映射表中的每个反接数据的前三位字符进行比较,以查找到与之相同的目标反接数据,从而确定该数据对应的修正数据。

进一步的,作为一种可实施的方式上述步骤s25之后还包括步骤:

步骤s27,将所述从机的连接状态修改为反接状态,并控制所述从机上对应的状态指示灯工作。

上述步骤中,当判断到主机和从机的通信线反接时,将从机的连接状态修改为反接状态,具体实施时,可通过标记位进行操作,正接状态标记“1”,反接状态标记“0”。并根据连接状态控制对应的状态指示灯工作,以便于工作人员了解该从机的连接状态。

下面以一具体的实施例进行说明:

在热泵项目中,主板作为主机,显示板作为从机,主板与显示板通过485总线通信。当主板与显示板ab先反接时,主板向显示板发送多个0x00-0xff数据,显示板接收并记录显示板所表现的数据,从而建立一个一一对应的映射表tab。

在实际的工程,显示板时刻监听485总线数据。显示板获取主板发送的数据,并进行校验;当在30s内校验显示板的显示数据均为错误的数据时,则确定a、b线反接了。此时,显示板启用校正程序,用接收到的数据去查找数据映射表中对应的修正数据,从而得到正确的数据。

请参阅图3,为本发明第三实施例中的通信校正装置,应用于从机中,所述从机通过485通信线与主机连接,该装置包括:

第一获取模块100,用于当监测到所述主机发送的一通信数据时,获取所述从机中的表现数据,所述表现数据为所述从机接收所述主机的通信数据后所表现出的数据;

判断模块200,用于根据所述表现数据的校验信息判断所述从机和所述主机的信号线是否反接;

查询模块300,用于在预存的数据映射表中查询所述表现数据对应的修正数据,并将查询到的修正数据作为所述从机的实际接收数据,所述数据映射表包括多个反接数据和每个所述反接数据对应的修正数据。

进一步的,上述通信校正装置,其中,所述判断模块200具体用于:

获取预设的时间段内所述从机中的表现数据,并校验所述时间段内的所述表现数据是否正确;

若否,确定所述从机和所述主机的信号线反接。

进一步的,上述通信校正装置,其中,所述校验所述表现数据是否正确的步骤包括:

根据crc校验方法校验所述表现数据是否正确。

进一步的,上述通信校正装置,其中,所述查询模块300具体用于:

将所述表现数据中靠前的预设数量的字符与所述数据映射表中的多个反接数据的字符依次进行比较,以确定匹配的目标反接数据;

根据所述数据映射表确定所述目标反接数据对应的修正数据。

进一步的,上述通信校正装置,还包括:

第二获取模块400,用于在所述从机和所述主机的485通信线反接的条件下,接收所述主机发送的多个通信数据,并获取所述从机中对应的表现数据,以得到多个反接数据;

数据映射表建立模块,用于将所述通信数据作为修正数据与所述反接数据建立映射关系,以生成一数据映射表,并存储所述数据映射表。

进一步的,上述通信校正装置,还包括:

修改模块500,用于当判断到所述从机和所述主机的信号线反接时,将所述从机的连接状态修改为反接状态,并控制所述从机上对应的状态指示灯工作。

本发明实施例所提供的通信校正装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明还提出一种可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的通信校正方法。

本本发明实施例还提供了一种从机,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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