CN112988639A - 一种模块地址分配方法及装置、数据交互系统 - Google Patents
一种模块地址分配方法及装置、数据交互系统 Download PDFInfo
- Publication number
- CN112988639A CN112988639A CN202110277752.2A CN202110277752A CN112988639A CN 112988639 A CN112988639 A CN 112988639A CN 202110277752 A CN202110277752 A CN 202110277752A CN 112988639 A CN112988639 A CN 112988639A
- Authority
- CN
- China
- Prior art keywords
- expansion
- module
- bus
- address
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000003993 interaction Effects 0.000 title claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种模块地址分配方法及装置、数据交互系统,模块地址分配方法应用于主模块,主模块与至少一个扩展模块通过扩展总线依次连接,方法包括读取主模块上的扩展总线接口地址识别信号的状态,以获取挂载于扩展总线上的扩展模块的数量,扩展模块编址指令,以为各扩展模块分配总线地址,获取各扩展模块的ID信息,以确定各扩展模块的类型,基于总线地址与各扩展模块的类型,为各扩展模块分配访问地址。通过上述方式,能够使主模块自动识别扩展模块,且对扩展模块进行地址分配。
Description
技术领域
本发明涉及数据交互技术领域,特别是涉及一种模块地址分配方法及装置、数据交互系统。
背景技术
PLC是自动化领域的一种非常通用的控制器产品,它以组态方便、配置灵活深受广大客户的青睐,这得益于其便捷的可扩展性和丰富的扩展模块类型。随着PLC产品的广泛应用以及PLC技术的发展,客户对于PLC产品组态和配置的智能化要求越来越高,这就对PLC扩展总线提出了更高的要求。
然而,在现有技术条件下,绝大多数PLC无法自动识别扩展总线上挂载的模块类型,扩展模块的识别和配置依赖于上位组态软件,脱离了上位组态软件,PLC系统无法自主识别和加载。
发明内容
本发明实施例旨在提供一种模块地址分配方法及装置、数据交互系统,能够使主模块自动识别扩展模块,且对扩展模块进行地址分配。
为实现上述目的,第一方面,本发明提供一种模块地址分配方法,应用于主模块,所述主模块与至少一个扩展模块通过扩展总线依次连接,所述方法包括:
读取所述主模块上的扩展总线接口地址识别信号的状态,以获取挂载于所述扩展总线上的扩展模块的数量;
发送扩展模块编址指令,以为各所述扩展模块分配总线地址;
获取各所述扩展模块的ID信息,以确定各所述扩展模块的类型;
基于所述总线地址与各所述扩展模块的类型,为各所述扩展模块分配访问地址。
在一种可选的方式中,所述读取所述主模块上的扩展总线接口状态,以获取挂载于所述扩展总线上的的扩展模块的数量,包括:
计算所述主模块上的扩展总线接口地址识别信号的状态的最大值与所述扩展总线接口地址识别信号的状态之间的第一差值;
基于所述第一差值获取挂载于所述扩展总线上的扩展模块的数量。
在一种可选的方式中,所述基于所述总线地址与各所述扩展模块的类型,为各所述扩展模块分配访问地址,包括:
基于各所述扩展模块的类型,确定各所述扩展模块的输入输出的通道数量;
基于所述总线地址与所述通道数量,为各所述扩展模块分配访问地址。
在一种可选的方式中,所述基于所述总线地址与所述通道数量,为各所述扩展模块分配访问地址,包括:
基于所述总线地址与所述通道数量,将各所述扩展模块的输入输出通道按预设映射规则映射至系统的输入输出寄存器区域,以获取相应的寄存器地址;
其中,所述寄存器地址为所述访问地址。
第二方面,本发明提供一种模块地址分配方法,应用于扩展模块,至少一个所述扩展模块与主模块通过扩展总线依次连接,所述方法包括:
获取所述扩展模块的后级扩展接口的状态;
将所述扩展模块的后级扩展接口的状态与第一预设差值的第二差值;
将所述第二差值通过所述扩展模块的前级扩展接口输出,其中,所述第二差值用于使所述主模块获取所述主模块上的扩展总线接口地址识别信号的状态,以使所述主模块获取挂载于所述扩展总线上的扩展模块的数量。
第三方面,本发明提供一种模块地址分配装置,应用于主模块,所述主模块与至少一个扩展模块通过扩展总线依次连接,所述装置包括:
数量获取模块,用于读取所述主模块上的扩展总线接口地址识别信号的状态,以获取挂载于所述扩展总线上的扩展模块的数量;
总线地址分配模块,用于发送扩展模块编址指令,以为各所述扩展模块分配总线地址;
类型确定模块,用于获取各所述扩展模块的ID信息,以确定各所述扩展模块的类型;
访问地址分配模块,用于基于所述总线地址与各所述扩展模块的类型,为各所述扩展模块分配访问地址。
第四方面,本发明提供一种模块地址分配装置,应用于扩展模块,至少一个所述扩展模块与主模块通过扩展总线依次连接,所述装置包括:
地址获取模块,用于获取所述扩展模块的后级扩展接口的状态;
计算模块,用于计算所述扩展模块的后级扩展接口的状态与第一预设差值的第二差值;
输出模块,将所述第二差值通过所述扩展模块的前级扩展接口输出,其中,所述第二差值用于使所述主模块获取所述主模块上的扩展总线接口地址识别信号的状态,以使所述主模块获取挂载于所述扩展总线上的扩展模块的数量。
第五方面,本发明提供一种主模块,所述主模块包括:
至少一个处理器以及与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
第六方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上第一方面所述的方法。
第七方面,本发明提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上第一方面所述的方法。
第八方面,本发明提供一种扩展模块,所述扩展模块包括:
至少一个处理器以及与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第二方面所述的方法。
第九方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上第二方面所述的方法。
第十方面,本发明提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如上第二方面所述的方法。
第十一方面,本发明提供一种数据交互系统,包括:
如上所述的主模块,以及如上所述的扩展模块;
所述主模块的扩展总线接口与第一个所述扩展模块的前级扩展接口连接;
第N个所述扩展模块的后级扩展接口与第N+1个所述扩展模块的前级扩展接口连接,其中,N为大于0的正整数。
本发明实施例的有益效果是:本发明提供的模块地址分配方法,应用于主模块,主模块与至少一个扩展模块通过扩展总线依次连接,方法包括读取主模块上的扩展接口地址识别信号的状态,以获取挂载于扩展总线上的扩展模块的数量,并根据扩展模块的数量发送扩展模块编址指令,以为各扩展模块分配总线地址,继而,获取各扩展模块的ID信息,以确定各扩展模块的类型,最后,基于总线地址与各扩展模块的类型,为各扩展模块分配访问地址,因此,根据总线地址能够找到对应的模块,即完成了主模块自动识别扩展模块,并且在找到对应的模块之后,根据各扩展模块的类型可对扩展模块进行地址分配,从而完成使主模块自动识别扩展模块,且对扩展模块进行地址分配这一过程。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的数据交互系统的结构示意图;
图2为本发明实施例提供的模块地址分配方法的流程图;
图3为本发明另一实施例提供的模块地址分配方法的流程图;
图4为本发明另一实施例提供的数据交互系统的结构示意图;
图5为本发明实施例提供的模块地址分配装置的结构示意图;
图6为本发明另一实施例提供的模块地址分配装置的结构示意图;
图7为本发明实施例提供的主模块的结构示意图;
图8为本发明实施例提供的扩展模块的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本申请实施例提供的数据交互系统的结构示意图。如图1所示,该数据交互系统包括主模块M0,以及扩展模块M1、M2……MN,其中,N为大于0的正整数。
其中,主模块M0包括扩展总线接口101,扩展模块MN包括前级扩展接口102与后级扩展接口103。
具体地,主模块M0的扩展总线接口101与第一个扩展模块M1的前级扩展接口连接,第N个扩展模块MN的后级扩展接口与第N+1个扩展模块MN+1的前级扩展接口连接,其中,N为大于0的正整数。亦即,第二个扩展模块M2的后级扩展接口与第三个扩展模块M3的前级扩展接口连接,第三个扩展模块M3的后级扩展接口与第四个扩展模块M4的前级扩展接口连接……以此类推。
从而,第N+1个扩展模块MN+1能够通过其前级扩展接口传递信息至第N个扩展模块MN的的后级扩展接口,且第一个扩展模块M1能够通过其前级扩展接口传递信息至主模块M0的扩展总线接口。
应理解,第一个扩展模块M1为所扩展总线上所连接的所有扩展模块中的任意一个即可。
请参阅图2,图2为本申请实施例提供的模块地址分配方法的流程图,该方法由如图1所示的主模块执行,即该方法应用于主模块,且该主模块与至少一个扩展模块通过扩展总线依次连接。需注意的是,若有实质上相同的结果,本申请的方法并不以图1所示的流程顺序为限。如图1所示,该方法包括如下步骤:
201:读取主模块上的扩展总线接口地址识别信号的状态,以获取挂载于扩展总线上的扩展模块的数量。请一并参阅图1,以主模块上的扩展总线接口包括四位为例进行说明,且每一位的地址识别信号初始状态固定为高电平输入。当后级模块挂载之后,会改变地址识别信号的输入电平,主模块上电启动后,其读取主模块上的扩展总线接口地址识别信号的状态的电平不为全高,则判断为扩展总线有扩展模块挂载。因此,通过读取主模块上的扩展总线接口地址识别信号的状态,即能够获取挂载于扩展总线上的扩展模块的数量。
在一实施例中,通过计算主模块上的扩展总线接口地址识别信号的状态的最大值与所读取到的主模块上的扩展总线接口地址识别信号的状态之间的差值,即为扩展模块的数量。例如,假设所读取到的主模块上的扩展总线接口地址识别信号的状态为1001(即9),而主模块上的扩展总线接口地址识别信号的状态的最大值为1111(即15),那么使用15-9=6即得出扩展模块的数量为6。
而为了能够采用上述的方法得到扩展模块的数量,那么扩展模块也需要执行其相应的方法步骤。因此,本申请实施例还提供一种模块地址分配方法,该方法由如图1所示的任意一个扩展模块执行。即该方法应用于扩展模块,且至少一个扩展模块与主模块通过扩展总线依次连接。如图3所示,该方法的步骤包括:
301:获取所述扩展模块的后级扩展接口的地址。
302:计算所述扩展模块的后级扩展接口的状态与第一预设差值的第二差值。
303:将所述第二差值通过所述扩展模块的前级扩展接口输出。
即每一个扩展模块均需要获取自身的后级扩展接口的状态,然后根据该状态减去第一预设差值,得到第二差值,最后将第二差值通过自身的前级扩展接口输出。即第N个扩展模块首先获取其后级扩展接口的状态,继而将该地址减去第一预设差值,并将相减后的差值通过其前级扩展接口传输至第N-1个扩展模块的后继扩展接口。接着,第N-1个扩展模块将其后级扩展接口的状态再减去第一预设差值得到自身的输出值,并通过其前级扩展接口传输至第N-2个扩展模块的后级扩展接口。以此类推,最后,第一个扩展模块将其后级扩展接口的状态减去第一预设差值后,将所得到的差值通过其前级扩展接口传输至主模块。其中,第一预设差值可为1、2……等正整数。
可见,经过以上过程,扩展总线上每多挂载一个扩展模块,主模块从其后级扩展接口读取到的状态值就减少第一预设差值。换言之,第二差值最终用于使主模块获取主模块上的扩展总线接口地址识别信号的状态,从而,主模块能够获取挂载于扩展总线上的扩展模块的数量。
以扩展模块的数量为6个为例进行说明。如图4所示,假设第一预设差值为1,假设扩展模块M6从其后级扩展接口读取到的地址为1111,再将1111减去1可得1110,并将1110通过其前级扩展接口传输至扩展模块M5的后级扩展接口。扩展模块M5将其后级扩展接口所接收到的1110减去1得到1101,并将1101通过其前级扩展接口传输至扩展模块M4的后级扩展接口。以此类推,最后,扩展模块M1将其后级扩展接口所接收到的1010减去1得到1001,并将1001通过其前级扩展接口传输至主模块M0的扩展总线接口,从而,主模块M0的扩展总线接口地址识别信号的状态即为1001。
此时,当主模块上的扩展总线接口地址识别信号的状态为1001(即9),而主模块上的扩展总线接口地址识别信号的状态的最大值为1111(即15),那么通过上述实施例可知,使用15-9=6即得出扩展模块的数量为6。
202:发送扩展模块编址指令,以为各所述扩展模块分配总线地址。
在主模块获取到扩展模块的数量之后,主模块会向扩展模块发送地址配置指令,以配置各扩展模块的总线地址。
在一实施方式中,当主模块发送配置地址指令时,所有扩展模块将读取的自身后级扩展接口地址识别信号的状态做加1操作后,作为自身的模块地址。
以图4所示的主模块与6个扩展模块连接为例,由上述内容可知,扩展模块M1的后级扩展接口地址识别信号的状态为1010(即10),那么扩展模块M1的总线地址为10+1=11;扩展模块M2的后级扩展接口地址识别信号的状态为1011(即11),那么扩展模块M2的总线地址为11+1=12……,以此类推,可得扩展模块M1的总线地址是11,扩展模块M2的总线地址是12,扩展模块M3的总线地址是13,扩展模块M4的总线地址是14,扩展模块M5的总线地址是15,扩展模块M6的总线地址是16。
203:获取各扩展模块的ID信息,以确定各扩展模块的类型。
各扩展模块的总线地址配置完成后,主模块会依次循环访问各扩展模块,获取各扩展模块的ID信息,以确定各扩展模块的IO类型,即确定各扩展模块为数字量还是模拟量,同时确定是输出类型还是输入类型。换言之,扩展模块总共包括以下几种:数字量输出模块、数字量输入模块、模拟量输出模块以及模拟量输入模块。
204:基于总线地址与各扩展模块的类型,为各扩展模块分配访问地址。
在一实施例中,通过各扩展模块的类型,即能够确定各扩展模块的输入输出通道所占用的通道数量。例如,当确定第一个扩展模块为16点的数字量输出模块,则所占用的输出的通道数量为16。继而,根据总线地址与通道数量,能够为各扩展模块分配访问地址。
进一步地,可根据总线地址与通道数量,将各扩展模块的输入输出通道按预设映射规则映射至系统的输入输出寄存器区域,以获取相应的寄存器地址。其中,该寄存器地址即为上述实施例中的访问地址,用户可以直接通过操作该访问地址,即能够实现对各个扩展模块上IO点的控制。
具体地,在一实施方式中,主模块将系统的寄存器区域划分为输入寄存器区(I区)和输出寄存器区(Q区),其中,输入寄存器区为只读属性,输出寄存器区为只写属性,输入输出寄存器以16bit宽度对齐。主模块确定所挂载扩展模块的类型和数量之后,再将所有扩展模块的输入输出通道映射到系统输入输出寄存器区,映射地址以IWxx和QXxx表示,其中,xx表示具体寄存器地址,用于方便用户访问。
仍以图4所示的主模块与6个扩展模块连接为例,假设主模块M0为16点数字输入与16点数字输出模块;扩展模块M1为8点数字输入模块;扩展模块M2为8点数字输出模块;扩展模块M3为16点数字输入模块;扩展模块M4为16点数字输出模块;扩展模块M5为8点模拟量输入模块;扩展模块M6为8点模拟量输出模块。那么按照预设的映射规则,将各扩展模块输入输出区映射之后的寄存器地址可如表1所示。
表1
如表1所示,主模块M0的输入通道数与输出通道数均为16,且寄存器地址分别为IW0与QW0;扩展模块M1的输入通道数为8,且寄存器地址为IW2;扩展模块M2的输出通道数为8,且寄存器地址为QW2;扩展模块M3的输入通道数为16,且寄存器地址为IW4;扩展模块M4的输出通道数为16,且寄存器地址为QW4;扩展模块M5的输入通道数为8,且寄存器地址为IW6-IW20;扩展模块M6的输出通道数为8,且寄存器地址为QW6-QW20。因此,用户只需对相应的寄存器地址进行访问与设置,即能够完成对扩展模块的各个IO点的设置。
通过上述方式,能够实现由主模块自动识别扩展模块,并且对扩展模块的进行地址分配这一过程。即无需通过上位软件的配置即可识别扩展总线所挂载模块数量和类型,从而,主模块启动后可自主组成系统,为用户提供访问通道,实现了智能化配置,方便客户使用。
本申请实施例提供了一种模块地址分配装置,应用于主模块,主模块与至少一个扩展模块通过扩展总线依次连接。请参见图5,其示出了本发明实施例提供的一种模块地址分配装置的结构示意图,模块地址分配装置500包括:数量获取模块501、总线地址分配模块502、类型确定模块503与访问地址分配模块504。
数量获取模块501用于读取主模块上的扩展总线接口地址识别信号的状态,以获取挂载于扩展总线上的扩展模块的数量。
总线地址分配模块502用于发送扩展模块编址指令,以为各扩展模块分配总线地址。
类型确定模块503用于获取各扩展模块的ID信息,以确定各扩展模块的类型。
访问地址分配模块504用于基于总线地址与各扩展模块的类型,为各扩展模块分配访问地址。
上述产品可执行图2所示的本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请另一实施例提供了一种模块地址分配装置,应用于扩展模块,至少一个扩展模块与主模块通过扩展总线依次连接。请参见图6,其示出了本发明另一实施例提供的一种模块地址分配装置的结构示意图,模块地址分配装置600包括:地址获取模块601、计算模块602与输出模块603。
地址获取模块601用于获取扩展模块的后级扩展接口的状态。
计算模块602用于计算扩展模块的后级扩展接口的状态与第一预设差值的第二差值。
输出模块603用于将第二差值通过扩展模块的前级扩展接口输出,其中,第二差值用于使主模块获取主模块上的扩展总线接口地址识别信号的状态,以使主模块获取挂载于扩展总线上的扩展模块的数量。
上述产品可执行图3所示的本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本发明实施例还提供了一种主模块,请参见图7,其示出了能够执行图2所示的模块地址分配方法的主模块的硬件结构。主模块700可以是图1或图4任一所示的主模块M0。
主模块700包括:至少一个处理器701;以及,与至少一个处理器701通信连接的存储器702,图7中以其以一个处理器701为例。所述存储器702存储有可被所述至少一个处理器701执行的指令,所述指令被所述至少一个处理器701执行,以使所述至少一个处理器701能够执行上述图2所述的模块地址分配方法。所述处理器701和所述存储器702可以通过总线或者其他方式连接,图7中以通过总线连接为例。
存储器702作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的模块地址分配方法对应的程序指令/模块,例如,附图5所示的各个模块。处理器701通过运行存储在存储器702中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的模块地址分配方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据传输装置的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至数据传输装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器702中,当被所述一个或者多个处理器701执行时,执行上述任意方法实施例中的模块地址分配方法,例如,执行以上描述的图2的方法步骤,实现图5中的各模块和各单元的功能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图2的方法步骤,实现图5中的各模块的功能。
本申请实施例还提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的模块地址分配方法,例如,执行以上描述的图2的方法步骤,实现图5中的各模块的功能。
本发明实施例还提供了一种扩展模块,请参见图8,其示出了能够执行图3所示的模块地址分配方法的扩展模块的硬件结构。扩展模块800可以是图1或图4任一所示的扩展模块MN。
扩展模块800包括:至少一个处理器801;以及,与至少一个处理器801通信连接的存储器802,图8中以其以一个处理器801为例。所述存储器802存储有可被所述至少一个处理器801执行的指令,所述指令被所述至少一个处理器801执行,以使所述至少一个处理器801能够执行上述图3所述的模块地址分配方法。所述处理器801和所述存储器802可以通过总线或者其他方式连接,图8中以通过总线连接为例。
存储器802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的模块地址分配方法对应的程序指令/模块,例如,附图8所示的各个模块。处理器801通过运行存储在存储器802中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的模块地址分配方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据传输装置的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
所述一个或者多个模块存储在所述存储器802中,当被所述一个或者多个处理器801执行时,执行上述任意方法实施例中的模块地址分配方法,例如,执行以上描述的图3的方法步骤,实现图6中的各模块和各单元的功能。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图3的方法步骤,实现图6中的各模块的功能。
本申请实施例还提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的模块地址分配方法,例如,执行以上描述的图3的方法步骤,实现图6中的各模块的功能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种模块地址分配方法,其特征在于,应用于主模块,所述主模块与至少一个扩展模块通过扩展总线依次连接,所述方法包括:
读取所述主模块上的扩展总线接口地址识别信号的状态,以获取挂载于所述扩展总线上的扩展模块的数量;
发送扩展模块编址指令,以为各所述扩展模块分配总线地址;
获取各所述扩展模块的ID信息,以确定各所述扩展模块的类型;
基于所述总线地址与各所述扩展模块的类型,为各所述扩展模块分配访问地址。
2.根据权利要求1所述的模块地址分配方法,其特征在于,所述读取所述主模块上的扩展总线接口地址识别信号的状态,以获取挂载于所述扩展总线上的扩展模块的数量,包括:
计算所述主模块上的扩展总线接口地址识别信号的状态的最大值与所述扩展总线接口地址识别信号的状态之间的第一差值;
基于所述第一差值获取挂载于所述扩展总线上的扩展模块的数量。
3.根据权利要求1所述的模块地址分配方法,其特征在于,所述基于所述总线地址与各所述扩展模块的类型,为各所述扩展模块分配访问地址,包括:
基于各所述扩展模块的类型,确定各所述扩展模块的输入输出的通道数量;
基于所述总线地址与所述通道数量,为各所述扩展模块分配访问地址。
4.根据权利要求3所述的模块地址分配方法,其特征在于,所述基于所述总线地址与所述通道数量,为各所述扩展模块分配访问地址,包括:
基于所述总线地址与所述通道数量,将各所述扩展模块的输入输出通道按预设映射规则映射至系统的输入输出寄存器区域,以获取相应的寄存器地址;
其中,所述寄存器地址为所述访问地址。
5.一种模块地址分配方法,其特征在于,应用于扩展模块,至少一个所述扩展模块与主模块通过扩展总线依次连接,所述方法包括:
获取所述扩展模块的后级扩展接口的状态;
计算所述扩展模块的后级扩展接口状态与第一预设差值的第二差值;
将所述第二差值通过所述扩展模块的前级扩展接口输出,其中,所述第二差值用于使所述主模块获取所述主模块上的扩展总线接口地址识别信号的状态,以使所述主模块获取挂载于所述扩展总线上的扩展模块的数量。
6.一种模块地址分配装置,其特征在于,应用于主模块,所述主模块与至少一个扩展模块通过扩展总线依次连接,所述装置包括:
数量获取模块,用于读取所述主模块上的扩展总线接口地址识别信号的状态,以获取挂载于所述扩展总线上的扩展模块的数量;
总线地址分配模块,用于发送扩展模块编址指令,以为各所述扩展模块分配总线地址;
类型确定模块,用于获取各所述扩展模块的ID信息,以确定各所述扩展模块的类型;
访问地址分配模块,用于基于所述总线地址与各所述扩展模块的类型,为各所述扩展模块分配访问地址。
7.一种模块地址分配装置,其特征在于,应用于扩展模块,至少一个所述扩展模块与主模块通过扩展总线依次连接,所述装置包括:
地址获取模块,用于获取所述扩展模块的后级扩展接口的状态;
计算模块,用于计算所述扩展模块的后级扩展接口的状态与第一预设差值的第二差值;
输出模块,将所述第二差值通过所述扩展模块的前级扩展接口输出,其中,所述第二差值用于使所述主模块获取所述主模块上的扩展总线接口地址识别信号的状态,以使所述主模块获取挂载于所述扩展总线上的扩展模块的数量。
8.一种主模块,其特征在于,
所述主模块包括:
至少一个处理器以及与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够如执行权利要求1-4任一项所述的方法。
9.一种扩展模块,其特征在于,
所述扩展模块包括:
至少一个处理器以及与所述至少一个处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求5所述的方法。
10.一种数据交互系统,其特征在于,包括:
如权利要求8所述的主模块,以及如权利要求9所述的扩展模块;
所述主模块的扩展总线接口与第一个所述扩展模块的前级扩展接口连接;
第N个所述扩展模块的后级扩展接口与第N+1个所述扩展模块的前级扩展接口连接,其中,N为大于0的正整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277752.2A CN112988639A (zh) | 2021-03-15 | 2021-03-15 | 一种模块地址分配方法及装置、数据交互系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110277752.2A CN112988639A (zh) | 2021-03-15 | 2021-03-15 | 一种模块地址分配方法及装置、数据交互系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988639A true CN112988639A (zh) | 2021-06-18 |
Family
ID=76335568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110277752.2A Pending CN112988639A (zh) | 2021-03-15 | 2021-03-15 | 一种模块地址分配方法及装置、数据交互系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988639A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965456A (zh) * | 2021-08-30 | 2022-01-21 | 广州文远知行科技有限公司 | 主机接口拓展方法、装置、设备及存储介质 |
CN114063513A (zh) * | 2021-11-15 | 2022-02-18 | 深圳古瑞瓦特新能源有限公司 | 功率模块并机地址分配方法、系统、装置、电子设备及计算机可读存储介质 |
CN114326488A (zh) * | 2021-12-01 | 2022-04-12 | 浙江源创智控技术有限公司 | 一种用于楼控系统的io模块通道联动的组态分配方法及装置 |
CN116319680A (zh) * | 2023-03-16 | 2023-06-23 | 上海迈智辰科技有限公司 | 一种动态分配地址的方法、耦合器及背板 |
CN118672377A (zh) * | 2024-08-20 | 2024-09-20 | 西安麦格米特电气有限公司 | 电源系统的管理方法、电源系统及计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061428A1 (en) * | 2001-09-25 | 2003-03-27 | Intel Corporation | Dynamic master/slave configuration for multiple expansion modules |
CN101145046A (zh) * | 2007-08-24 | 2008-03-19 | 上海正航电子科技有限公司 | 一种可编程逻辑控制器与扩展模块的接口 |
CN101592934A (zh) * | 2009-06-30 | 2009-12-02 | 上海电器科学研究所(集团)有限公司 | 可编程逻辑控制器与扩展模块的通信方法 |
CN105955179A (zh) * | 2016-05-05 | 2016-09-21 | 中工科安科技有限公司 | 一种一体式小型plc及其扩展io模块的自动识别方法 |
US9710395B1 (en) * | 2016-10-26 | 2017-07-18 | International Business Machines Corporation | Dynamic address translation table allocation |
CN107211050A (zh) * | 2015-11-18 | 2017-09-26 | 深圳市大疆创新科技有限公司 | 一种总线编址方法、装置及一种信息提示方法、装置 |
CN107577630A (zh) * | 2017-08-30 | 2018-01-12 | 武汉市敏控科技有限公司 | 一种扩展模块自动寻址系统 |
CN108038061A (zh) * | 2017-11-09 | 2018-05-15 | 深圳市亿维自动化技术有限公司 | 一种地址分配方法及plc系统 |
CN110806719A (zh) * | 2019-12-04 | 2020-02-18 | 深圳市英威腾电气股份有限公司 | 一种plc系统及其控制方法 |
-
2021
- 2021-03-15 CN CN202110277752.2A patent/CN112988639A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030061428A1 (en) * | 2001-09-25 | 2003-03-27 | Intel Corporation | Dynamic master/slave configuration for multiple expansion modules |
CN101145046A (zh) * | 2007-08-24 | 2008-03-19 | 上海正航电子科技有限公司 | 一种可编程逻辑控制器与扩展模块的接口 |
CN101592934A (zh) * | 2009-06-30 | 2009-12-02 | 上海电器科学研究所(集团)有限公司 | 可编程逻辑控制器与扩展模块的通信方法 |
CN107211050A (zh) * | 2015-11-18 | 2017-09-26 | 深圳市大疆创新科技有限公司 | 一种总线编址方法、装置及一种信息提示方法、装置 |
CN105955179A (zh) * | 2016-05-05 | 2016-09-21 | 中工科安科技有限公司 | 一种一体式小型plc及其扩展io模块的自动识别方法 |
US9710395B1 (en) * | 2016-10-26 | 2017-07-18 | International Business Machines Corporation | Dynamic address translation table allocation |
CN107577630A (zh) * | 2017-08-30 | 2018-01-12 | 武汉市敏控科技有限公司 | 一种扩展模块自动寻址系统 |
CN108038061A (zh) * | 2017-11-09 | 2018-05-15 | 深圳市亿维自动化技术有限公司 | 一种地址分配方法及plc系统 |
CN110806719A (zh) * | 2019-12-04 | 2020-02-18 | 深圳市英威腾电气股份有限公司 | 一种plc系统及其控制方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965456A (zh) * | 2021-08-30 | 2022-01-21 | 广州文远知行科技有限公司 | 主机接口拓展方法、装置、设备及存储介质 |
CN114063513A (zh) * | 2021-11-15 | 2022-02-18 | 深圳古瑞瓦特新能源有限公司 | 功率模块并机地址分配方法、系统、装置、电子设备及计算机可读存储介质 |
CN114326488A (zh) * | 2021-12-01 | 2022-04-12 | 浙江源创智控技术有限公司 | 一种用于楼控系统的io模块通道联动的组态分配方法及装置 |
CN116319680A (zh) * | 2023-03-16 | 2023-06-23 | 上海迈智辰科技有限公司 | 一种动态分配地址的方法、耦合器及背板 |
CN116319680B (zh) * | 2023-03-16 | 2024-08-23 | 上海迈智辰科技有限公司 | 一种动态分配地址的方法、耦合器及背板 |
CN118672377A (zh) * | 2024-08-20 | 2024-09-20 | 西安麦格米特电气有限公司 | 电源系统的管理方法、电源系统及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112988639A (zh) | 一种模块地址分配方法及装置、数据交互系统 | |
CN111309486B (zh) | 转换方法、装置、计算机设备和存储介质 | |
CN102073461B (zh) | 输入输出请求调度方法、相关装置和存储阵列 | |
CN112988423A (zh) | 消息消费、消息分发方法、装置、服务器及存储介质 | |
US10338813B2 (en) | Storage controller and using method therefor | |
CN111880916B (zh) | Gpu中多绘制任务处理方法、装置、终端、介质及主机 | |
US7243354B1 (en) | System and method for efficiently processing information in a multithread environment | |
CN115794317B (zh) | 一种基于虚拟机的处理方法、装置、设备及介质 | |
CN110413328B (zh) | 一种网卡端口的pxe功能使能方法、装置及相关设备 | |
CN108304272B (zh) | 一种数据io请求的处理方法及装置 | |
CN104765701A (zh) | 数据访问方法及设备 | |
US11339989B2 (en) | Communication method and device for air conditioner, outdoor unit, indoor unit, and air conditioner | |
CN106708569B (zh) | 一种跨线列车中vobc配置文件的热加载方法及装置 | |
CN111880926B (zh) | 一种负载均衡方法、装置及计算机存储介质 | |
US10296257B2 (en) | Control device and control method | |
CN113485835B (zh) | 一种多场景下共享内存的实现方法、系统、设备及介质 | |
CN104182181A (zh) | 一种存储卡的数据处理方法、装置及终端 | |
CN114637551A (zh) | 设备驱动方法、系统及存储介质 | |
CN113946369A (zh) | 设备自动添加方法、装置、系统、设备和存储介质 | |
CN106776382B (zh) | 一种pcie设备的配置方法及装置 | |
CN114968840B (zh) | 一种内存使用量控制方法及系统 | |
CN115629881A (zh) | 主机、数据处理系统、方法、电子设备及存储介质 | |
CN111382100A (zh) | 一种i2c总线的数据采集方法及系统 | |
CN116360858B (zh) | 数据的处理方法、图形处理器、电子设备及存储介质 | |
CN115687220B (zh) | 多服务器标识的识别电路、识别方法、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |