(19)
(11)EP 3 261 298 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
29.04.2020 Bulletin 2020/18

(21)Application number: 16188040.6

(22)Date of filing:  09.09.2016
(51)International Patent Classification (IPC): 
G06F 13/42(2006.01)
H04L 12/54(2013.01)
H04L 12/40(2006.01)

(54)

METHOD FOR IMPLEMENTING A REAL-TIME INDUSTRIAL INTERNET FIELD BROADBAND BUS

VERFAHREN ZUR ECHTZEIT INDUSTRIAL BREITBAND-INTERNET-FIELD BUS FÜHRUNGS

PROCÉDÉ DE MISE EN OEUVRE D' UN BUS INDUSTRIEL EN TEMPS RÉEL INTERNET HAUT DEBIT


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 23.06.2016 CN 201610466726

(43)Date of publication of application:
27.12.2017 Bulletin 2017/52

(73)Proprietor: Kyland Technology Co., Ltd.
Beijing 100041 (CN)

(72)Inventors:
  • ZHANG, Jianfeng
    Beijing, 100041 (CN)
  • YAN, Zhiwei
    Beijing, 100041 (CN)

(74)Representative: Pfenning, Meinig & Partner mbB 
Patent- und Rechtsanwälte Theresienhöhe 11a
80339 München
80339 München (DE)


(56)References cited: : 
US-A- 3 856 993
US-A- 5 960 001
  
      
    Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


    Description

    FIELD



    [0001] The present invention relates to the field of information processing, and particularly to a method for implementing a real-time industrial internet field broadband bus.

    BACKGROUND



    [0002] As the Internet technologies are being developed, various buses have been widely applied to industrial field automatization, to monitor by a control end an industrial field in real-time, and there are different data transmission rates required in different application fields, where particularly the performance of servo systems, robots, and other systems requiring high precision may depend directly upon timely transmission of field data and control data, and there remains a bottleneck for the real-time performance of the existing buses.

    [0003] In the prior art, data are transmitted over the Ethernet in a poorly real-time manner; and data are transmitted over the Ethernet in the mode of Carrier Sense Multiple Access with Collision Detection (CSMA/CD), so if the network is heavily loaded (more than 40%), then the deterministic network may not accommodate the real-time requirement of industrial control. There has been disclosed in the Invention Patent CN101778025B an apparatus and method for transmitting over the Ethernet at a transmission rate of the kilo-mega order, where the apparatus includes at least one single pair of differential line interfaces, and a two-wire Ethernet transfer device including a local transmitter and a local receiver coupled with the single pair of differential line interfaces, where the two-wire Ethernet transfer device communicates data in the mode of CSMA/CD collision detection, thus resulting in poorly real-time transmission in the system.

    [0004] The operating characteristic and the operating mode of the CAN bus have been introduced in the paper "CAN BUS TECHNOLOGY AND ITS APPLICATION" published in "MANUFACTURING AUTOMATION", where the event trigger mechanism of the CAN bus may cause events in the network to collide easily with each other, so that transmission over a channel may be subjected to an error and a jam, and even if the collision can be resolved by arbitration, then data transmission at a low priority may not be real-time; and if master and slave stations operate, then the respective nodes will communicate freely with each other by occupying a wider channel, thus lowering the transmission rate of the data over the channel, and consequently degrading the transmission performance. If the data are transmitted using the ID of a data packet, then the length of a message thereof will be so long that may result in a transmission delay, and although the data can be transmitted over a distance of up to 10km, the transmission rate thereof will be significantly lower than the transmission rate over the Ethernet. There may be poorly real-time data transmission in the respective scenarios above.

    [0005] Transmission of an EtherCAT message in an EtherCAT data frame has been disclosed in the paper "A STUDY ON INTUSTRIAL ETHERNET PROTOCAL BASED ON ETHERCAT" published in "Chinese Selected Master's Dissertation Electronic Journal", where the data frame includes a legacy Ethernet frame, a message header, and other bytes, and there is an MAC address thereof for addressing, but the length of the message may be so long that may hinder the data from being transmitted rapidly, thus resulting in poor real-time transmission thereof.

    [0006] Document US 5960001A discloses that a contention protocol permitting transmission of isochronous data. A device wishing to transmit isochronous data can reserve periodic time slots for the transmission. Either the device or a network controller transmits the reservation information to other devices on the network. When non-isochronous transmissions are desired, the devices contend for access using the CSMA/CD protocols, but taking into account the already reserved time slots.

    [0007] In summary, the bus in the prior art may be poorly real-time, and a channel may be occupied for transmission, thus blocking the channel.

    SUMMARY



    [0008] Embodiments of the invention provide a method for implementing a real-time industrial internet field broadband bus so as to address the problems in the prior art of the poorly real-time bus, and occupying a channel for transmission, thus blocking the channel.

    [0009] The current invention is carried out as defined by the appended claims and provides in claim 1 a method for implementing a real-time industrial internet field broadband bus, the method being applicable to a two-wire data transfer network in which a bus controller is connected with one or more bus terminals over the network according to their IP addresses, and in which the bus controller synchronizes its clock with the bus terminals, wherein the method includes:

    determining, by the bus controller, the number of bus terminals connected with the bus controller over the two-wire data transfer network;

    allocating, by the bus controller, one or more time slices for the one or more bus terminals according to the number of bus terminals; and

    transmitting, by the bus controller, the time slices to the bus terminals so that the bus terminals operate in the allocated time slices;

    wherein the allocated time slices of the different bus terminals do not overlap with each other;

    where the method further includes:

    upon reception of a data packet to be transmitted to a bus terminal, if it is determined that the data packet is not a configuration data packet, then determining, by the bus controller, a bus device address corresponding to a destination IP address and a destination MAC address according to a binding relationship between the destination IP address, the destination MAC address, and the bus device address; and

    composing, by the bus controller, a new message from the bus device address, and data information in the data packet, and transmitting the new message to the bus terminal corresponding to the determined bus device address;

    wherein composing, by the bus controller, the new message from the bus device address, and the data information in the data packet includes:

    removing, by the bus controller, a message header, an IP header and a TCP header in the data packet, and reserving the data information in the data packet; and

    generating the new message by adding the determined bus device address before the data information in the data packet as a header.



    [0010] Furthermore determining, as described in the dependent claims, by the bus controller, the number of bus terminals connected with the bus controller over the two-wire data transfer network includes:

    receiving, by the bus controller, one or more time slice acquisition requests transmitted by the bus terminals; and

    determining, by the bus controller, the number of bus terminals according to the number of time slice acquisition requests.



    [0011] Furthermore before determining, by the bus controller, the number of bus terminals connected with the bus controller over the two-wire data transfer network, the method further includes:
    determining, by the bus controller, there is a change in the number of bus terminals.

    [0012] Furthermore allocating, by the bus controller, time slices for the bus terminals according to the number of bus terminals includes:

    determining, by the bus controller, for any one bus terminal a transmission priority corresponding to a type identifier of the bus terminal according to a correspondence relationship between the type identifier and the transmission priority; and

    determining, by the bus controller, the allocated time slices of the bus terminals according to the transmission priorities of the bus terminals, and the number of bus terminals.



    [0013] Furthermore the method further includes:

    upon reception of the data packet to be transmitted to the bus terminal, it is determined that the data packet is a configuration data packet, then determining, by the bus controller, the corresponding bus terminal according to the configuration data packet; and

    transmitting, by the bus controller, the configuration data packet to the bus terminal so that the bus terminal performs corresponding configuration operations according to the configuration data packet.



    [0014] Furthermore generating, by the bus controller, the binding relationship between the destination IP address, the destination MAC address, and the bus device address includes:

    allocating, by the bus controller, an IP address and a bus device address for the bus terminal upon reception of an IP address acquisition request transmitted by the bus terminal; and

    generating, by the bus controller, a three-dimension correspondence relationship between an MAC address of the bus terminal, and the allocated IP address and bus device address of the bus terminal;

    wherein the IP address acquisition request includes the MAC address of the bus terminal.



    [0015] Furthermore a precision clock synchronization protocol is the IEEE1588 clock protocol.

    [0016] Furthermore the method further includes:
    allocating, by the bus controller, a time slice for the bus controller according to the number of bus terminals.

    [0017] An advantageous effect of the invention lies in that the number of devices over the bus is determined, and the respective devices over the bus are allocated their time slices, so that the respective bus devices can operate in their respective time slices, and the time slices of the different bus devices will not overlap with each other, that is, in the embodiments of the invention, there will be at most one device operating on data over the bus in the respective time slides, thus avoiding the data transmitted over the bus from colliding with each other, and thus being blocked so as to guarantee real-time data transmission.

    BRIEF DESCRIPTION OF THE DRAWINGS



    [0018] In order to make the technical solutions according to the embodiments of the invention art more apparent, the drawings to which a description of the embodiments refers will be briefly introduced below, and apparently the drawings to be described below are merely illustrative of some of the embodiments of the invention, and those ordinarily skilled in the art can derive from these drawings other drawings without any inventive effort. In the drawings:

    Fig.1(a) is a first schematic architectural diagram of a two-wire data transfer network according to an embodiment of the invention;

    Fig.1(b) is a second schematic architectural diagram of a two-wire data transfer network according to an embodiment of the invention;

    Fig.2 is a flow chart of a method for implementing a real-time industrial internet field broadband bus according to an embodiment of the invention;

    Fig.3 is a schematic diagram of devices in a two-wire data transfer network according to an embodiment of the invention;

    Fig.4 is a schematic diagram of a data message according to an embodiment of the invention;

    Fig.5 is a schematic diagram of a new data message according to an embodiment of the invention;

    Fig.6 is a flow chart of another method for implementing a real-time industrial internet field broadband bus according to an embodiment of the invention; and

    Fig.7 is a schematic structural diagram of an apparatus for implementing a real-time industrial internet field broadband bus according to an embodiment of the invention;


    DETAILED DESCRIPTION



    [0019] The invention provides a method for implementing industrial internet field broadband bus, the method being applicable to a two-wire data transfer network. In embodiments of the invention, the number of devices over the bus is determined, and the respective devices over the bus are allocated with their time slices, so that the respective bus devices can operate in their own time slices, and the time slices of the different bus devices will not overlap with each other, that is, in the embodiments of the invention, there will be at most one device performing data process over the bus in one time slide, thus avoiding the data transmitted over the bus from colliding with each other, and thus being blocked so as to guarantee real-time data transmission.

    [0020] In order to make the objects, technical solutions, and advantages of the embodiments of the invention more apparent, the technical solutions according to the embodiments of the invention will be described below clearly and fully with reference to the drawings in the embodiments of the invention, and apparently the embodiments described below are only a part but not all of the embodiments of the invention.

    [0021] As illustrated in Fig.1(a) which is a first schematic architectural diagram of a two-wire data transfer network according to an embodiment of the invention, the two-wire data transfer network includes a bus controller 101 and at least one bus terminal 102, where the bus controller 101 and one or more bus terminals 102 are connected over the two-wire data transfer network.

    [0022] As illustrated in Fig.1(b) which is a second schematic architectural diagram of a two-wire data transfer network according to an embodiment of the invention, the two-wire data transfer network further includes a bus configuration and monitoring component 103, connected with the bus controller 101, configured to transmit configuration information or a monitoring instruction for at least one device over the two-wire data transfer network to the bus controller 101 so that the bus controller 101 transmits the configuration information to the corresponding device; and to receive operating state information, transmitted by the bus controller 101, generated by at least one device over the two-wire data transfer network. The two-wire data transfer network further includes an application monitoring device 104, connected with the bus controller 101, configured to acquire data of the bus controller 101 and one or more bus terminals 102, and to control the bus controller 101 and one or more bus terminals 102 in real-time.

    [0023] Fig.2 illustrates a method for implementing a real-time industrial internet field broadband bus according to an embodiment of the invention, where the method includes:

    Step 201, the bus controller determines the number of the bus terminals connected with the bus controller over the two-wire data transfer network;

    Step 202, the bus controller allocates time slices for the bus terminals according to the number of bus terminals; and

    Step 203, the bus controller transmits the time slices to the bus terminals so that the bus terminals operate in the allocated time slices;



    [0024] The allocated time slices of the different bus terminals do not overlap with each other.

    [0025] In the step 201, the bus controller determines the number of devices over the two-wire data transfer network, where the devices include the bus terminal and the bus controller, then the number of devices over the two-wire data transfer network can be determined as the determined number of bus terminals plus one bus controller.

    [0026] In an embodiment of the invention, upon reception of the time slice acquisition requests transmitted by the bus terminals, the bus controller determines the number of bus terminals according to the number of time slice acquisition requests.

    [0027] In the embodiment above of the invention, as illustrated in Fig.1, for example, if there are four bus terminals and one bus controller in the two-wire data transfer network, then all of the four bus terminals may transmit time slice acquisition requests to the bus controller, so the bus controller can determine that there arc four bus terminals in the two-wire data transfer network according to the number of time slice acquisition requests transmitted by the bus terminals, and the bus controller can further determine that there are five devices in the two-wire data transfer network.

    [0028] Optionally in an embodiment of the invention, when the two-wire data transfer network is deployed, the bus controller has allocated the time slices for the bus terminals over the two-wire data transfer network, and if there is a new bus terminal connected with the bus controller over the two-wire data transfer network, then the bus controller will re-determine the number of devices over the two-wire data transfer network.

    [0029] In the step 202, the bus controller allocates the time slices for the respective bus terminals over the two-wire data transfer network according to the number of bus terminals upon determining the number of bus terminals.

    [0030] As illustrated in Fig.1, there are four bus terminals over the two-wire data transfer network, then the bus controller allocates time slices for the four bus terminals so that the allocated time slices of the four bus terminals do not overlap with each other.

    [0031] For example, in an embodiment of the invention, the bus controller allocates a pulse time of, for example, 0.1s for four bus terminals including a bus terminal A, a bus terminal B, a bus terminal C, and a bus terminal D, and optionally in an embodiment of the invention, the bus controller can equally allocate time slices to the four bus terminals, that is, each bus terminal is allocated a time slice of 0.025s, as depicted in Table 1 below:
    Table 1: A table of time slices allocated by the bus controller for bus terminals
    Bus terminalsTime slices/s
    Bus terminal A [0,0.025]
    Bus terminal B (0.025,0.05]
    Bus terminal C (0.05,0.075]
    Bus terminal D (0.075,0.1]


    [0032] In the embodiment above, [ ] represents being more than or equal to the smallest value in a set, and less than or equal to the largest value in the set, and ( ] represents being more than the smallest value in the set, and less than or equal to the largest value in the set.

    [0033] In the embodiment above, the bus terminal can operate in the time slice of [0,0.025], and when the bus terminal A is operating in the time slice of [0,0.025], that is, the bus terminal A is processing data, then there is no other bus terminal operating over the two-wire data transfer network to thereby aovid in effect a channel from being occupied so as to improve the efficiency of transmission. Of course, in the embodiment above, the bus cotnroller allocates randomly the time slices for the four bus terminals, and in the embodiment above, the time slices of the four bus terminals may vary, although a repeated description thereof will be omitted here.

    [0034] Optionally in an embodiment of the invention, the bus controller determines for any one bus terminal a transmission priority corresponding to a type identifier of the bus terminal according to a correspondence relationship between the type identifier and the transmission priority; and the bus controller determines the allocated time slices of the bus terminals according to the transmission priorities of the bus terminals, and the number of bus terminals.

    [0035] In the embodiment above of the invention, since the respective bus terminals process a data message differently in operation, the respective terminals can be assigned with different priorities. In an embodiment of the invention, the type identifiers of the bus terminals can be word codes or sequences charactering the types of the bus terminals, for example, in an embodiment of the invention, the type identifier of the bus terminal A is 1-1, which represents that the type thereof is a pressure sensor 1, etc., as depicted in Table 2:
    Table 2: Table of type identifiers of bus terminals
    Bus terminalsType identifiersRemarks
    Bus terminal A 1-1 Pressure sensor 1
    Bus terminal B 1-2 Pressure sensor 2
    Bus terminal C 2-1 Temperature sensor 1
    Bus terminal D 2-2 Temperature sensor 1


    [0036] In an embodiment of the invention, the priorities of the bus terminals are determined according to the type identifiers of the bus terminals, where in the embodiment of the invention, the priorities of the bus terminals can be determined according to a correspondence relationship table between a type identifier and a priority of a bus terminal in Table 3:
    Table 3: Correspondence relationship table between a type identifier and a priority of a bus terminal
    Bus terminal type identifiersPriorities
    1-1 1
    1-2 2
    2-1 3
    2-2 4


    [0037] In an embodiment of the invention, the larger the number of the priority above, the lower the priority, that is, the priority 1 is higher than the priority 4. In an embodiment of the invention, the time slices are allocated for the bus terminals according to the number of bus terminals over the two-wire data transfer network, and the priorities of the bus terminals.

    [0038] In an embodiment of the invention, for example, the bus controller allocates the time slices according to the priorities of the respective bus terminals in such a process that the bus controller firstly determines from a pulse time of, for example, 0.1s the respective time slices to be allocated for the four bus terminals, according to the priorities of the bus terminals so that the time slice of the bus terminal A is 0.04s, the time slice of the bus terminal B is 0.03s, the time slice of the bus terminal C is 0.02s, and the time slice of the bus terminal D is 0.05s.

    [0039] Of course, the bus controller can determine the allocated time slices of the bus terminals according to the number of bus terminals, and the priorities of the bus terminals as described in the embodiments above merely by way of an example, but the allocated time slices of the bus terminals can be otherwise determined according to the number of bus terminals, and the priorities of the bus terminals without departing from the claimed scope of the embodiments of the invention, although a repeated description thereof will be omitted here.

    [0040] Optionally in an embodiment of the invention, upon determining the number of bus terminals in the two-wire data transfer network, the bus controller can allocate the time slices for the bus terminals according to the number of bus terminals in the two-wire data transfer network to thereby better avoid data transmission from colliding with each other or being blocked.

    [0041] For example, in an embodiment of the invention, when the bus controller determines that there are four bus terminals, then the total number of devices is five, so the bus controller equally divides a pulse time of, for example, 0.1s, into five time slices, and allocates them randomly for the four bus terminals and the bus controller, so that the bus controller and the bus terminals can operate in their ow3n allocated time slices. As illustrated in Fig.3, TS1 represents the allocated time slice of the bus controller, TS2 represents the allocated time slice of the bus terminal A, TS3 represents the allocated time slice of the bus terminal B, TS4 represents the allocated time slice of the bus terminal C, and TS5 represents the allocated time slice of the bus terminal D, where TS1, TS2, TS3, TS4, and TS4 do not overlap with each other.

    [0042] In an embodiment of the invention, the bus controller can further determine periodically the number of devices in the two-wire data transfer network so that if a new device joins the two-wire data transmission network, then the bus controller will reallocate time slices. In an embodiment of the invention, the bus controller determines whether there is an increase in the number of bus terminals, upon arrival of a periodicity, and if not, then the bus controller will wait for a next periodicity to further determine the number of bus terminals.

    [0043] When the bus controller determines there is a change in the number of bus terminals, then the bus controller reallocates time slices for the bus terminals according to the number of bus terminals, and transmits the allocated time slices to the bus terminals.

    [0044] In an embodiment of the invention, upon reception of a data packet to be transmitted to a bus terminal, the bus controller further determines whether the data packet is a configuration data packet. In an embodiment of the invention, the configuration data packet is configured for debugging, configuration, or maintenance between the bus controller and the bus terminal. When the bus controller determines that the received data packet to be transmitted to the bus terminal is not a configuration data packet, then the bus controller determines a destination IP address and a destination MAC address in the data packet, and determine a bus device address corresponding to the destination IP address and the destination MAC address of the data packet according to a binding relationship between a destination IP address, a destination MAC address, and a bus device address.

    [0045] In an embodiment of the invention, the bus controller generates the binding relationship between a destination IP address, a destination MAC address, and a bus device address as follows:

    [0046] The bus controller allocates an IP address and a bus device address for the bus terminal upon reception of an IP address acquisition request transmitted by the bus terminal; and

    [0047] The bus controller generates a three-dimension correspondence relationship between an MAC address of the bus terminal, and the allocated IP address of the bus terminal and bus device address of the bus terminal;

    [0048] The IP address acquisition request includes the MAC address of the bus terminal,

    [0049] In the embodiment above of the invention, the bus controller allocates the IP address and the bus device address for the bus terminal upon reception of the IP address acquisition request transmitted by the bus terminal, for example, when the bus terminal A transmits an IP address acquisition request to the bus controller, where the IP address acquisition request includes the MAC address 00-01-6C-06-A6-29 of the bus terminal A, then the bus controller allocates the IP address of 111.112.0.1 for the bus terminal A, and allocates the bus device address of 0x34 for the bus terminal A. Also the bus controller stores the three items in a correspondence relationship table between the three items, and after the bus controller learns the IP addresses and the MAC addresses of all the bus terminals over the two-wire data transfer network, the bus controller stores the correspondence relationship table between the three items as depicted in Table 4:
    Table 4: Three-dimension correspondence table between a bus device address, an MAC address, and an IP address
    Bus device addressesMAC addressesIP addresses
    0x34 00-01-6C-06-A6-29 111.112.0.1
    0x35 01-00-23-5A-46-09 111.112.0.2
    0x36 12-34-56-AB-CD-EF 111.112.0.3
    0x37 13-25-78-EE-FF-DD 111.112.0.4


    [0050] In an embodiment of the invention, upon reception of the data packet, the bus controller determines that the data packet is not a configuration data packet, then the bus controller obtains the destination IP address and the destination MAC address in the data packet, for example, the bus controller obtains the destination IP address of 00-01-6C-06-A6-29, and the destination MAC address of 111.112.0.1, so the bus controller can search Table 4 for the bus device address corresponding to the IP address and the MAC address, and retrieve the bus device address of 0x34.

    [0051] In an embodiment of the invention, Fig.4 illustrates a message format of the data packet received by the bus controller, which includes several components which are a message header, an IP header, a TCP header, a data information segment, and a Frame Check Sequence (FCS).

    [0052] After the bus device address corresponding to the IP address and the MAC address is determined, the bus controller removes the message header, the IP header, and the TCP header, and determines the bus device address corresponding to the IP address and the MAC address as a header, as illustrated in Fig.5.

    [0053] In the embodiment above of the invention, the bus controller can replace the message header, the IP header, and the TCP header with the bus device address to thereby reduce in effect the length of the message transmitted over the two-wire data transfer network so as to improve the efficiency of transmitting the data packet.

    [0054] In an embodiment of the invention, in order to allocate more accurately the time slices for the bus controller and the bus terminals over the two-wire data transfer network so that the allocated time slices do not overlap with each other, the bus controller can synchronizes its clock with the respective bus terminals through the precision clock synchronization protocol before the time slices are allocated.

    [0055] In an embodiment of the invention, the bus controller can synchronize clock with the respective bus terminals in a number of protocols including the Precision Time Protocol (PTP), the Network Time Protocol (NTP), the Simple Network Time Protocol (SNTP), or any one of other applicable protocols. In an embodiment of the invention, firstly the bus controller synchronizes its time in any one of the clock synchronization protocol above, and then the bus controller synchronizes its time respectively with the other bus terminals, thus creating a reference clock for the two-wire data transfer network.

    [0056] In order to ensure the time synchronization on all the devices in the two-wire data transfer network, in an embodiment of the invention, a synchronization time interval can be further preset, and when the synchronization time interval arrives, then the bus controller may synchronize time with the other bus terminals.

    [0057] Optionally in an embodiment of the invention, the precision clock synchronization protocol is the IEEE1588 clock protocol.

    [0058] In order to describe the embodiments of the invention in further details, an example thereof will be described here.

    [0059] As illustrated in Fig.6, a method for implementing a real-time industrial internet field broadband bus according to an embodiment of the invention includes the following steps:

    [0060] Step 601, the bus controller synchronizes its clock with the respective bus terminals through the precision clock synchronization protocol.

    [0061] Step 602, the bus controller determines the number of bus terminals connected with the bus controller over the two-wire data transfer network;

    [0062] Step 603, the bus controller allocates time slices for the respective bus terminals according to the number of bus terminals, and transmits them to the corresponding bus terminals;

    [0063] Step 604, the bus controller determines whether a received data packet is a configuration data packet, and if the received data packet is not the configuration data packet, then the flow will proceed to the step 605; otherwise, the flow will proceed to the step 606;

    [0064] Step 605, the bus controller determines a bus device address corresponding to a destination IP address and a destination MAC address of the data packet according to a binding relationship between a destination IP address, a destination MAC address, and a bus device address, and the flow proceeds to the step 608;

    [0065] Step 606, the bus controller determines a corresponding bus terminal according to the configuration data packet;

    [0066] Step 607, the bus controller transmits the configuration data packet to the bus terminal;

    [0067] Step 608, the bus controller composes a new message from the bus device address, and data information in the data packet;

    [0068] Step 609, the bus controller transmits the new message to the bus terminal corresponding to the determined bus device address.

    [0069] In the embodiment above of the invention, the performance order of the step 601, the step 602, and the steps 603 to 609 may not be limited.

    [0070] Based upon the same technical idea, as illustrated in Fig.7, an embodiment of the invention further provides an apparatus for implementing a real-time industrial internet field broadband bus, the apparatus being applicable to a two-wire data transfer network, where the apparatus includes:

    A number determining unit 701 is configured to determine the number of bus terminals connected with the bus controller over the two-wire data transfer network;

    An allocating unit 702 is configured to allocate time slices for the respective bus terminals according to the number of bus terminals; and

    A transmitting unit 703 is configured to transmit the time slices to the bus terminals so that the bus terminals operate in the allocated time slices;



    [0071] The allocated time slices of the different bus terminals do not overlap with each other.

    [0072] Furthermore the number determining unit 701 is configured:

    To receive time slice acquisition requests transmitted by the bus terminals; and

    To determine the number of bus terminals according to the number of time slice acquisition requests.



    [0073] Furthermore the number determining unit 701 is configured:
    To determine there is a change in the number of bus terminals.

    [0074] Furthermore the allocating unit 702 is configured:

    To determine for any one bus terminal a transmission priority corresponding to a type identifier of the bus terminal according to a correspondence relationship between the type identifier and the transmission priority; and

    To determine the allocated time slices of the bus terminals according to the transmission priorities of the bus terminals, and the number of bus terminals.



    [0075] Furthermore the apparatus further includes:

    A replacing unit 704 is configured, upon reception of a data packet to be transmitted to a bus terminal, if it is determined that the data packet is not a configuration data packet, to determine a bus device address corresponding to a destination IP address and a destination MAC address according to a binding relationship between a destination IP address, a destination MAC address, and a bus device address; and

    To compose a new message from the bus device address, and data information in the data packet, and to transmit the new message to the bus terminal corresponding to the determined bus device address.



    [0076] Furthermore the replacing unit is configured:

    To remove a header in the data packet, and to reserve the data information in the data packet; and

    To generate the new message by adding the determined bus device address before the data information in the data packet as a header.



    [0077] Furthermore the apparatus further includes:

    A configuring unit 705 is configured, upon reception of the data packet to be transmitted to the bus terminal, it is determined that the data packet is a configuration data packet, to determine the corresponding bus terminal according to the configuration data packet; and

    To transmit the configuration data packet to the bus terminal so that the bus terminal performs corresponding configuration operations according to the configuration data packet.



    [0078] Furthermore the binding relationship between a destination IP address, a destination MAC address, and a bus device address is generated as follows:

    The bus controller allocates an IP address and a bus device address for the bus terminal upon reception of an IP address acquisition request transmitted by the bus terminal; and

    The bus controller generates a three-dimension correspondence relationship between an MAC address of the bus terminal, and the allocated IP address and bus device address of the bus terminal;

    The IP address acquisition request includes the MAC address of the bus terminal.



    [0079] Furthermore the precision clock synchronization protocol is the IEEE1588 clock protocol.

    [0080] Furthermore the allocating unit 702 is further configured:
    To allocate a time slice for the bus controller according to the number of bus terminals.

    [0081] The invention has been described in a flow chart and/or a block diagram of the method, the device (system) and the computer program product according to the embodiments of the invention. It shall be appreciated that respective flows and/or blocks in the flow chart and/or the block diagram and combinations of the flows and/or the blocks in the flow chart and/or the block diagram can be embodied in computer program instructions. These computer program instructions can be loaded onto a general-purpose computer, a specific-purpose computer, an embedded processor or a processor of another programmable data processing device to produce a machine so that the instructions executed on the computer or the processor of the other programmable data processing device create means for performing the functions specified in the flow(s) of the flow chart and/or the block(s) of the block diagram.

    [0082] These computer program instructions can also be stored into a computer readable memory capable of directing the computer or the other programmable data processing device to operate in a specific manner so that the instructions stored in the computer readable memory create an article of manufacture including instruction means which perform the functions specified in the flow(s) of the flow chart and/or the block(s) of the block diagram.

    [0083] These computer program instructions can also be loaded onto the computer or the other programmable data processing device so that a series of operational steps are performed on the computer or the other programmable data processing device to create a computer implemented process so that the instructions executed on the computer or the other programmable device provide steps for performing the functions specified in the flow(s) of the flow chart and/or the block(s) of the block diagram.

    [0084] Although the preferred embodiments of the invention have been described, those skilled in the art benefiting from the underlying inventive concept can make additional modifications and variations to these embodiments.

    [0085] Evidently those skilled in the art can make various modifications and variations to the invention without departing from the scope of the invention.


    Claims

    1. A method for implementing a real-time industrial internet field broadband bus, the method being applicable to a two-wire data transfer network in which a bus controller is connected with one or more bus terminals over the network according to their IP addresses, and in which the bus controller synchronizes its clock with the bus terminals, wherein the method comprises:

    determining, by the bus controller, the number of bus terminals connected with the bus controller over the two-wire data transfer network;

    allocating, by the bus controller, one or more time slices for the one or more bus terminals according to the number of bus terminals; and

    transmitting, by the bus controller, the time slices to the bus terminals so that the bus terminals operate in the allocated time slices;

    wherein the allocated time slices of the different bus terminals do not overlap with each other;

    wherein the method further comprises:

    upon reception of a data packet to be transmitted to a bus terminal, if it is determined that the data packet is not a configuration data packet, then determining, by the bus controller, a bus device address corresponding to a destination IP address and a destination MAC address according to a binding relationship between the destination IP address, the destination MAC address, and the bus device address; and

    composing, by the bus controller, a new message from the bus device address, and data information in the data packet, and transmitting the new message to the bus terminal corresponding to the determined bus device address;

    wherein composing, by the bus controller, the new message from the bus device address, and the data information in the data packet comprises:

    removing, by the bus controller, a message header, an IP header and a TCP header in the data packet, and reserving the data information in the data packet; and

    generating the new message by adding the determined bus device address before the data information in the data packet as a header.


     
    2. The method according to claim 1, wherein determining, by the bus controller, the number of bus terminals connected with the bus controller over the two-wire data transfer network comprises:

    receiving, by the bus controller, one or more time slice acquisition requests transmitted by the one or more bus terminals; and

    determining, by the bus controller, the number of bus terminals according to the number of time slice acquisition requests.


     
    3. The method according to claim 1, wherein before determining, by the bus controller, the number of bus terminals connected with the bus controller over the two-wire data transfer network, the method further comprises:
    determining, by the bus controller, there is a change in the number of bus terminals.
     
    4. The method according to claim 1, wherein allocating, by the bus controller, time slices for the bus terminals according to the number of bus terminals comprises:

    determining, by the bus controller, for any one bus terminal a transmission priority corresponding to a type identifier of the bus terminal according to a correspondence relationship between the type identifier and the transmission priority; and

    determining, by the bus controller, the allocated time slices of the bus terminals according to the transmission priorities of the bus terminals, and the number of bus terminals.


     
    5. The method according to claim 1, wherein the method further comprises:

    upon reception of the data packet to be transmitted to the bus terminal, it is determined that the data packet is a configuration data packet, then determining, by the bus controller, the corresponding bus terminal according to the configuration data packet; and

    transmitting, by the bus controller, the configuration data packet to the bus terminal so that the bus terminal performs a corresponding configuration operation according to the configuration data packet.


     
    6. The method according to claim 1, wherein generating, by the bus controller, the binding relationship between the destination IP address, the destination MAC address, and the bus device address comprises:

    allocating, by the bus controller, the IP address and the bus device address for the bus terminal upon reception of the IP address acquisition request transmitted by the bus terminal; and

    generating, by the bus controller, a three-dimension correspondence relationship between the MAC address of the bus terminal, and the allocated IP address and bus device address of the bus terminal;

    wherein the IP address acquisition request includes the MAC address of the bus terminal.


     
    7. The method according to claim 1, wherein a precision clock synchronization protocol is the IEEE1588 clock protocol.
     
    8. The method according to any one of claims 1 to 7, wherein the method further comprises:
    allocating, by the bus controller, a time slice for the bus controller according to the number of bus terminals.
     


    Ansprüche

    1. Verfahren zum Implementieren eines Echtzeit-Industrial-Internetfeldbreitbandbusses, wobei das Verfahren auf ein Zweidraht-Datentransfernetzwerk anwendbar ist, in dem ein Bus-Controller mit einem oder mehr Bus-Anschlüssen über das Netzwerk gemäß ihren IP-Adressen verbunden ist, und in dem der Bus-Controller seinen Takt mit den Bus-Anschlüssen synchronisiert, wobei das Verfahren umfasst:

    Bestimmen, durch den Bus-Controller, der Anzahl von Bus-Anschlüssen, die mit dem Bus-Controller über das Zweidraht-Datentransfernetzwerk verbunden sind,

    Allozieren, durch den Bus-Controller, einer oder mehr Zeitscheiben für den einen oder mehr Bus-Anschluss/Anschlüsse entsprechend der Anzahl der Bus-Anschlüsse; und

    Übertragen, durch den Bus-Controller, der Zeitscheiben an die Bus-Anschlüsse, so dass die Bus-Anschlüsse in den zugewiesenen Zeitscheiben arbeiten;

    wobei sich die zugewiesenen Zeitscheiben der verschiedenen Bus-Anschlüsse nicht gegenseitig überlappen;

    wobei das Verfahren ferner umfasst:

    auf Empfang eines Datenpakets, das an einen Bus-Anschluss zu übertragen ist, falls bestimmt wird, dass das Datenpaket kein Konfigurationsdatenpaket ist, anschließendes Bestimmen, durch den Bus-Controller, einer Busvorrichtungsadresse, die einer Ziel-IP-Adresse und einer Ziel-MAC-Adresse entspricht, gemäß einer verbindlichen Beziehung zwischen der Ziel-IP-Adresse, der Ziel-MAC-Adresse und der Busvorrichtungsadresse; und

    Erstellen, durch den Bus-Controller, einer neuen Nachricht aus der Busvorrichtungsadresse und Dateninformationen im Datenpaket, und Übertragen der neuen Nachricht an den Bus-Anschluss, der der bestimmten Busvorrichtungsadresse entspricht;

    wobei das Erstellen, durch den Bus-Controller, der neuen Nachricht aus der Busvorrichtungsadresse, und der Dateninformationen im Datenpaket umfasst:

    Entfernen, durch den Bus-Controller, eines Nachrichten-Headers, eines IP-Headers und eines TCP-Headers im Datenpaket, und Reservieren der Dateninformation im Datenpaket; und

    Erzeugen der neuen Nachricht durch Hinzufügen der bestimmten Busvorrichtungsadresse vor den Dateninformationen im Datenpaket als einen Header.


     
    2. Verfahren nach Anspruch 1, wobei das Bestimmen, durch den Bus-Controller, der Anzahl der mit dem Bus-Controller verbundenen Bus-Anschlüsse über das Zweidraht-Datentransfernetzwerk umfasst:

    Empfangen, durch den Bus-Controller, einer oder mehr Zeitscheiben-Erwerbungsanforderungen, die durch den einen oder mehr Bus-Anschluss/Anschlüssen übertragen werden; und

    Bestimmen, durch den Bus-Controller, der Anzahl der Bus-Anschlüsse gemäß der Anzahl der Zeitscheiben-Erwerbungsanforderungen.


     
    3. Verfahren nach Anspruch 1, wobei vor dem Bestimmen, durch den Bus-Controller, der Anzahl der mit dem Bus-Controller über das Zweidraht-Datentransfernetzwerk verbundenen Bus-Anschlüsse, das Verfahren ferner umfasst:
    Bestimmen, durch den Bus-Controller, dass eine Änderung in der Anzahl der Bus-Anschlüsse vorliegt.
     
    4. Verfahren nach Anspruch 1, wobei das Zuweisen, durch den Bus-Controller, von Zeitscheiben für die Bus-Anschlüsse gemäß der Anzahl der Bus-Anschlüsse umfasst:

    Bestimmen, durch den Bus-Controller, für irgendeinen Bus-Anschluss, einer Übertragungspriorität, die einem Typ-Identifizierer des Bus-Anschlusses entspricht, gemäß einer Korrespondenzbeziehung zwischen dem Typ-Identifizierer und der Übertragungspriorität; und

    Bestimmen, durch den Bus-Controller, der zugewiesenen Zeitscheiben der Bus-Anschlüsse gemäß den Übertragungsprioritäten der Bus-Anschlüsse und der Anzahl der Bus-Anschlüsse.


     
    5. Verfahren nach Anspruch 1, wobei das Verfahren ferner umfasst:

    auf Empfang des Datenpakets, das an den Bus-Anschluss zu übertragen ist, bestimmt wird, dass das Datenpaket ein Konfigurationsdatenpaket ist, anschließendes Bestimmen, durch den Bus-Controller, des entsprechenden Bus-Anschlusses gemäß dem Konfigurationsdatenpaket; und

    Übertragen, durch den Bus-Controller, des Konfigurationsdatenpakets an den Bus-Anschluss, so dass der Bus-Anschluss eine entsprechende Konfigurationsoperation gemäß dem Konfigurationsdatenpaket durchführt.


     
    6. Verfahren nach Anspruch 1, wobei das Erzeugen, durch den Bus-Controller, der verbindlichen Beziehung zwischen der Ziel-IP-Adresse, der Ziel-MAC-Adresse und der Bus-Einrichtungsadresse umfasst:

    Zuweisen, durch den Bus-Controller, der IP-Adresse und der Busvorrichtungsadresse für den Bus-Anschluss auf Empfang der durch den Bus-Anschluss übertragenen IP-Adresse-Erwerbungsanforderung, und

    Erzeugen, durch den Bus-Controller, einer dreidimensionalen Korrespondenzbeziehung zwischen der MAC-Adresse des Bus-Anschlusses und der zugewiesenen IP-Adresse und Busvorrichtungsadresse des Bus-Anschlusses;

    wobei die IP-Adresse-Erwerbungsanforderung die MAC-Adresse des Bus-Anschlusses enthält.


     
    7. Verfahren nach Anspruch 1, wobei ein Präzisionstakt-Synchronisationsprotokoll das IEEE 1588 Taktprotokoll ist.
     
    8. Verfahren nach einem der Ansprüche 1 bis 7, wobei das Verfahren ferner umfasst:
    Zuweisen, durch den Bus-Controller, einer Zeitscheibe für den Bus-Controller gemäß der Anzahl der Bus-Anschlüsse.
     


    Revendications

    1. Procédé destiné à mettre en Ĺ“uvre un bus à bande large dans le domaine Internet industriel en temps réel, le procédé s'appliquant à un réseau de transfert de données à deux fils dans lequel un contrôleur de bus est connecté à un ou à plusieurs terminaux de bus sur le réseau selon leurs adresses IP, et dans lequel le contrôleur de bus synchronise son horloge avec les terminaux de bus, où le procédé comprend les étapes suivantes :

    déterminer, avec le contrôleur de bus, le nombre de terminaux de bus connectés au contrôleur de bus sur le réseau de transfert de données à deux fils ;

    attribuer, avec le contrôleur de bus, une ou plusieurs tranches de temps pour le ou les terminus de bus selon le nombre de terminaux de bus ; et

    transmettre, avec le contrôleur de bus, les tranches de temps aux terminaux de bus de telle sorte que les terminaux de bus fonctionnent dans les tranches de temps attribuées ;

    où, les tranches de temps attribuées des différents terminaux de bus ne se chevauchent pas les unes les autres ;

    où le procédé comprend en outre les étapes suivantes :

    lors de la réception d'un paquet de données à transmettre à un terminal de bus, si l'on détermine que le paquet de données n'est pas un paquet de données de configuration, déterminer alors, avec le contrôleur de bus, une adresse de dispositif de bus correspondant à une adresse IP de destination, et à une adresse MAC de destination selon une relation d'association entre l'adresse IP de destination, l'adresse MAC de destination, et l'adresse de dispositif de bus ; et

    composer, avec le contrôleur de bus, un nouveau message à partir de l'adresse de dispositif de bus, et des informations de données dans le paquet de données, et transmettre le nouveau message au terminal de bus correspondant à l'adresse de dispositif de bus déterminée ;

    où l'étape consistant à composer, avec le contrôleur de bus, le nouveau message à partir de l'adresse de dispositif de bus, et des informations de données dans le paquet de données, comprend les étapes suivantes :

    retirer, avec le contrôleur de bus, un en-tête de message, un en-tête IP et un en-tête TCP dans le paquet de données, et conserver les informations de données dans le paquet de données ; et

    générer le nouveau message en ajoutant l'adresse de dispositif de bus déterminée avant les informations de données dans le paquet de données en tant qu'en-tête.


     
    2. Procédé selon la revendication 1, où l'étape consistant à déterminer, avec le contrôleur de bus, le nombre de terminaux de bus connectés au contrôleur de bus sur le réseau de transfert de données à deux fils, comprend les étapes suivantes :

    recevoir, avec le contrôleur de bus, une ou plusieurs demandes d'acquisition de tranches de temps transmises par le ou les terminaux de bus ; et

    déterminer, avec le contrôleur de bus, le nombre de terminaux de bus selon le nombre de demandes d'acquisition de tranches de temps.


     
    3. Procédé selon la revendication 1, où avant l'étape consistant à déterminer, avec le contrôleur de bus, le nombre de terminaux de bus connectés au contrôleur de bus sur le réseau de transfert de données à deux fils, le procédé comprend en outre l'étape suivante :
    déterminer, avec le contrôleur de bus, qu'il y a une modification du nombre de terminaux de bus.
     
    4. Procédé selon la revendication 1, où l'étape consistant à attribuer, avec le contrôleur de bus, des tranches de temps pour les terminaux de bus selon le nombre de terminaux de bus comprend les étapes suivantes :

    déterminer, avec le contrôleur de bus, pour n'importe quel terminal de bus, une priorité de transmission correspondant à un identifiant de type du terminal de bus selon une relation de correspondance entre l'identifiant de type et la priorité de transmission ; et

    déterminer, avec le contrôleur de bus, les tranches de temps attribuées des terminaux de bus selon les priorités de transmission des terminaux de bus, et le nombre de terminaux de bus.


     
    5. Procédé selon la revendication 1, où le procédé comprend en outre les étapes suivantes :

    lors de la réception du paquet de données à transmettre au terminal de bus, si l'on détermine que le paquet de données est un paquet de données de configuration, déterminer alors, avec le contrôleur de bus, le terminal de bus correspondant selon le paquet de données de configuration ; et

    transmettre, avec le contrôleur de bus, le paquet de données de configuration au terminal de bus, de telle sorte que le terminal de bus exécute une opération de configuration correspondante selon le paquet de données de configuration.


     
    6. Procédé selon la revendication 1, où l'étape consistant à générer, avec le contrôleur de bus, une relation d'association entre l'adresse IP de destination, l'adresse MAC de destination, et l'adresse de dispositif de bus, comprend les étapes suivantes :

    attribuer, avec le contrôleur de bus, l'adresse IP et l'adresse de dispositif de bus du terminal de bus lors de la réception de la demande d'acquisition d'adresse IP transmise par le terminal de bus ; et

    générer, avec le contrôleur de bus, une relation de correspondance tridimensionnelle entre l'adresse MAC du terminal de bus, et l'adresse IP et l'adresse de dispositif de bus attribuées du terminal de bus ;

    où la demande d'acquisition d'adresse IP comprend l'adresse MAC du terminal de bus.


     
    7. Procédé selon la revendication 1, où un protocole de synchronisation d'horloge de précision est le protocole d'horloge IEEE1588.
     
    8. Procédé selon l'une quelconque des revendications 1 à 7, où le procédé comprend en outre l'étape suivante :
    attribuer, avec le contrôleur de bus, une tranche de temps pour le contrôleur de bus selon le nombre de terminaux de bus.
     




    Drawing




















    Cited references

    REFERENCES CITED IN THE DESCRIPTION



    This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

    Patent documents cited in the description




    Non-patent literature cited in the description