工业互联网网关及其组态方法
技术领域
本申请涉及工业互联网技术领域,具体而言,涉及一种工业互联网网关及其组态方法。
背景技术
在模块化产品的设计中,一般采用的主控+扩展模块的产品构成形式,各个模块之间进行互联后,需要定位子模块的安装位置,供主控识别,主控识别后,自动完成硬件的组态工作,最终将组态结果呈现在人机界面上。
模块安装位置的识别常用的方法有拨码方式,每个子模块具备唯一的拨码地址,供主控进行识别。这种拨码方式需要用户了解拨码方法,其操作难度大。
发明内容
本申请实施例的目的在于提供一种工业互联网网关及其组态方法,用以解决现有技术中操作难度大的技术问题。
第一方面,本申请实施例提供一种基于工业互联网网关的组态方法,包括:与主控模块连接的IO模块接收所述主控模块发送的第一位置信息;其中,所述第一位置信息为所述主控模块的位置编号;所述IO模块根据所述第一位置信息获得第二位置信息;所述第二位置信息为所述IO模块的位置编号;所述IO模块向下一IO模块发送所述第二位置信息,以使所述下一IO模块根据所述第二位置信息进行位置确定,获得所述IO模块对应的第二位置信息,直至最后一个IO模块确定位置信息为止;获取到第二位置信息的IO模块向所述主控模块发送注册信息,以进行入网注册;其中,所述注册信息包括所述第二位置信息和是否为最后模块;所述主控模块在接收到最后一个IO模块发送的所述注册信息后确定组态完成。
本申请实施例通过总线串联主控模块和IO模块,并利用IO总线传输位置信息,从而使得每个模块都能确定自身所在的位置,并将所在的位置注册到主控模块中,以实现自动组网,无需人工操作。
进一步地,所述IO模块根据所述第一位置信息获得第二位置信息,包括:所述IO模块在所述第一位置信息的基础上加1,获得所述第二位置信息。
本申请实施例通过在接收到上一模块的位置信息后,在上一模块的位置信息的基础上加1便能够获知自身所在的位置信息,从而实现了位置信息的自动获取。
进一步地,相邻的两个模块之间通过总线通信连接;所述总线包括IO总线,所述IO总线包括多条第一连接线;所述与主控模块连接的IO模块接收所述主控模块发送的第一位置信息,包括:与主控模块连接的IO模块接收所述主控模块通过所述多条第一连接线发送的第一位置信息;所述IO模块向下一IO模块发送所述第二位置信息,包括:所述IO模块通过多条第一连接线向下一IO模块发送所述第二位置信息。
进一步地,所述IO总线还包括第二连接线;且所述IO总线的默认状态为下拉输入;所述方法还包括:当所述IO模块接收到由主控模块发送的第一位置信息,或接收到前一IO模块发送的第二位置信息后,将所述IO模块接收第一位置信息或第二位置信息那一侧的第二连接线的状态值为高电平输出。
本申请实施例通过第二连接线的电平变换来告知前一模块有邻居存在,从而使得主控模块判断是否所有的IO模块完成入网注册,进而判断是否完成组态。
进一步地,在与主控模块连接的IO模块接收所述主控模块发送的第一位置信息之前,所述方法还包括:当所述主控模块和所述IO模块上电后,所述IO模块向所述主控模块发送广播注册帧,以初始化状态注册到主控模块。
第二方面,本申请实施例提供一种工业互联网网关,包括主控模块和多个IO模块链,主控模块和所述多个IO模块链通过总线通信连接,每一IO模块链中包括至少一个IO模块,且多个IO模块之间通过总线串行连接;与所述主控模块连接的所述IO模块接收所述主控模块发送的第一位置信息;其中,所述第一位置信息为所述主控模块的位置编号;所述IO模块根据所述第一位置信息获得第二位置信息;所述第二位置信息为所述IO模块的位置编号;所述IO模块向下一IO模块发送所述第二位置信息,以使所述下一IO模块根据所述第二位置信息进行位置确定,获得所述IO模块对应的第二位置信息,直至最后一个IO模块确定位置信息为止;获取到第二位置信息的IO模块向所述主控模块发送注册信息,以进行入网注册;其中,所述注册信息包括所述第二位置信息和是否为最后模块;所述主控模块在接收到最后一个IO模块发送的所述注册信息后确定组态完成。本申请实施例通过总线将主控模块和多个IO模块串联,并通过总线传递位置信息,从而实现各个模块自动确定位置,进一步实现将主控模块和多个IO模块自动组态且该互联网网关结构简单,成本较低。
进一步地,所述主控模块包括第一总线,所述IO模块包括第二总线;所述主控模块的第一总线通过连接器与所述IO模块的第二总线通信连接。
本申请实施例通过第一总线和第二总线实现位置信息的传递,从而使得各个模块根据接收到前一模块的位置信息来自动确定自身的位置信息。
进一步地,所述第一总线和所述第二总线均包括通讯总线、电源总线和IO总线;所述通讯总线为以太网总线,用于实现所述主控模块和所述IO模块之间的信息交互;所述电源总线包括DC24V电源总线和DC5V电源总线,用于为所述主控模块和所述IO模块提供电能;所述IO总线包括多条第一连接线和一条第二连接线,用于实现所述主控模块和所述IO模块的组态。
进一步地,所述主控模块包括显示屏;所述显示屏用于显示所述网关的状态。
进一步地,所述IO模块包括指示灯,所述指示灯用于指示所述IO模块的状态。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种工业互联网网关结构示意图;
图2为本申请实施例提供的两个IO模块之间连接的示意图;
图3为本申请实施例提供的IO总线连接示意图;
图4为本申请实施例提供的一种基于工业互联网网关的组态方法流程示意图;
图5为本申请实施例提供的第一场景中网关结构示意图;
图6为本申请实施例提供的第二场景中网关结构示意图;
图7为本申请实施例提供的第三场景中网关结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
传统技术中,通过拨码方式对各个子模块进行定位,其优点是在拨码完成后,不用区分模块的安装位置,可随意对位置进行调换,但是,这种方式需要在每个模块上都设置旋转拨码,其对结构设计以及电路设计上增加设计及生产成本。并且需要用户了解拨码方法,从而增加了用户的使用难度。
还有另一种方法,就是采用大底座方式,即在底座上固定地址,当模块插在底座上,识别底座上的地址,对模块安装位置进行识别。模块识别到位置后,根据不同的位置,向主控进行注册,完成系统的组态工作。这种方式需要一次性设计多种底座,3卡位、5卡位、7卡位、10卡位等。固定地址并插上模块后,模块的位置就固定下来。其不方便后续的扩展,使用不够灵活。
因此本申请实施例提供一种基于工业互联网网关的组态方法,该方法可以实现互联网网关的自动组态,其操作简单高效。
在介绍组态方法之前,为了便于理解,本申请实施例提供一种工业互联网网关结构示意图,如图1所示,该互联网网关包括主控模块101和多个IO模块链102,每个IO模块链中包括至少一个IO模块,当一个IO模块链中包括多个IO模块时,多个IO模块通过总线串行连接。也可以理解为是“手拉手”连接。应当说明的是,图1仅仅是示意性的结构图,IO模块还可以全部排布在主控模块101的左侧,或者全部排布在主控模块101的右侧,并且IO模块的数量本申请实施例不作具体限制。通过该互联网网关结构可以实现下述的组态方法。
主控模块101包括第一总线,第一总线包括第一左总线和第一右总线,第一左总线位于主控模块的左侧,与主控模块的左侧端口连接,第一右总线位于主控模块的右侧,有主控模块的右侧端口连接。每个IO模块都包括第二总线,且第二总线包括第二左总线和第二右总线,第二左总线位于IO模块的左侧,与IO模块左侧的端口连接;第二右总线位于IO模块的右侧,与IO模块右侧的端口连接。应当说明的是,第一总线和第二总线包括的总线个数可以有更多个,本申请实施例对此不作具体限定。IO模块中有一侧端口称为第一端口,另一侧端口称为第二端口,其与左右无关,根据距离主控模块的远近而定。距离主控模块近的端口称为第一端口,距离主控模块远的端口为第二端口。例如:排在主控模块左侧的IO模块,其左侧端口为第二端口,右侧端口为第一端口;排在主控模块右侧的IO模块,其左侧端口为第一端口,右侧端口为第二端口。
第一左总线用于与左侧的IO模块的第二右总线通信连接,第一右总线用于与右侧的IO模块的第二左总线通信连接。排在后面的IO模块的第二左总线与相邻的IO模块的第二右总线通信连接。
图2为本申请实施例提供的两个IO模块之间连接的示意图,如图2所示,第一总线和第二总线均包括通讯总线、电源总线和IO总线。
其中,通讯总线采用以太网总线,通过TX+、TX-、RX+、RX-4线制设计,用于实现主控模块与各个IO模块之间的信息交互。
电源总线包括DC24V电源总线和DC5V电源总线,用于为主控模块和IO模块提供电能;
IO总线包括多条第一连接线和一条第二连接线,例如第一连接线可以有4条,也可以是更多或更少条,本申请实施例对此不作具体限定。为了便于描述,本申请实施例以4条进行描述,且4条第一连接线分别为第一子连接线、第二子连接线、第三子连接线、第四子连接线,用于实现主控模块和IO模块的组态。
其中,第一子连接线、第二子连接线、第三子连接线和第四子连接线用来传输第一位置信息和第二位置信息,并且,第一子连接线、第二子连接线、第三子连接线和第四子连接线均传输的是“0”或者“1”,当第一子连接线为“1”时表示1,第二子连接线为“1”时表示2,第三子连接线为“1”时表示4,第四子连接线为“1”时表示8。因此,四条子连接线能够传输0-F(F表示16进制的15)的数值。第二连接线用于告知前一模块有模块在其后面,例如:参见图1,左2IO模块的第一端口接收到左1IO模块的第二端口发送的第二位置信息后,将第五连接线从下拉输入的状态将IO置为高电平输出,即,先将第二连接线的状态设置为输出状态,再控制输出高电平,以通知左1IO模块有邻居存在。
应当说明的是,当前通过四条子连接线实现左右最多各15个IO模块的网关结构,若想要构建更多个IO模块,可以扩展IO总线的个数来实现。
图3为本申请实施例提供的IO总线连接示意图,如图3所示:
将模块物理地址表示为x,每个模块(包括主控模块和IO模块)左右都各有5条连接线,其中第一连接线有4条,第二连接线有1条:
主控模块左侧的总线:表示为Mx-L-IO0、Mx-L-IO1、Mx-L-IO2、Mx-L-IO3、Mx-L-IO4;
主控模块左侧的总线:表示为Mx-R-IO0、Mx-R-IO1、Mx-R-IO2、Mx-R-IO3、Mx-R-IO4;
左侧模块左侧的总线:表示为Lx-L-IO0、Lx-L-IO1、Lx-L-IO2、Lx-L-IO3、Lx-L-IO4;
左侧模块右侧的总线:表示为Lx-R-IO0、Lx-R-IO1、Lx-R-IO2、Lx-R-IO3、Lx-R-IO4;
右侧模块左侧的总线:表示为Rx-L-IO0、Rx-L-IO1、Rx-L-IO2、Rx-L-IO3、Rx-L-IO4;
右侧模块右侧的总线:表示为Rx-R-IO0、Rx-R-IO1、Rx-R-IO2、Rx-R-IO3、Rx-R-IO4。
本申请实施例通过总线将主控模块和多个IO模块串联,并通过总线传递位置信息,从而实现各个模块自动确定位置,进一步实现将主控模块和多个IO模块自动组态且该互联网网关结构简单,成本较低。
在上述实施例的基础上,主控模块中还包括旋转拨码和显示屏;旋转拨码用于设置主控模块的地址;显示屏用于显示网关的状态。
可以预先设置旋转拨码上的旋钮,使其指向0-9的任意一个值,该旋转拨码的设计是为了多台工业互联网网关协同工作时协同使用的。
显示屏用于显示自身故障诊断结果、报警输出、组态结果指示、连接模块类型指示、连接模块参数指示等。
在上述实施例的基础上,每个IO模块上都可以包括指示灯,该指示灯用于指示IO模块的状态,具体可以通过指示灯闪烁的频率不同来表示不同的状态。
图4为本申请实施例提供的一种基于工业互联网网关的组态方法流程示意图,参见图4,该方法可以在图1所述的网关上执行,当然也可以在其他变形结构的网关上执行,本申请实施例不对具体的网关结构进行限定。
该组态方法包括:
步骤401:与主控模块连接的IO模块接收所述主控模块发送的第一位置信息。
工业互联网网关包括一个主控模块和多个IO模块,多个IO模块分布于主控模块的两侧,也可以只在主控模块的其中一侧,并且IO模块也可以只有一个,具体的网关结构可以根据实际情况进行调整,本申请实施例对此不作具体限定。主控模块和IO模块两端均有用于与其他模块通信连接的端口,可以用第一端口和第二端口进行区分。如果第一端口那一侧有模块,则第一端口被使用,如果第一端口的那一侧没有模块,则该端口闲置。主控模块的两个端口连接有第一总线,每个IO模块的两个端口连接有第二总线,第一总线和第二总线通过连接器通信连接,相邻的两个IO模块的第二总线通过连接器进行通信连接,具体连接参见图1和图2。当主控模块和IO模块都上电启动时,主控模块通过总线向与其相邻连接的IO模块发送主控模块的第一位置信息。将与主控模块连接的IO模块的那侧端口称为第一端口,第一端口接收主控模块发送的第一位置信息。其中,第一位置信息用来表示主控模块所在的位置编号。
应当说明的是,若主控模块只有左侧有IO模块,那么左侧的IO模块的第一端口接收第一位置信息;若主控模块之后右侧有IO模块,那么左右的IO模块的第一端口接收第一位置信息;若主控模块两侧都有IO模块,那么两侧的IO模块的第一端口均接收第一位置信息。对于一个IO模块来说,可以定义距离主控模块近的端口为第一端口,远的端口为第二端口。
步骤402:所述IO模块根据所述第一位置信息获得第二位置信息;
步骤403:所述IO模块向下一IO模块发送所述第二位置信息,以使所述下一IO模块根据所述第二位置信息进行位置确定,直至最后一个IO模块确定位置信息为止。
当与主控模块相邻连接的IO模块接收到第一位置信息后,可以根据第一位置信息获得第二位置信息,具体可以为在第一位置信息的基础上加1便获得第二位置信息。此时,IO模块可以获知自身所处的位置信息。当然,还可以以奇数或偶数排序,本申请实施例对此不作具体限定。可以理解的是,第二位置信息用于表征IO模块所在的位置编号。
在与主控模块相邻连接的IO模块(称为1号IO模块)获得到其对应的第二位置信息后,若有IO模块(称为2号IO模块)与1号IO模块连接,则1号IO模块通过第二端口向2号IO模块发送1号IO模块的第二位置信息。2号IO模块的第一端口接收到该第二位置信息后,根据该第二位置信息可以获得2号IO模块对应的第二位置信息。如果2号IO模块后面还有IO模块,则按照上述方法依次进行IO模块的位置确定,直至最后一个IO模块确定了其第二位置信息为止。
步骤404:获取到第二位置信息的IO模块向所述主控模块发送注册信息,以进行入网注册;其中,所述注册信息包括所述第二位置信息和是否为最后模块。
在具体的实施过程中,当IO模块获取到其对应的第二位置信息后,便可以向主控模块发送注册信息,从而完成模块的入网注册。注册信息中的是否为最后模块的信息可以用“0”和“1”来表示,例如:“0”表示不是最后模块,“1”表示是最后模块。
步骤405:所述主控模块在接收到最后一个IO模块发送的所述注册信息后确定组态完成。
由于IO模块向主控模块发送的注册信息中包括是否为最后模块,因此,主控模块可以根据收到的注册信息判断是否收到了最后一个IO模块的注册信息。当收到了最后一个IO模块的注册信息后,便获得主控模块左右两侧的IO模块的数量,待所有的IO模块完成入网注册后,确定组态完成。主控模块进入工作状态。
本申请实施例通过主控模块向相邻的IO模块发送第一位置信息,使得IO模块根据第一位置信息获知其自身的第二位置信息,然后将第二位置信息发送给下一IO模块进行下一IO模块的位置确定,从而实现IO模块位置信息的自动获取,无需人工参与,操作简单。
在上述实施例的基础上,相邻的两个模块之间通过总线通信连接;所述总线包括IO总线,所述IO总线包括多条第一连接线;所述与主控模块连接的IO模块接收所述主控模块发送的第一位置信息,包括:
与主控模块连接的IO模块接收所述主控模块通过所述多条第一连接线发送的第一位置信息;
所述IO模块向下一IO模块发送所述第二位置信息,包括:
所述IO模块通过多条第一连接线向下一IO模块发送所述第二位置信息。
在具体的实施过程中,相邻的两个模块是指相邻连接的主控模块和IO模块,以及相邻连接的两个IO模块。
主控模块的两侧均有第一总线,即第一左总线和第一右总线,IO模块的两个均有第二总线,即第二左总线和第二右总线。因此,总线根据两个模块的不同而不同,以图1为例,对于相邻的主控模块和左1IO模块来说,主控模块和左1IO模块通过主控模块的第一左总线和左1IO模块的第二右总线通信连接。第一总线和第二总线均包括多条第一连接线,本申请以4条第一连接线为例,分别为:第一子连接线、第二子连接线、第三子连接线和第四子连接线。当第一子连接线为“1”时表示1,第二子连接线为“1”时表示2,第三子连接线为“1”时表示4,第四子连接线为“1”时表示8。因此,四条子连接线能够传输0-F(F表示16进制的15)的数值。
例如:以图3所述的网关结构为例,主控模块通过左右两侧的第一总线输出位置1,那么每条连接线输出的值如下表所示:
Mx-L-IO3 |
Mx-L-IO2 |
Mx-L-IO1 |
Mx-L-IO0 |
Mx-R-IO3 |
Mx-R-IO2 |
Mx-R-IO1 |
Mx-R-IO0 |
0 |
0 |
0 |
1 |
同理,当位于主控模块两侧的IO模块接收到第一位置信息后,在第一位置信息的基础上加1,获得第二位置信息,即,左1IO模块的第二右总线检测到电位的高低变化,便得知其位于主控模块的左侧,并且知道其第二位置信息为左2,同样地,右1IO模块的第二左总线检测到电位的高低变化,便得知其位于主控模块的右侧,并知道其第二位置信息为右2。左1IO模块将第二位置信息通过第二端口发送给左2IO模块,右1IO模块将第二位置信息通过第二端口发送给右2IO模块,两个IO模块的第二端口处的第二总线的输入如下表所示:
Lx-L-IO3 |
Lx-L-IO2 |
Lx-L-IO1 |
Lx-L-IO0 |
Rx-R-IO3 |
Rx-R-IO2 |
Rx-R-IO1 |
Rx-R-IO0 |
0 |
0 |
1 |
0 |
同理,左右第二个IO模块在接收到第二位置信息后,再在第二位置信息的基础上加1,获得其自身对应的第二位置信息,再继续往下传,直到最后一个IO模块确定了自身的第二位置信息为止。
本申请实施例通过IO总线中的四条连接线的高低电平实现位置信息的传送,并且当下一模块在获取到上一模块发送的位置信息后便能够获知其自身的位置信息,以实现自动组态。
在上述实施例的基础上,所述IO总线还包括第五连接线;且所述IO总线的默认状态为下拉输入;所述方法还包括:
当所述IO模块接收到由主控模块发送的第一位置信息,或接收到前一IO模块发送的第二位置信息后,将所述IO模块接收第一位置信息或第二位置信息那一侧的第五连接线的状态值为高电平。
位于主控模块左右两侧的IO模块对应的IO总线的默认状态如下表所示:
其中,下拉:表示默认拉低到低电平,也就是逻辑0;输入:表示当前IO总线处于检测状态,如果相连接的IO总线为高/低(逻辑上1/0),下拉输入就可以检测到这个电平的状态。
在将所述第一端口处的第五连接线的状态值为高电平时,在其之前的模块(主控模块或者IO模块)的第五连接线便能够检测到电平的变化,从而便可以获知有邻居存在。
本申请实施例通过第五连接线的高低电平变化来告知前一模块是否有邻居在,从而使得IO模块能够获知自身是否为最后一个模块,进一步使得主控模块获知是否所有的IO模块都注册完成。
在上述实施例的基础上,在所述IO模块向所述主控模块发送广播注册帧之后,所述方法还包括:
所述IO模块接收并存储所述主控模块发送的旋转拨码地址。
每个IO模块上均可以包括指示灯,指示灯通过闪烁的频率不同来表示对应IO模块当前所处的状态。在IO模块接收到旋转拨码地址之后,控制IO模块上的指示灯以10Hz频率闪烁,表示获取旋转拨码地址成功。
当IO模块接收到前一模块通过IO总线发送的位置信息后,可以控制指示灯以2Hz的频率闪烁。
下面以具体场景进行描述自动组态的流程:
第一个场景:主控模块以A表示,右侧安装2个I/O模块,与主控相连的I/O模块表示为RB,RB右侧的I/O模块,表示为RC,这样三个模块就组成了一台工业互联网网关,如图5所示。
上电启动后,A输出1,RB左侧I/O检测到A输出的1,就知道自己在主控右侧位置2上,同时将自己的右侧4条连接线输出2,这样RC模块左侧检测到2之后,就知道自己在主控右侧位置3上,位置识别完成。
第二个场景:主控模块以A表示,左侧安装2个I/O模块,与主控相连的I/O模块表示为LB,LB左侧的I/O模块,表示为LC,这样三个模块就组成了一台工业互联网网关,如图6所示。
上电启动后,A输出1,LB右侧I/O检测到A输出的1,就知道自己在主控左侧位置2上,同时将自己的左侧4条连接线输出2,这样LC模块右侧检测到2之后,就知道自己在左侧位置3上,位置识别完成。
第三个场景:主控模块以A表示,左侧安装一个I/O模块表示为L,右侧安装一个I/O模块表示为R,如图7所示。
启动后,L模块的右侧识别到A输出的1,L模块知道自己安装在左侧,并且在第2个位置上;同理R模块识别到自己在右侧的第2个位置上,位置识别完成。
综上所述,本申请实施例通过总线串联主控模块和IO模块,并利用IO总线传输位置信息,从而使得每个模块都能确定自身所在的位置,并将所在的位置注册到主控模块中,以实现自动组网,无需人工操作。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。