CN108038061A - 一种地址分配方法及plc系统 - Google Patents
一种地址分配方法及plc系统 Download PDFInfo
- Publication number
- CN108038061A CN108038061A CN201711097904.0A CN201711097904A CN108038061A CN 108038061 A CN108038061 A CN 108038061A CN 201711097904 A CN201711097904 A CN 201711097904A CN 108038061 A CN108038061 A CN 108038061A
- Authority
- CN
- China
- Prior art keywords
- module
- address
- plc
- address date
- mentioned
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种地址分配方法及PLC系统,其中,该地址分配方法应用于PLC系统,该PLC系统包括至少一个PLC及至少两个模块,该至少一个PLC与该至少两个模块形成菊花链结构,该地址分配方法包括:当接收到第i个模块的上一级器件发送的地址数据时,基于所述地址数据确定所述第i模块的地址,当i为1时,所述第i个模块的上一级器件为所述PLC,当i大于1时,所述第i个模块的上一级器件为第i‑1个模块;以预设的数据处理方法对所述第i个模块接收到的地址数据进行处理,得到处理后的地址数据;向第i+1个模块发送所述处理后的地址数据;i∈{1,2,3,4,……,n‑1},其中,n为所述PLC系统中的模块的个数。本方案能够在减少对PLC系统的硬件进行修改的前提下,为模块分配地址。
Description
技术领域
本发明属于可编程逻辑控制器技术领域,尤其涉及一种地址分配方法及PLC系统。
背景技术
在可编程逻辑控制器(Programmable Logic Controller,PLC)系统中,一般都采用模块化的系统结构,即“PLC+模块”的菊花链结构,PLC通过背板总线访问各个模块,而在访问模块之前,必须先给各个模块分配地址。传统的方法是增加额外的地址线给模块赋地址,或者采用类似于串行外设接口(Serial Peripheral Interface,SPI)总线的片选信号,但不论采用上述那种方法,如果需要扩充模块数量,都必须修改硬件,增加更多的地址线来满足需求,而增加额外的地址线势必增加硬件成本,这导致传统方法的扩展模块地址的能力较弱。
发明内容
有鉴于此,本发明提供了一种地址分配方法及PLC系统,旨在实现在减少对PLC系统的硬件进行修改的前提下,为模块分配地址。
本发明实施例的第一方面提供了一种地址分配方法,所述地址分配方法应用于可编程逻辑控制器PLC系统,所述PLC系统包括至少一个PLC及至少两个模块,所述至少一个PLC与所述至少两个模块形成菊花链结构,所述地址分配方法包括:
当接收到第i个模块的上一级器件发送的地址数据时,基于所述地址数据确定所述第i模块的地址,当i为1时,所述第i个模块的上一级器件为所述PLC,当i大于1时,所述第i个模块的上一级器件为第i-1个模块;
以预设的数据处理方法,对所述第i个模块接收到的地址数据进行处理,得到处理后的地址数据;
向第i+1个模块发送所述处理后的地址数据;
i∈{1,2,3,4,……,n-1},其中,所述n为所述PLC系统中的模块的个数。
本发明实施例的第二方面提供了一种PLC系统,所述PLC系统包括至少一个PLC及至少两个模块,所述至少一个PLC与所述至少两个模块形成菊花链结构,所述PLC用于:向第1个模块发送所述第1个模块的地址数据,所述第1个模块为与所述PLC直接相连的模块;
所述模块用于:当接收到上一级器件发送的地址数据时,基于所述地址数据确定所述模块的地址;以预设的数据处理方法,对所述模块接收到的地址数据进行处理,得到处理后的地址数据;向与所述模块相连的下一个模块发送所述处理后的地址数据,其中,当所述模块为第1个模块时,所述上一级器件为所述PLC,当所述模块不为第1个模块时,所述上一级器件为与所述模块相连的上一个模块。
由上可见,通过本发明方案,首先当接收到第i个模块的上一级器件发送的地址数据时,基于所述地址数据确定所述第i模块的地址,当i为1时,所述第i个模块的上一级器件为所述PLC,当i大于1时,所述第i个模块的上一级器件为第i-1个模块,然后以预设的数据处理方法,对所述第i个模块接收到的地址数据进行处理,得到处理后的地址数据,并向第i+1个模块发送所述处理后的地址数据。本发明方案不再需要通过地址线对各个模块赋地址,而是通过各个模块现有的数据输入线及数据输出线为各个模块分配地址,极大的减少了PLC系统中的硬件成本,同时减少了对PLC系统中的硬件作出的修改。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的地址分配方法的实现流程示意图;
图2是本发明实施例提供的地址分配方法中,PLC与模块的菊花链结构示意图;
图3是本发明实施例提供的地址分配方法中,PLC与模块的接口连接示意图;
图4是本发明实施例提供的地址分配方法中,各模块接收到的数据帧的示例图;
图5是本发明实施例提供的PLC系统的结构框图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
图1示出了本发明实施例一提供的地址分配方法的实现流程,其中,上述地址分配方法详述如下:
在步骤S101中,当接收到第i个模块的上一级器件发送的地址数据时,基于上述地址数据确定上述第i模块的地址;
在本发明实施例中,上述地址分配方法应用于PLC系统,并且上述PLC系统包括至少一个PLC及至少两个模块,上述至少一个PLC与上述至少两个模块形成菊花链结构,其中,上述菊花链结构是简化的级联结构,在上述菊花链结构中,信号进行串行传输,为了使该菊花链结构更加清楚、明白,图2示出了一个PLC与n个模块通过菊花链结构进行连接的示意图。
通过图2可知,当i为1时,上述第i个模块与上述PLC直接相连,此时上述第i个模块的上一级器件为上述PLC;当i大于1时,上述第i个模块与第i-1个模块直接相连,此时上述第i个模块的上一级器件为第i-1个模块。
具体地,上述基于上述地址数据确定上述第i个模块的地址,包括:
基于上述地址数据,从预设的地址配置表中,确定上述第i个模块的地址。
其中,上述预设的地址配置表可由PLC系统的开发人员进行创建及维护。开发人员可以预先设定菊花链中的每个模块的地址数据及对应的地址,在第i个模块接收到地址数据时,可以在上述预设的地址配置表中查找到与接收到的地址数据相匹配的地址,并将该查找到的地址作为上述第i个模块的地址。
在步骤S102中,以预设的数据处理方法,对上述第i个模块接收到的地址数据进行处理,得到处理后的地址数据;
在本发明实施例中,可以以预设的数据处理方法对上述第i个模块接收到的地址数据进行处理,得到处理后的地址数据。
具体地,上述以预设的数据处理方法,对上述第i个模块接收到的地址数据进行处理,得到处理后的地址数据,包括:
基于上述地址数据,从上述地址配置表中,确定第i+1个模块的地址数据;
基于上述第i+1个模块的地址数据,对上述第i个模块接收到的地址数据进行处理,得到处理后的地址数据。
其中,由于本发明实施例中的各个模块优选采用现场可编程门阵列(FieldProgrammable Gate Array,FPGA),因此,各个模块通过逻辑门对上述第i个模块接收到的地址数据进行处理,得到处理后的地址数据。
在步骤S103中,向第i+1个模块发送上述处理后的地址数据;
在本发明实施例中,当第i个模块得到处理后的地址数据后,向第i+1个模块发送上述处理后的地址数据,使得上述第i+1个模块也能够确定自身的地址。需要注意的是,上述i∈{1,2,……,n-1},其中,上述n为上述PLC系统中的模块的个数。
为了使PLC与模块之间,及模块与模块之间的连接关系更加清楚,图3示出了PLC与两个模块的接口连接示意图,表1示出了PLC与模块进行通讯时的接口信号线的说明:
表1
信号线 | 说明 |
CTL1 | 控制线1,控制数据传输方向 |
CTL2 | 控制线2,控制模块复位 |
CLK_OUT | 时钟输出 |
DATA_OUT | 数据输出 |
CLK_IN | 时钟输入 |
DATA_IN | 数据输入 |
可选地,为了避免地址数据在菊花链结构的传输过程中发生丢失或者错误,导致分配地址出错,上述基于上述地址数据确定上述第i个模块的地址之前,上述地址分配方法还包括:
接收上述第i个模块的上一级器件发送的循环冗余校验码;
根据上述循环冗余校验码对上述第i个模块接收到的地址数据进行校验;
基于上述地址数据确定上述第i模块的地址,包括:
当上述第i个模块接收到的地址数据通过上述循环冗余校验码的校验时,基于上述地址数据确定上述第i模块的地址。
其中,上述循环冗余校验码(Cyclic Redundancy Check,CRC)可用来检测或检验数据传输过程中或者保存后可能出现的错误。上述第i个模块的上一级器件在生成或者处理得到了上述第i个模块的地址数据后,将会根据生成或处理得到的上述第i个模块的地址数据进行多项式计算,并将计算结果作为循环冗余校验码,附在上述第i个模块的地址数据之后并发送给上述第i个模块。在上述第i个模块接收到了上一级器件发送的循环冗余检验码之后,将利用上述循环冗余校验码对上述第i个模块接收到的地址数据进行循环冗余校验,若循环冗余校验的结果存在余数,则确定上述第i个模块接收到的地址数据未通过上述循环冗余校验码的校验,即上述第i个模块接收到的地址数据可能由于传输原因而产生了错误,可能导致上述第i个模块无法根据接收到的地址数据确定上述第i个模块的地址,此时,可以向上述PLC发送提醒指令,以提示地址数据发生错误,无法为模块分配正确的地址;若循环冗余校验的结果不存在余数,则确定上述第i个模块接收到的地址数据已通过上述循环冗余校验码的校验,此时,可以基于上述地址数据确定上述第i模块的地址。
可选地,为了支持对上述PLC系统中的模块进行热拔插操作,上述地址分配方法还包括:
根据上述PLC发出的模块插拔查询指令,统计当前上述PLC系统中的模块的个数;
与模块列表中前次记录的上述PLC系统中的模块的个数进行比对,其中,上述模块列表为对上述PLC系统中的模块的记录;
根据比对的结果,更新上述模块列表。
其中,上述PLC在上电后,可以周期性的发出模块插拔查询指令;当接收到上述PLC发送的模块插拔查询指令后,可以根据上述模块插拔查询指令,统计当前上述PLC系统中的模块的个数,并将统计得到的当前上述PLC系统中的模块的个数与模块列表中记录的上述PLC系统中的模块的个数进行比对,如果二者不一致,则可以确定上述PLC系统中发生了模块的热拔插,需要根据当前PLC中所存在的模块对上述模块列表进行更新。进一步地,上述统计当前上述PLC系统中的模块的个数,包括:上述PLC读取上述PLC系统的菊花链结构中的各个模块的地址;根据读取到的各个模块的地址,统计上述PLC系统中的模块的个数。更进一步地,在确定上述PLC系统中发生了模块的热拔插后,上述地址分配方法还包括:为当前上述PLC系统中的各个模块重新分配地址。
可选地,上述PLC输出的地址数据中,最高有效位的数据为“0”,其它非最高有效位的数据为“1”;
上述以预设的数据处理方法,对上述第i个模块接收到的地址数据进行处理,得到处理后的地址数据,包括;
将上述第i个模块接收到的地址数据右移一位,并以“1”补齐右移后的上述地址数据的最高位,得到处理后的地址数据。
其中,在上述PLC系统中,数据传输均采用从最高位(Most Significant Bit,MSB)到最低位(Least Significant Bit,LSB)的位传输方式。以上述PLC系统中包括八个模块为例,表2示出了采用上述地址分配方法后,八个模块所获得的地址数据:
表2
可见,根据上述表1可以看出,第1个模块接收到的地址数据“01111111”即为上述PLC发送的地址数据,其最高位为“0”,其它非最高位均为“1”;上述第1个模块在对接收到了地址数据后,对接收到的地址数据作右移处理,并以“1”补齐右移后地址数据所空出的最高位,得到“10111111”并发送至第2个模块,作为第2个模块的地址数据;以此类推,第8个模块所接收到的地址数据即为“11111110”。实际上,由于模块优选为FPGA,上述地址数据在FPGA传输的过程中,是不存在时延的,也即是说,当第1个模块接收到地址数据的bit7(即地址数据的第七位)时,第1个模块将立即输出第2个模块的地址数据的bit7;当第2个模块接收到地址数据的bit7时,第2个模块将立即输出第3个模块的地址数据的bit7;也即是说,第1个模块至第8个模块将在一个时钟内同时接收到本模块的地址数据的bit7,并在下一个时钟内同时接收到本模块的地址数据的bit6,直至接收完地址数据的所有数据位。可选地,在采用上述方法对地址数据进行处理时,上述第i个模块可以根据接收到的地址数据中“0”所在的数据位,确定上述第i个模块的地址,其中,表3示出了表2中的各个地址数据所对应的地址:
表3
地址数据 | 地址 |
01111111 | 1 |
10111111 | 2 |
11011111 | 3 |
11101111 | 4 |
11110111 | 5 |
11111011 | 6 |
11111101 | 7 |
11111110 | 8 |
可选地,为了使得各个模块能够在正确的时间接收地址数据,上述当接收到第i个模块的上一级器件发送的地址数据时,基于上述地址数据确定上述第i模块的地址,之前还包括:
上述PLC通过上述菊花链,向上述PLC系统中的各个模块透传地址分配指令;
上述PLC系统中的各个模块根据接收到的上述地址分配指令,进入地址数据接收准备状态;
上述当接收到第i个模块的上一级器件发送的地址数据时,基于上述地址数据确定上述第i模块的地址,包括:
在上述第i个模块处于地址数据接收准备状态时,若接收到第i个模块的上一级器件发送的地址数据,则基于上述地址数据确定上述第i模块的地址。
其中,上述PLC通过上述菊花链向各个模块透传地址分配指令,由于数据在VHDL间传输时不存在时延,且上述地址分配指令在上述菊花链中被透传,因此,各个模块能够在同一时刻接收到上述PLC发送的地址分配指令。在模块接收到地址分配指令后,可以进入地址数据接收准备状态,对于处于上述地址数据接收准备状态中的模块来说,所接收到的数据即为地址数据。可选地,可以根据上述地址分配指令,地址数据及循环冗余校验码生成一帧数据帧进行传输,具体地,可以以地址分配指令-地址数据-循环冗余校验码的格式生成一帧数据帧传输,以地址分配指令为“0Eh”、地址数据为上述表2中的地址数据为例,图4示出了各个模块接收由地址分配指令-地址数据-循环冗余校验码所组成的数据帧时的波形图。如图4所示,当CTL1拉低之后,地址分配指令“0Eh”实时透传给每个模块,当各个模块接收完地址分配指令后,将进入地址数据准备接收状态,开始实时的接收地址数据的各个数据位,并输出下一模块的地址数据的数据位,可以看到,上述各个模块在均是在同一时刻接收得到bit7,bit6直至bit0的数据;随后,各模块还将计算循环冗余校验码然后发送给下一模快,并且在各模块接收到循环冗余校验码后,对各模块所接收到的地址数据进行校验,实际上,各模块接收到循环冗余校验码的时间也相同;若各模块的循环冗余校验均通过,则根据上述表3确定各个模块的地址。
由上可见,通过本发明实施例,模块在接收到了数据线上发送过来的地址数据后,可以根据该地址数据确定该模块的地址,并且,还会对接收到的地址数据进行处理,将处理后的地址数据作为下一模块的地址数据,在此过程中,PLC只需要发出一次数据,即可对PLC系统中的各个模块进行地址分配操作,不仅效率得到了提高,而且,由于并未对硬件作出修改,也未新增新的硬件地址线,降低了PLC系统的成本;进一步地,如果需要在PLC系统中扩充更多的模块,只需要修改地址数据的位数即可,扩展能力得到很大的增强。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例二
对应与上文实施例的地址分配方法,图5示出了本发明提供的PLC系统的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分,参照图5,该地址分配系统5包括至少一个PLC 51及至少两个模块52,上述至少一个PLC 51与上述至少两个模块52形成菊花链结构,其中,上述PLC 51用于:向第1个模块52发送上述第1个模块52的地址数据,上述第1个模块52为与上述PLC 51直接相连的模块52;
上述模块52用于:当接收到上一级器件发送的地址数据时,基于上述地址数据确定上述模块52的地址;以预设的数据处理方法,对上述模块52接收到的地址数据进行处理,得到处理后的地址数据;向与上述模块52相连的下一个模块52发送上述处理后的地址数据,其中,当上述模块52为第1个模块52时,上述上一级器件为上述PLC 51,当上述模块52不为第1个模块52时,上述上一级器件为与上述模块52相连的上一个模块52,例如,参见图2:在图2中,第1个模块的下一个器件为第2个模块,第1个模块的上一个器件为PLC,第2个模块的上一个器件为第1个模块。
可选地,上述模块52还用于:接收上述上一级器件发送的循环冗余校验码;根据上述循环冗余校验码对上述模块52接收到的地址数据进行校验;
上述模块52具体用于:当接收到的地址数据通过上述循环冗余校验码的校验时,基于上述地址数据确定上述模块52的地址。
可选地,上述PLC 51还用于发出模块52插拔查询指令;
上述模块52还用于:根据上述PLC 51发出的模块52插拔查询指令,统计当前上述PLC系统5中的模块52的个数;与模块列表中前次记录的上述PLC系统5中的模块52的个数进行比对,其中,上述模块列表为对上述PLC系统5中的模块52的记录;根据比对的结果,更新上述模块列表。
可选地,上述PLC 51向上述第1个模块52发送的上述第1个模块52的地址数据中,最高有效位的数据为“0”,其它非最高有效位的数据为“1”;
上述模块52具体用于:将接收到的地址数据右移一位,并以“1”补齐右移后的上述地址数据的最高位,得到处理后的地址数据。
可选地,上述PLC 51还用于:通过上述菊花链,向上述PLC系统5中的各个模块52透传地址分配指令;
上述模块52还用于:根据接收到的上述PLC 51发送的上述地址分配指令,进入地址数据接收准备状态;
上述模块52具体用于:在处于地址数据接收准备状态时,若接收到上一级器件发送的地址数据,则基于上述地址数据确定上述模块52的地址。
由上可见,通过本发明实施例,PLC系统中的模块在接收到了数据线上发送过来的地址数据后,可以根据该地址数据确定该模块的地址,并且,还会对接收到的地址数据进行处理,将处理后的地址数据作为下一模块的地址数据,在此过程中,PLC只需要发出一次数据,即可对PLC系统中的各个模块进行地址分配操作,不仅效率得到了提高,而且,由于并未对硬件作出修改,也未新增新的硬件地址线,降低了PLC系统的成本;进一步地,如果需要在PLC系统中扩充更多的模块,只需要修改地址数据的位数即可,扩展能力得到很大的增强。
所属领域的技术人员可以清楚地了解到,上述PLC系统中,PLC及模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的方法及系统,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种地址分配方法,其特征在于,所述地址分配方法应用于可编程逻辑控制器PLC系统,所述PLC系统包括至少一个PLC及至少两个模块,所述至少一个PLC与所述至少两个模块形成菊花链结构,所述地址分配方法包括:
当接收到第i个模块的上一级器件发送的地址数据时,基于所述地址数据确定所述第i模块的地址,当i为1时,所述第i个模块的上一级器件为所述PLC,当i大于1时,所述第i个模块的上一级器件为第i-1个模块;
以预设的数据处理方法,对所述第i个模块接收到的地址数据进行处理,得到处理后的地址数据;
向第i+1个模块发送所述处理后的地址数据;
i∈{1,2,……,n-1},其中,所述n为所述PLC系统中的模块的个数。
2.如权利要求1所述的地址分配方法,其特征在于,所述基于所述地址数据确定所述第i模块的地址,之前还包括:
接收所述第i个模块的上一级器件发送的循环冗余校验码;
根据所述循环冗余校验码对所述第i个模块接收到的地址数据进行校验;
基于所述地址数据确定所述第i模块的地址,包括:
当所述第i个模块接收到的地址数据通过所述循环冗余校验码的校验时,基于所述地址数据确定所述第i模块的地址。
3.如权利要求1所述的地址分配方法,其特征在于,所述地址分配方法还包括:
根据所述PLC发出的模块插拔查询指令,统计当前所述PLC系统中的模块的个数;
与模块列表中前次记录的所述PLC系统中的模块的个数进行比对,其中,所述模块列表为对所述PLC系统中的模块的记录;
根据比对的结果,更新所述模块列表。
4.如权利要求1至3任一项所述的地址分配方法,其特征在于,所述PLC输出的地址数据中,最高有效位的数据为“0”,其它非最高有效位的数据为“1”;
所述以预设的数据处理方法,对所述第i个模块接收到的地址数据进行处理,得到处理后的地址数据,包括;
将所述第i个模块接收到的地址数据右移一位,并以“1”补齐右移后的所述地址数据的最高位,得到处理后的地址数据。
5.如权利要求1至3任一项所述的地址分配方法,其特征在于,所述当接收到第i个模块的上一级器件发送的地址数据时,基于所述地址数据确定所述第i模块的地址,之前还包括:
所述PLC通过所述菊花链,向所述PLC系统中的各个模块透传地址分配指令;
所述PLC系统中的各个模块根据接收到的所述地址分配指令,进入地址数据接收准备状态;
所述当接收到第i个模块的上一级器件发送的地址数据时,基于所述地址数据确定所述第i模块的地址,包括:
在所述第i个模块处于地址数据接收准备状态时,若接收到第i个模块的上一级器件发送的地址数据,则基于所述地址数据确定所述第i模块的地址。
6.一种PLC系统,所述PLC系统包括至少一个PLC及至少两个模块,所述至少一个PLC与所述至少两个模块形成菊花链结构,其特征在于,所述PLC用于:向第1个模块发送所述第1个模块的地址数据,所述第1个模块为与所述PLC直接相连的模块;
所述模块用于:当接收到上一级器件发送的地址数据时,基于所述地址数据确定所述模块的地址;以预设的数据处理方法,对所述模块接收到的地址数据进行处理,得到处理后的地址数据;向与所述模块相连的下一个模块发送所述处理后的地址数据,其中,当所述模块为第1个模块时,所述上一级器件为所述PLC,当所述模块不为第1个模块时,所述上一级器件为与所述模块相连的上一个模块。
7.如权利要求6所述的PLC系统,其特征在于,所述模块还用于:接收所述上一级器件发送的循环冗余校验码;根据所述循环冗余校验码对所述模块接收到的地址数据进行校验;
所述模块具体用于:当接收到的地址数据通过所述循环冗余校验码的校验时,基于所述地址数据确定所述模块的地址。
8.如权利要求6所述的PLC系统,其特征在于,所述PLC还用于发出模块插拔查询指令;
所述模块还用于:根据所述PLC发出的模块插拔查询指令,统计当前所述PLC系统中的模块的个数;与模块列表中前次记录的所述PLC系统中的模块的个数进行比对,其中,所述模块列表为对所述PLC系统中的模块的记录;根据比对的结果,更新所述模块列表。
9.如权利要求6至8任一项所述的PLC系统,其特征在于,所述PLC向所述第1个模块发送的所述第1个模块的地址数据中,最高有效位的数据为“0”,其它非最高有效位的数据为“1”;
所述模块具体用于:将接收到的地址数据右移一位,并以“1”补齐右移后的所述地址数据的最高位,得到处理后的地址数据。
10.如权利要求6至8任一项所述的PLC系统,其特征在于,所述PLC还用于:通过所述菊花链,向所述PLC系统中的各个模块透传地址分配指令;
所述模块还用于:根据接收到的所述PLC发送的所述地址分配指令,进入地址数据接收准备状态;
所述模块具体用于:在处于地址数据接收准备状态时,若接收到上一级器件发送的地址数据,则基于所述地址数据确定所述模块的地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711097904.0A CN108038061B (zh) | 2017-11-09 | 2017-11-09 | 一种地址分配方法及plc系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711097904.0A CN108038061B (zh) | 2017-11-09 | 2017-11-09 | 一种地址分配方法及plc系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108038061A true CN108038061A (zh) | 2018-05-15 |
CN108038061B CN108038061B (zh) | 2020-09-25 |
Family
ID=62093323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711097904.0A Active CN108038061B (zh) | 2017-11-09 | 2017-11-09 | 一种地址分配方法及plc系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038061B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515343A (zh) * | 2019-09-25 | 2019-11-29 | 深圳市海浦蒙特科技有限公司 | 通信连接装置、可编程逻辑控制器、通讯方法及产品 |
CN112988639A (zh) * | 2021-03-15 | 2021-06-18 | 深圳市麦格米特控制技术有限公司 | 一种模块地址分配方法及装置、数据交互系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003049379A1 (en) * | 2001-12-01 | 2003-06-12 | I Controls Inc. | Internet-based home automation server and control method thereof |
CN101755259A (zh) * | 2007-07-20 | 2010-06-23 | Nxp股份有限公司 | 用于通信总线的自动地址分配 |
CN102354181A (zh) * | 2011-08-03 | 2012-02-15 | 韦自力 | 基于现场总线的控制系统以及给总线设备编地址的方法 |
CN104285190A (zh) * | 2012-03-26 | 2015-01-14 | 西门子公司 | 故障安全发现和地址分配 |
CN105955179A (zh) * | 2016-05-05 | 2016-09-21 | 中工科安科技有限公司 | 一种一体式小型plc及其扩展io模块的自动识别方法 |
CN106131240A (zh) * | 2016-08-09 | 2016-11-16 | 郑州市茂辰电子科技有限公司 | 一种基于顺序链的can地址分配方法及通信系统 |
CN107133188A (zh) * | 2017-04-24 | 2017-09-05 | 京信通信技术(广州)有限公司 | 菊花链连接的主从通信分配地址方法、系统和从机、主机 |
-
2017
- 2017-11-09 CN CN201711097904.0A patent/CN108038061B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003049379A1 (en) * | 2001-12-01 | 2003-06-12 | I Controls Inc. | Internet-based home automation server and control method thereof |
CN101755259A (zh) * | 2007-07-20 | 2010-06-23 | Nxp股份有限公司 | 用于通信总线的自动地址分配 |
CN102354181A (zh) * | 2011-08-03 | 2012-02-15 | 韦自力 | 基于现场总线的控制系统以及给总线设备编地址的方法 |
CN104285190A (zh) * | 2012-03-26 | 2015-01-14 | 西门子公司 | 故障安全发现和地址分配 |
CN105955179A (zh) * | 2016-05-05 | 2016-09-21 | 中工科安科技有限公司 | 一种一体式小型plc及其扩展io模块的自动识别方法 |
CN106131240A (zh) * | 2016-08-09 | 2016-11-16 | 郑州市茂辰电子科技有限公司 | 一种基于顺序链的can地址分配方法及通信系统 |
CN107133188A (zh) * | 2017-04-24 | 2017-09-05 | 京信通信技术(广州)有限公司 | 菊花链连接的主从通信分配地址方法、系统和从机、主机 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515343A (zh) * | 2019-09-25 | 2019-11-29 | 深圳市海浦蒙特科技有限公司 | 通信连接装置、可编程逻辑控制器、通讯方法及产品 |
CN112988639A (zh) * | 2021-03-15 | 2021-06-18 | 深圳市麦格米特控制技术有限公司 | 一种模块地址分配方法及装置、数据交互系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108038061B (zh) | 2020-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103092810B (zh) | 处理器、对处理器编程的方法以及电子设备 | |
CN105512007B (zh) | 一种pcie硬盘状态灯的控制方法及系统 | |
CN106951388A (zh) | 一种基于PCIe的DMA数据传输方法及系统 | |
AU652371B2 (en) | Data transfer system | |
CN206773693U (zh) | 一种符合OCP Mezzanine card标准的PCIe Riser卡 | |
CN103095855A (zh) | I2c通信接口装置 | |
CN108038061A (zh) | 一种地址分配方法及plc系统 | |
CN107330680A (zh) | 红包控制方法、装置、计算机设备及计算机可读存储介质 | |
CN108563590A (zh) | 基于片上flash存储器的otp控制器和控制方法 | |
CN111026460A (zh) | 一种组态工具中利用区域模板快速配点的方法及装置 | |
CN104391770A (zh) | 一种嵌入式数据安全系统用soc芯片的在线调试及上位机通讯模块 | |
CN102866967B (zh) | I2c设备管理方法及复杂可编程逻辑器件cpld | |
CN114398303A (zh) | 一种实现低延时的数据传输方法及系统 | |
CN108234687B (zh) | 一种智能ip地址配置方法、装置及终端设备 | |
CN103176941B (zh) | 核间通信方法和代理装置 | |
CN107657984A (zh) | 闪存的纠错方法、装置、设备以及计算机可读存储介质 | |
CN108572787A (zh) | 一种数据存储、读取的方法及装置 | |
CN110569038A (zh) | 随机验证参数设计方法、装置、计算机设备及存储介质 | |
CN107291372A (zh) | 电子装置及其数据验证方法 | |
CN108170091A (zh) | 一种plc控制器、plc控制器集群系统 | |
CN111142808B (zh) | 存取设备及存取方法 | |
CN107731154A (zh) | Led显示屏数据备份装置、方法及终端设备 | |
CN104658608B (zh) | 存储设备的写入方法及写入装置 | |
CN106547716A (zh) | 一种面向低管脚数的扩展总线配置系统及方法 | |
CN107870878A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |