辅助选择局域网接口系统及其通信方法与流程

文档序号:11063428阅读:535来源:国知局
本发明涉及一种局域网接口模型,具体地说,涉及一种辅助选择局域网接口系统及其通信方法。
背景技术
:目前,基于例如RS-485等多种通讯接口均是建立一种半双工仪表通信网络,虽然使用范围极其广泛,但是却只包含硬件接口,无辅助通信协议。从而导致在此基础上进行通讯的软件在进行单机通讯时可能没有问题,但是一旦组网就会有总线争用、通信锁死等问题。针对上述问题,现有部分开发者会选择使用例如MODBUS协议来对软件进行开发,但是这需要对此类协议本身非常熟悉,对于没有使用过此类协议的人来说,不仅需要要对此类协议进行学习,还需要反复进行使用测试,从而导致开发周期长,而这是目前快速产品开发所不能允许的。除上述之外,采用例如MODBUS协议开发的软件在运用到现有未采用相同协议开发的设备中时,还会产生兼容性问题。综上所述,在现有通信机制的限制下,现有人员在对软件进行开发时,难以在兼容性和运行稳定性之间取得较佳平衡。技术实现要素:为了能够克服现有局域网通信机制的弊端,提高相关产品的开发速度,降低开发人员的技术门槛,同时提升产品的稳定性,本发明提供了一种辅助选择局域网接口系统,其能够通过多个的辅助I/O接口模块(辅助的硬件IO口)与多个从机一一对应,从而能够较佳地选择需要通信的从机或者查询某一从机的通信状态,进而能够较佳地保证同一最小时隙内总线的通讯唯一性。本发明能够较佳地适用于诸如RS-485总线、CAN总线等。根据本发明的辅助选择局域网接口系统,其包括用于实现主机与至少一个从机间数据传输的数据总线,以及用于将所述至少一个从机分别接入主机的至少一对辅助I/O接口模块。本发明的系统能够较佳地将多个从机接入一个主机中以组建一个局域网通讯网络,其中每个从机处均能够一一对应地设有一辅助I/O接口模块,从而使得通过拉低或拉高辅助I/O接口模块,即可较佳地在某一时段内选择唯一一条通讯链路,从而保证了多个从机与主机间的数据传输的稳定性,且由于其不需要采用另外的协议(例如MODBUS协议)对软件进行开发,从而也使得本发明的系统在运用于局域网通信时不会存在兼容性问题。本发明的系统中,数据总线能够为例如RS-485通信总线、CAN通信总线等多种总线,从而能够较佳地运用于多种现有的设备中,从而极大地降低开发人员的技术门槛。本发明的系统中,数据总线的硬件能够包括例如电平转换芯片、匹配电阻等,数据总线的软件能够包括例如通用异步收发传输器(UART)发送和接收程序。本发明的系统中,辅助I/O接口模块能够包括I/O口线,且辅助I/O接口模块能够由通信发起方进行控制,辅助I/O接口模块的检测方式能够采用例如中断检测、轮询检测等,从而能够较佳地根据通信需求适用于随机性通信方式或规律性通信方式。作为优选,本发明的系统还能够包括通讯时隙定时器和通讯故障计数器,通讯时隙定时器用于定义单次通信时长上限,主机与所述至少一个从机间的任一次通信时间超过单次通信时长上限时则认定此次通讯为通讯故障,通讯故障计数器用于对单次通讯中发生通讯故障的次数进行记数。本发明的系统中,通讯时隙定时器的定时时间能够设定为1.5~3倍的正常通信时长,通过采用通讯时隙定时器,能够对单次通信时长进行控制,使得超过定时时间的通信即判定为通讯故障以较佳地进行后续处理,从而能够较佳地提高通信效率。本发明的系统中,还能够采用例如通讯故障计数器对单次通讯故障的次数进行计数,从而为后续处理提供了判定基准。本发明的系统中,如果数据的时效性较高且对数据完整性要求不高时,能够对通讯故障计数器进行选择忽律,且在故障次数超过5次后控制节点(从机)休眠,间隔某一设定时间后再启动该节点(从机),以继续完成通信,从而能够较佳地保证数据的较高时效性传输。如果所发送数据的完整性要求较高且可忽略时效性时可选择通讯故障计数器记录通讯故障次数,以等待节点(从机)响应后,重发数据,从而能够较佳地保证数据的完整性传输。另外,本系统中的通讯故障计数器能够在节点(从机)休眠后或重发数据后或通讯完成后被清零,从而能够使得其能够较佳地单独地对单次通信进行记录。为了能够克服现有局域网通信机制的弊端,本发明同时还提供了一种基于上述任一系统建立的主控网络的通信方法,其能够较佳地以控制主机为主,随机选择任意一个从机节点来进行通信。本发明中的主控网络的通信方法中,所有的通信开始都是由主机发起的,从机被动接收主机的指令(数据)。根据本发明的主控网络的通信方法,包括将至少一个从机通过上述系统与一个主机建立主控网络的步骤,其中,主机向任一从机(节点)发送数据时能够包括以下步骤:(1)主机拉高与该从机对应的辅助I/O接口模块;(2)该从机在检测到对应辅助I/O接口模块被拉高后向主机发送第一回复响应;(3)主机在接收到第一回复响应后向该从机发送数据;(4)该从机在接收完数据后向主机发送第一回复确认;(5)主机在接收到第一回复确认后拉低对应辅助I/O接口模块,该次通信结束。本发明的主控网络的通信方法中,主机能够采用轮询机制进行指令设置,从机能够使用中断检测,从而使得主机能够较佳地向任一从机发送数据。通过本发明的主控网络的通信方法,使得主机与从机间在任意时刻均能够保证通讯单一性,从而较佳地避免现有技术中存在的总线争用、通信锁死等问题,较佳 地保证了通讯的稳定性。作为优选,步骤(1)中,主机同时打开一用于定义单次通信时长上限的通讯时隙定时器,主机在单次通信时长上限内未接收到第一回复响应或第一回复确认时则认定该次通信为通讯故障,并采用一通讯故障计数器对该次通讯故障次数进行计数。本发明的主控网络的通信方法中,能够通过通讯时隙定时器和通讯故障计数器对任一次通讯过程进行检控,从而能够较佳地保证数据传输过程中的时效性或完整性。作为优选,该次通讯故障次数在2次以内时,主机重新向该从机发送数据;否则,主机强制拉低对应辅助I/O接口模块以终止该次通信,同时对通讯故障计数器进行清零。本发明的主控网络的通信方法中,能够设定通讯故障在2次以内时对通讯故障进行忽略重发且通讯故障计数器不清零,从而能够兼顾通讯效率和数据完整性。作为优选,单次通信时长上限设定为1.5~3倍正常通信时长。本发明的主控网络的通信方法中,单次通信时长上限能够设定为1.5~3倍正常通信时长,从而能够较佳地避免等待时间过长或因网络稳定性而造成的误判。为了能够克服现有局域网通信机制的弊端,本发明同时还提供了一种基于上述任一系统建立的监听网络的通信方法,其能够较佳地以从机的信息收集处理为主,随时将从机会采集的数据发给主机。本发明的监听网络的通信方法中,任一次通信均是由从机(节点)发起,主机被动响应。根据本发明的监听网络的通信方法,包括将至少一个从机通过上述的系统与一个主机建立监听网络的步骤,其中,任一从机向主机发送数据时包括以下步骤:步骤一,该从机拉高与其对应的辅助I/O接口模块;步骤二,主机在检测到对应辅助I/O接口模块被拉高后,若无其它通信进程 则向该从机发送第二回复响应,否则在其它通信进程结束后向该从机发送第二回复响应;步骤三,该从机在接收到第二回复响应后向主机发送数据;步骤四,主机在接收完数据后向该从机发送第二回复确认;步骤五,该从机在接收到第二回复确认后拉低对应辅助I/O接口模块,本次通信结束。本发明的监听网络的通信方法中,主机能够采用中断检测以进行数据随机完整性接收,从机能够采用轮询机制进行随机数据完整性数据发送;另外,主机和从机也能够能够采用轮询检测进行规律性数据时效传输。通过本发明的监听网络的通信方法,使得主机与从机间在任意时刻均能够保证通讯单一性,从而较佳地避免现有技术中存在的总线争用、通信锁死等问题,较佳地保证了通讯的稳定性。作为优选,步骤一中,该从机同时打开一用于定义单次通信时长上限的通讯时隙定时器,该从机在单次通信时长上限内未接收到第二回复响应或第二回复确认时则认定本次通信为通讯故障,并采用一通讯故障计数器对本次通讯故障次数进行计数。本发明的监听网络的通信方法中,能够通过通讯时隙定时器和通讯故障计数器对任一次通讯过程进行检控,从而能够较佳地保证数据传输过程中的时效性或完整性。作为优选,本次通讯故障次数在2次以内时,该从机重新向主机发送数据;否则,该从机强制拉低对应辅助I/O接口模块以终止本次通信,同时对通讯故障计数器进行清零。本发明的监听网络的通信方法中,能够设定通讯故障在2次以内时对通讯故障进行忽略重发且通讯故障计数器不清零,否则重新向主机发送数据并对通讯故障计数器清零,从而能够兼顾数据的完整性和时效性。作为优选,单次通信时长上限设定为1.5~3倍正常通信时长。本发明的监听网络的通信方法中,单次通信时长上限能够设定为1.5~3倍正 常通信时长,从而能够较佳地避免等待时间过长或因网络稳定性而造成的误判。附图说明图1为实施例1中辅助选择局域网接口系统的层次结构示意图;图2为实施例1中辅助选择局域网接口系统在实际通信时通信应答方的处理流程示意图;图3为实施例1中辅助选择局域网接口系统在实际通信时通信发起方的处理流程示意图;图4为实施例2中局域网通信系统的系统框图。具体实施方式为进一步了解本发明的内容,结合附图和实施例对本发明作详细描述。应当理解的是,实施例仅仅是对本发明进行解释而并非限定。实施例1如图1所示,本实施例提供了一种辅助选择局域网接口系统,其包括硬件模块和软件模块。其中,一个主机能够通过本实施例中的系统与多个从机建立通讯链路。本实施例中,硬件模块包括通信总线和与多个从机一一对应的多个辅助I/O接口模块,通信总线的硬件包括电平转换芯片和相应的匹配电阻,通信总线的软件包括采用UART发送和接收程序单元,辅助I/O接口模块包括I/O口线。软件模块包括通讯时隙定时器和通讯故障计数器,本实施例中,多个从机分别通过与其一一对应的多个辅助I/O接口模块接入通信总线,通信总线接入主机。另外,通讯时隙定时器用于定义单次通信时长上限,且单次通信时长上限能够设定为1.5~3倍(本实施例中为2倍)正常通信时长,主机与任一从机间的任一次通信时间超过单次通信时长上限时则认定此次通讯为通讯故障,通讯故障计数器用于对单次通讯中发生通讯故障的次数进行记数。本实施例的系统在实际运用时,能够对每个辅助I/O接口模块进行编码并且此编码与多个从机的地址码一一对应,从而使得通信发起方能够较佳地对与所需进行数据传输的从机对应的辅助I/O接口模块进行拉高操作。本实施例中,通信发起方的数据帧格式如表1(如下所示),通信接收方在接收到通讯发起方的指令(即与之对应的I/O口线被拉高)时能够对通信发起方进行应答,其中应答帧的格式如表2(如下所示)。应当注意的是,表1和表2仅给出了数据帧和应答帧格式的一种具体实施方式,仅为了对本实施例进行解释,而不能够理解为对本发明所进行的任何限定。表1:表2:帧头应答码1应答码2帧尾AA0KXX如图2、图3所示,运用本实施例的系统进行局域网通信时,能够由通信发起方(主机或某一从机)拉高对应的I/O口线并同时开启通讯时隙定时器,相应的通信应答方(通信发起方为主机则通信应答方为相应的从机,通信发起方为某一从机则通信应答方为主机)在检测到对应的I/O口线被拉高时即向通信发起方发送应答帧,通信发起方在接收到应答帧后即向通信应答方发送数据帧,在数据接收完毕后,通信应答方向通信发起方发送数据回应帧,通信发起方在接收到数据回应帧后即将相应的I/O口线拉低,从而结束本次通信。由上述可知, 本实施例的系统能够较佳地保证在任意时段的通讯唯一性。另外,在上述过程中,若通信发起方在发起通信后,在通讯时隙定时器所定时的时间(单次通信时长上限)内未收到通信应答方的响应(应答帧或数据回应帧),则将此次通讯判定为通讯故障并写入通讯故障计数器中。通信发起方在判定通讯故障后,能够根据实际要求立即结束该次通信(强制拉低响应I/O口线)并对通讯故障计数器清零;或者设定一个通信故障次数上限,当故障次数在设定故障次数上限内时,重启通讯时隙定时器以继续等待通信应答方响应且不对通讯故障计数器清零,当故障次数大于设定故障次数上限时,结束该次通信(强制拉低响应I/O口线)并对通讯故障计数器清零。由上所述,可知本实施例的系统能够根据实际生产要求而对数据的时效性传输和完整性传输进行偏重选择,且能够带来较佳地通讯效率。实施例2如图4所示,本实施例提供了一种基于实施例1中的系统在RS-485的环境下构建的局域网通信系统。本实施例中,通信总线为RS-485总线,主机的MCU采用STM32F103RBT6,主机通过MAX485芯片与RS-485总线连接;从机的个数为4个(值得注意的是,此处从机个数仅仅是一种具体实施方式,而非对本发明所进行的任何限定),所有从机的MCU均采用STM32F103RBT6,所有从机均采用一MAX485芯片接入RS-485总线,且任一从机均采用一对辅助I/O接口模块与主机连接。本实施例中,主机采用轮询方式发送指令(数据),从机采用中断方式对辅助I/O接口模块进行检测,从而使得从机一旦接受到主机发送的指令(数据)即对该指令(数据)进行处理。本实施例中,设定单次通信时长上限为10ms,通讯故障计数器的计数值在2次以内时对数据进行重发,否则报从机故障并结束该次通信同时对通讯故障计数器清零。实施例3本实施例中提供了一种基于实施例1中系统建立的主控网络的通信方法,其中,主机向任一从机发送数据时包括以下步骤:(1)主机拉高与该从机对应的辅助I/O接口模块;(2)该从机在检测到对应辅助I/O接口模块被拉高后向主机发送第一回复响应;(3)主机在接收到第一回复响应后向该从机发送数据;(4)该从机在接收完数据后向主机发送第一回复确认;(5)主机在接收到第一回复确认后拉低对应辅助I/O接口模块,该次通信结束。本实施例中,步骤(1)中,主机同时打开一用于定义单次通信时长上限的通讯时隙定时器,主机在单次通信时长上限内未接收到第一回复响应或第一回复确认时则认定该次通信为通讯故障,并采用一通讯故障计数器对该次通讯故障次数进行计数。该次通讯故障次数在2次以内时,主机重新向该从机发送数据;否则,主机强制拉低对应辅助I/O接口模块以终止该次通信,同时对通讯故障计数器进行清零。本实施例中,单次通信时长上限设定为2.5倍正常通信时长。实施例4本实施例中提供了一种基于实施例1中系统建立的监听网络的通信方法,其中,任一从机向主机发送数据时包括以下步骤:步骤一,该从机拉高与其对应的辅助I/O接口模块;步骤二,主机在检测到对应辅助I/O接口模块被拉高后,若无其它通信进程则向该从机发送第二回复响应,否则在其它通信进程结束后向该从机发送第二回复响应;步骤三,该从机在接收到第二回复响应后向主机发送数据;步骤四,主机在接收完数据后向该从机发送第二回复确认;步骤五,该从机在接收到第二回复确认后拉低对应辅助I/O接口模块,本次通信结束。本实施例中,步骤一中,该从机同时打开一用于定义单次通信时长上限的通讯时隙定时器,该从机在单次通信时长上限内未接收到第二回复响应或第二回复确认时则认定本次通信为通讯故障,并采用一通讯故障计数器对本次通讯故障次数进行计数。本次通讯故障次数在2次以内时,该从机重新向主机发送数据;否则,该从机强制拉低对应辅助I/O接口模块以终止本次通信,同时对通讯故障计数器进行清零。本实施例中,单次通信时长上限设定为1.5倍正常通信时长。以上示意性地对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。所以,如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性地设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1