Device for connecting at least two substribution devices to a port of a master device
By providing an apparatus and method in the IO-link system, connecting multiple auxiliary devices with a single master port, the problems of insufficient master port and difficulty in device replacement of IO-link system when expanding or replacing devices are solved, and low latency feedback and data format adaptability are achieved.
Patent Information
- Application Number
- CN202411600118.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-13
- Filing Date
- 2024-11-11
- Publication Date
- 2025-05-13
AI Technical Summary
Existing IO-link systems face problems such as insufficient master ports and difficulty in device replacement when they need to expand or replace devices, especially when the PLC is not used as a client, it is difficult to achieve low latency feedback, and the client requires a specific data format, but the connected IO-link devices do not provide this format.
A device and method are provided to connect at least two auxiliary devices through a single master device port, and use a processing unit to perform data exchange and processing, so as to realize data aggregation, adjustment and conversion to meet the communication needs between the master device and the auxiliary device.
This solution allows for more flexibility in integrating and using auxiliary devices, solves problems such as insufficient primary ports and difficulty in device replacement, implements low latency feedback without using PLC, and adapts to client-specific data format requirements.
Smart Images

Figure CN119996439A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to an apparatus for connecting at least two secondary devices to one port of a primary device. In addition, the invention relates to a system, a method, a computer program, a data processing apparatus and a computer-readable storage medium. Background Art
[0002] IO-Link is a communication protocol standardized in IEC 61131-9. It is commonly used in industrial fieldbus environments to connect sensors or actuators to various fieldbus systems. Special linking devices called IO-Link masters are used to connect IO-Link devices to various fieldbus systems. IO-Link communication is based on a simple point-to-point protocol. Therefore, IO-Link devices only need to support a single simple interface and can still interact with various host systems through a suitable IO-Link master. IO-Link masters exist not only for fieldbuses, but also for other client systems such as web browsers, MQTT servers, AI cloud systems and other IT-based technologies such as OPC UA or JSON.
[0003] The information transmitted via IO-Link is based on telegrams called m-sequences. An m-sequence is always started by the IO-Link master with a first part in a predefined period or cycle and answered by the IO-Link device with a second part. An m-sequence contains data elements that are transmitted in each cycle. These data elements are called cyclic data or process data. They also contain elements that are usually distributed over several cycles. These elements are only transmitted on demand, which is why they are called on-demand data or acyclic data. For example, on-demand data is used for parameters or event messages.
[0004] Different m-sequence types are used to specify data elements of different fixed sizes. Which m-sequence types are used during IO-Link communication is defined by the IO-Link device. An IO-Link master with, for example, 8 IO-Link ports allows up to 8 IO-Link devices to be connected. The characteristics of the connected IO-Link devices are described in an electronic data sheet called an IO-Link device descriptor "IODD" file. Each IO-Link device type is uniquely identified by an address consisting of a 16-bit vendor ID and a 24-bit device ID. The identification is listed in the IODD and can also be read from the IO-Link device via the IO-Link protocol.
[0005] Current IO-Link systems are very successful and widely used, especially in conjunction with fieldbus systems and programmable logic controllers "PLCs".
[0006] There are various disadvantages associated with the use of communication systems, in particular IO-Link. This includes, for example, the case of a lack of master ports. This occurs when it is necessary to add additional sensors or actuators for expanded or improved functionality and all ports of the current master device are already in use and adding a new master device is difficult or impossible. Another disadvantage occurs when it is necessary to replace a device with a similar device having similar or comparable features, but with a different cyclic data structure.
[0007] Another challenge is to provide low latency feedback from sensors to actuators without the PLC as a client. It can also be challenging to implement simple sequencing as an extension of low latency feedback, which includes execution loops and decision making. Another challenge is to meet the needs of clients, who require data in a specific pre-processed data format that is not provided by the connected IO-Link device.
[0008] Existing solutions are devices like the "Balluf BNI IOL-302-002-K006" which allow the expansion of IO-Link devices using expander ports. However, these solutions are not universal, as only specific devices can be connected to the expander ports. Summary of the invention
[0009] According to some aspects of the present invention, a device, a system, a method, a computer program, a data processing device and a computer-readable storage medium are provided. Other features and details of the present invention are disclosed in the specification and the drawings. Features and details described in the context of the present invention device also correspond to the system of the present invention, the method of the present invention, the computer program of the present invention, the data processing device of the present invention and the computer-readable storage medium of the present invention, and vice versa.
[0010] According to one aspect of the invention, there is provided a device for connecting at least two auxiliary devices to a port, in particular a single port, of a master device. The device can be configured as a device with IO-link functionality for insertion between auxiliary devices, each configured as an IO-link device, and a master device configured as an IO-link master device. Therefore, the device can be used in typical applications of IO-link, where the master device is used as an interface for a fieldbus and a programmable logic controller (PLC) to transfer control data from the PLC and the fieldbus to the auxiliary devices and / or to transfer sensor data from the auxiliary devices to the PLC via the fieldbus. Of course, other applications can also be imagined, such as connecting an auxiliary device to any type of upper unit via a master device.
[0011] The device may include a device port, which is configured to be connected to a port of the main device in particular by wire. In addition, the device may include at least two main ports, which are configured to be connected to the auxiliary device in particular by wire. The device may also include a processing unit, in particular an electronic processing unit, which is configured to establish data communication with the main device through the device port and the one port. The processing unit may also be configured to establish (another) data communication with the auxiliary device through the at least two main ports. Thus, the processing unit allows data exchange between the auxiliary device and the main device to be provided by the device. Each data communication may be configured as point-to-point communication, as specifically specified by the IO-link. In addition, the processing unit may be configured to adjust (preferably aggregate) the data exchanged with the auxiliary device for point-to-point communication with the main device through the device port and the one port. In addition, since data can be exchanged in both directions, the device, in particular the processing unit, may be configured to receive accumulated data from the main device to process it (such as calculating or segmenting) and send it to individual auxiliary devices. Due to these possibilities, the advantage of the device is that it allows more flexible integration and use of auxiliary devices for different applications.
[0012] The master device can provide a communication system similar to IO-link for data exchange with auxiliary devices. The communication system can refer to a digital communication network that allows real-time data exchange between auxiliary devices in the form of industrial devices (such as sensors, actuators and controllers). It can be used, for example, to connect devices in a manufacturing or process control environment, allowing efficient and reliable communication between devices. The communication system can be configured as a point-to-point communication system, thereby distinguishing itself from the fieldbus system. For this reason, in particular, IO-link uses an IO-link master device to connect (point-to-point) to one or more IO-link devices, i.e., sensors or actuators. The IO-link master device can provide an interface to a superior unit such as a superior controller (PLC) and control the communication with the connected IO-link device. The IO-link master device can have one or more IO-link ports, and only one device can be connected to the IO-link port at a time. This can also be a "hub", which as a hub can realize the connection of classic switch sensors and actuators.
[0013] Furthermore, the communication system may be configured as a wired communication system. In contrast to wireless solutions, the communication system may therefore use cables to establish a physical connection between the host device port and the device port.
[0014] Typically, a (main) master device is used for the interface between various fieldbuses or similar systems and multiple (auxiliary) devices. The master device may be responsible for controlling the communication with the auxiliary devices, in particular the IO-link, including data transmission, configuration and parameterization. Optionally, the master may also power the auxiliary devices, enabling simplified and cost-effective wiring. The master device may also be an active peer connected to 1 to n (auxiliary) devices via a port and providing an interface to a gateway to an upper communication system or an upper unit such as a PLC (Programmable Logic Controller).
[0015] IO-Link specifically refers to a standardized communication protocol standardized in IEC 61131-9 for connecting sensors and actuators to industrial automation systems. It enables bidirectional communication between devices and control systems, allowing real-time data exchange and parameterization. IO-Link is supported by many industrial equipment suppliers. This makes it a cost-effective and flexible solution for industrial automation applications.
[0016] MCU (abbreviation of microcontroller unit) can be used to run software, i.e. at least one computer program, in particular a computer program according to the present invention and / or is referred to as an application. MCU may include a processor, a memory and an input / output peripheral device. The application may implement a standard master interface (SMI) for upper layer communication and an IO-link master interface for communicating with a device. Information transmitted via the IO-link may be based on a telegram referred to as an m-sequence. The m-sequence may always be initiated by an IO-link master device having a first part in a predefined cycle or loop and answered by an IO-link device having a second part. The M-sequence may include data elements transferred in each cycle. These data elements are referred to as cyclic data or process data. They also include elements that are generally distributed in multiple cycles. These elements may be transmitted only on demand, which is why they are referred to as on-demand data or non-cyclic data. On-demand data is used, for example, for parameter or event messages. The processing unit of the device of the present invention may also be configured as (another) MCU.
[0017] Different m-sequence types can be used to specify data elements of different fixed sizes. Preferably, which m-sequence types are used during the IO-Link communication is defined by the IO-Link device. If the IO-Link master sends process data "PD" to the (auxiliary) device, these data can be called in the IO-Link interface and system specification PDOut. If the IO-Link master receives PD, these data can be called PDIn. The total size of the process data of the IO-Link device is in particular limited to 32 bytes PDOut and 32 bytes PDIn. If the data flow direction is not important for consideration, sufficient inputs / outputs can be skipped in the subsequent description.
[0018] A PHY may be provided, which is in particular a specific circuit connected to the MCU. It modifies the electrical characteristics of the MCU signals to signals that conform to the IO-link physical layer. Thus, PHY refers in particular to the physical layer of the communication protocol. It may be the first layer of the ISO-OSI reference model, which provides mechanical, electrical, functional and procedural means to enable, maintain and disable the physical connection for bit transmission between data link entities. It may be responsible for transmitting electrical signals between an IO-link master and an IO-link device via a physical medium such as a wire or cable. The PHY layer may define the electrical characteristics of the communication such as voltage levels, signal timing and signal encoding and ensure reliable and accurate data transmission.
[0019] The physical layer can utilize a 3-wire connection system where the three lines are used as follows: one for power, one for ground, and one (C / Q) for switching signals or SDCI (Single-Point Digital Communications Interface) communications. The physical layer is responsible for configuring the C / Q lines and associated line drivers and receivers for a specific port.
[0020] Possibly, the processing unit is configured to perform an adjustment, in particular aggregation and / or merging of data, in particular by combining data exchanged with the secondary device and / or converting the combined data into or from an aggregated data set for sending or receiving the aggregated data set via the device port and the one port relative to the primary device. This allows providing for an exchange of data between the secondary device and the primary device.
[0021] The device may (therefore) be configured as an aggregator device, in particular an IO-link aggregator device and / or a broker. The device may in particular be configured to perform each data communication in a wired point-to-point IO-link communication manner.
[0022] Possibly, the apparatus provides a configurable logic adapter which processes, preferably converts and / or selects data elements of data received from the secondary device and processes and / or combines these data elements to generate data to be sent to the primary device. The configurable logic adapter may be implemented by software and / or electronic circuitry providing configurable logic. In other words, the processing unit may be configured to perform a logical operation on the data, wherein the logical operation is configurable, in particular dynamically configurable during operation of the device, for example using an interface as described below.
[0023] It is also possible that the device according to the invention comprises an interface which is arranged for configuring a configurable logic adapter by a user, thereby adjusting the processing of data elements, in particular the routing of data. This configuration can take place dynamically during operation of the device, i.e. without reprogramming of the processing unit. In other words, the processing unit can be programmed in such a way that it can be configured to perform different logical operations. This allows the functionality of the device according to the invention to be adjusted flexibly.
[0024] Possibly, the device provides a configurable logic adapter for processing data. Alternatively or additionally, data processing may include routing of input data to output data. Output data is preferably generated by a combination and / or processing of input data. This may allow at least one or more feedback loops from the sensor to the actuator to be provided, preferably without the interaction of an upper unit, particularly an external programmable logic controller. Input data may be received from one or more main ports of the device. Therefore, the input data comes from a plurality of auxiliary devices. In addition, output data may also be data sent to one or more main ports of the device. In other words, the generation of output data may occur without processing input data from a device port of the device (therefore originating from the main device), allowing a feedback loop to be provided between auxiliary devices such as sensors and actuators.
[0025] The device can be configured to be used in an automation system, in particular an industrial automation system. In addition, the device can be configured to be connected to an upper unit such as a programmable logic controller via a master device. The configuration of the configurable logic adapter can be based on the programming of the programmable logic controller. Therefore, the configurable logic adapter can provide at least one task of programming. This allows a part of the automation system programming to be implemented in the device.
[0026] Possibly, the apparatus comprises at least four or at least six main ports and / or at most ten main ports or twenty main ports, each main port being configured to be connected to a respective auxiliary device, the main ports being in particular configured to be connected to different types of auxiliary devices such as sensors and actuators.
[0027] Another aspect of the present invention is a system for providing communication in an automation system, in particular an industrial automation system. The system according to the present invention may include an upper unit such as a programmable logic controller for providing automatic control of an industrial process of the automation system. In addition, the system may include a main device for connecting to the programmable logic controller in order to provide a communication system, in particular via a fieldbus. In addition, at least two auxiliary devices may be provided for being controlled and / or evaluated by the programmable logic controller via the main device, thereby at least partially executing the industrial process. Advantageously, the device according to the present invention may also be part of the system of the present invention for connecting at least two auxiliary devices to a port of the main device, thereby providing data exchange for the control and / or evaluation of the auxiliary devices via the communication system. Therefore, the system according to the present invention brings the same advantages as described in detail with reference to the device of the present invention.
[0028] Another aspect of the invention is a method for connecting at least two secondary devices to one port of a primary device by means of an apparatus, in particular an apparatus according to the invention, wherein the method comprises the following steps, in particular the steps performed by the apparatus and / or system according to the invention:
[0029] - receiving data from an auxiliary device via at least two primary ports of the apparatus, said at least two primary ports being configured to be connected, in particular by wire, to the auxiliary device,
[0030] - process the received data for point-to-point communication between the device and the master device,
[0031] - providing modification data based on said processing, said modification data being specific to the data received from each secondary device,
[0032] - sending the modification data to the master device via a device port of the arrangement, the device port being configured to be connected, in particular wired, to said one port of the master device.
[0033] The method according to the invention thus brings about the same advantages as described in detail with reference to the device according to the invention.
[0034] In addition to the one port, the master device may comprise other remaining ports and in case the remaining ports of the master device are occupied, the master ports of the device provide an extension of the ports of the master device, thereby connecting in particular auxiliary devices to the master device. This allows the addition of additional auxiliary devices, in particular if additional sensors or actuators need to be added for extended or improved functionality and all ports of the current IO-Link master device are occupied and adding a new master device is not sufficient.
[0035] It is possible to provide an automation system with a programmable logic controller, and the auxiliary device includes at least one replacement device. However, the programmable logic controller can be configured to evaluate the replaced device that has been replaced by the replacement device. Then, the following steps can be performed to maintain the function:
[0036] - adapting the data structure of the data received from the replacement device to the data structure of the replaced device,
[0037] - provide modified data based on the adjusted data structure,
[0038] - The modification data are sent to the master device via the device port, thereby providing the master device with an adjusted data structure, so that the modification data is particularly perceived by the master device as information about a replacement of the device.
[0039] This is particularly useful if a device needs to be replaced by a similar device with similar or comparable characteristics but a different loop data structure.
[0040] It is possible that the apparatus performs the following steps to provide a feedback loop, in particular for providing low latency feedback from the sensor to the actuator and / or providing a faster reaction than the control of the at least one auxiliary device by the upper unit:
[0041] - evaluating data received from at least one of said auxiliary devices,
[0042] - generate a response based on the assessment,
[0043] - sending the generated response to at least one or the other of said secondary devices.
[0044] This allows, for example, requirements for low latency feedback from sensors to actuators to be met, particularly in configurations where no PLC is used as a client.
[0045] Furthermore, the processing may allow pre-processing of data received from the auxiliary device for further use by at least one higher-level unit. This may be useful for clients of the IO-Link system that require data in a specific, possibly pre-processed format, which is inconsistent with the data format provided by the connected auxiliary device. The processing may include data compression and / or filtering of data elements that are important for the processing done by the higher-level unit.
[0046] It is also possible that data received from the secondary device, in particular process data, are selected to be mapped to the primary device, wherein the data mapping is performed in particular by the following steps:
[0047] - select the data element of the data,
[0048] - Combining the selected data elements to form a predefined process data structure for the master device.
[0049] It is also possible that the data processing includes calculations on the data, which are executed by the device for substantial processing of the data and preferably for implementing, in particular outsourcing parts of the processing from a higher-level unit such as a programmable logic controller of an automation system to the device.
[0050] The device according to the invention may also comprise a signal generator allowing sequence control.The signal generator is therefore useful since sequence control cannot usually be achieved via input signals from auxiliary devices.
[0051] The apparatus can provide, in particular generate, an auxiliary device at a device port for a main device, wherein data processing is in particular performed by the device to convert data exchanged with each of the auxiliary devices into data from a generated auxiliary device, and the converted data is in particular sent to the main device as modified data.
[0052] In another aspect of the present invention, a computer program, in particular a computer program product, may be provided, which comprises instructions which, when a computer runs the computer program, cause the computer to perform the method according to the present invention. The computer program of the present invention may thus have the same advantages as those described in detail with reference to the method of the present invention.
[0053] The computer may be a data processing device that runs a computer program. The computer may include at least one processor that can be used to run the computer program. In addition, a non-volatile data memory may be provided in which the computer program can be stored and from which the processor can read the computer program for execution.
[0054] According to another aspect of the present invention, a computer readable storage medium may be provided, comprising a computer program according to the present invention. The storage medium may be formed as a data storage device such as a hard disk and / or a non-volatile memory and / or a memory card and / or a solid state drive. The storage medium may be integrated into a computer, for example.
[0055] Furthermore, the method according to the present invention may be realized as a computer-implemented method. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] Other advantages, features and details of the present invention will be apparent from the following description of embodiments of the present invention, which is described in detail with reference to the drawings. In this context, the features mentioned in the description may be essential to the invention individually or in any combination, as shown in the drawings:
[0057] Figure 1 Components of an apparatus according to an embodiment of the present invention are shown,
[0058] Figure 2 shows other components of the device according to an embodiment of the present invention,
[0059] Figure 3 A display showing a method according to an embodiment of the present invention,
[0060] Figure 4 shows an example of an IO-Link process data structure,
[0061] Figures 5 to 13 A further display showing a method according to an embodiment of the invention and an apparatus according to the invention, and
[0062] Fig.14 A method, a computer program, a processing device and a storage medium according to embodiments of the present invention are shown.
[0063] Reference numerals list
[0064] 1 Primary Port
[0065] 1a First (secondary) master port
[0066] 1b Secondary (auxiliary) primary port
[0067] 1c Third (auxiliary) master port
[0068] 1d Fourth (auxiliary) master port
[0069] 1ao Output port
[0070] 1bo Output port
[0071] 1co output port
[0072] 1do output port
[0073] 2 Device port, device port connector, port to external host device
[0074] 2i Input Port
[0075] 2o Output Port
[0076] 1ai input port
[0077] 1bi input port
[0078] 1ci input port
[0079] 1di input port
[0080] 3 Device, Aggregator Equipment, AGG
[0081] 4 Device PHY
[0082] 5 Microcontroller unit, controller unit
[0083] 6,6a-6d Master PHY
[0084] 7 External IO-Link Master, Master, External Master
[0085] 7a 7 ports
[0086] 7b Remaining ports
[0087] 8 IO-Link Device Stack
[0088] 8a,8b,8c,8d Auxiliary equipment
[0089] 9 AGG Device Application, IO-Link Device, Auxiliary Device
[0090] 10a IO-Link Master Interface "SMI", Agg Device Application
[0091] 10b IO-Link Master Stack
[0092] 11 Data element of Agg device port
[0093] 11a, 11b Data element embedded in the master port
[0094] 11c Data Elements
[0095] 11d Data Element
[0096] 11e Data Elements
[0097] 11f Data element
[0098] 12a Feedback Path
[0099] 12b Transfer Path
[0100] 13 Distributor
[0101] 14 Combiners
[0102] 14a Combiner row a ..
[0104] 14n Combiner row n
[0105] 15 Processing Blocks
[0106] 15a Binarizer block
[0107] 16 Merger Block
[0108] 17 Logic Blocks
[0109] 18 Signal Generator
[0110] 19 CLA Profile
[0111] 20 CLA
[0112] 21 IODD File
[0113] 22 PBD files
[0114] 23 Selected data elements
[0115] 24 Synthesizer
[0116] PLC Programmable Logic Controller
[0117] 100 External IO-Link
[0118] 101 IO-Link to device 8a
[0119] 102 IO-Link to device 8b
[0120] 103 IO-Link to device 8c
[0121] 104 IO-Link to device 8d
[0122] 105 Scalar signal
[0123] 105a Input Scalar
[0124] 105b Output scalar
[0125] 106 Boolean signals
[0126] 200 CLA
[0127] 201 Parser
[0128] 300 Methods
[0129] 301-304 Methods and Steps
[0130] 400 Superior system such as PLC
[0131] 410 Data processing device
[0132] 420 Computer Programs
[0133] 430 Storage Media
[0134] 500 Communication Systems DETAILED DESCRIPTION
[0135] Figures 1 to 14 An embodiment of the present invention is shown. The device 3 according to an embodiment of the present invention can be used to connect at least two auxiliary devices 8a-8d to a port 7a of the main device 7. The device 3 can be configured as a device with IO-link function for insertion between the auxiliary devices 8a-8d and the main device 7. The auxiliary devices 8a-8d and the main device 7 can also be configured as devices with IO-link function. In order to achieve the connection, the device 3 can provide ports for the main device 7 and the auxiliary devices 8a-8d. The device 3 may include one, in particular only one device port 2, which is configured to be connected to a (single) port of the main device 7, and includes at least two main ports 1a-1d that can be used to connect to the auxiliary devices 8a-8d. The connection can be configured as a wired connection.
[0136] The device 3 according to an embodiment of the present invention may further include a processing unit 5 such as a microprocessor and / or a data processing device according to an embodiment of the present invention. The processing unit 5 may be configured to establish data communication with the main device 7 via the device port 2 and via the one port 7a. It may also be configured to establish data communication with the auxiliary devices 8a-8d via at least two main ports 1a-1d. For example, the auxiliary device 8a may be connected to the main port 1a, the auxiliary device 8b may be connected to the main port 1b, and so on. Thus, the device 3 can provide data exchange between the auxiliary devices 8a-8d and the (especially single) main device 7 via the device 3, and each data communication is especially configured as point-to-point communication. The processing unit 5 may also be configured to adjust, preferably aggregate, the data exchanged with the auxiliary devices 8a-8d for point-to-point communication with the main device 7 via the device port 2 and via the one port 7a. Therefore, the device 3 may be configured as an aggregator device 3, in particular an IO link aggregator device 2 and / or an intermediary.
[0137] Figure 3 It is shown that the device 3 according to an embodiment of the present invention can be configured to be connected to the main device 7 via a link 100. In addition to this one port 7a, the main device 7 may also include other remaining ports 7b, and in the case where the remaining ports 7b of the main device 7 are occupied, data exchange via the link 100 allows the main ports 1a-1d of the device 3 to provide an extension of the port 7b of the main device 7, thereby connecting the auxiliary devices 8a-8d to the main device 7.
[0138] according to Figure 6 , the device 3 may include an interface for configuring a configurable logic adapter 200 by a user, thereby adjusting the data element processing, in particular the data routing. Fig. 9 and Fig.10 , the interface may also include a graphical user interface.
[0139] There are several failure scenarios for a traditional IO-Link setup. The first and simplest failure scenario is the lack of IO-Link master ports in a given industrial setup. This scenario arises when additional sensors or actuators need to be added to achieve expanded or improved functionality and all ports of the current IO-Link master device are occupied and adding an additional master device is not appropriate. The second failure scenario occurs when a device needs to be replaced by a similar device with similar or comparable characteristics, but with a different cyclic data structure. The third failure case arises from the requirement for low latency feedback from sensors to actuators, especially in configurations where no PLC is used as a client. Simple sequencing is an extension of low latency feedback that provides a means for operating loops and decision making. The fourth failure scenario arises with the client of the IO-Link system, which requires data in a specific pre-processed format that is inconsistent with the data format provided by the connected IO-Link device. These scenarios are addressed by embodiments of the present invention, specifically referred to as an aggregator device "AGG" and the included configurable logic adapter "CLA".
[0140] Figure 1 A schematic example diagram of an AGG device 3 is shown, one device port 2 of which can be connected to an IO-Link master 7 , and a plurality of master ports 1 a to 1 d of which can be connected to IO-Link devices 8 .
[0141] Figure 2 The core components of the AGG device according to an embodiment of the present invention are shown. The device PHY 4 is an electronic circuit that converts IO-link signals exchanged with an external IO-link master device 7 via a device connector 2 into signals compatible with a microcontroller unit "MCU" 5. The microcontroller unit runs software for data exchange with an external master device 7 and it runs software for exchanging data with an IO-link device 8 via a master PHYs 6 and a master port 1.
[0142] Figure 3 Depicted is an exemplary basic structure of software executed by the MCU 5. The IO-Link data exchange 100 with an external IO-Link master is handled by the IO-Link device stack 8. Another software module is the IO-Link master stack 10b, which is responsible for the IO-Link data exchange 101, 102, 103, 104 with the connected IO-Link devices 8. The AGG device application 9 including the configurable logic adapter 200 is responsible for processing the data exchanged with the IO-Link device stack 8 on the one hand and the IO-Link master 10b on the other hand. The data exchange with the IO-Link master 10b uses a standardized master interface 10a called "SMI".
[0143] Limitations of AGG Devices
[0144] According to an embodiment of the invention, if an IO-Link master sends process data "PD" to a device, these data are called in the IO-Link interface and system specification PDOut. If the IO-Link master receives PD, these data are called PDIn. The total size of the process data of an IO-Link device is limited to 32 bytes PDOut and 32 bytes PDIn. If the data flow direction is not important for consideration, sufficient inputs / outputs are skipped in the subsequent description.
[0145] One limitation of the AGG device according to an embodiment of the invention is based on the fact that the accumulated PDIn / PDOTut of the four arbitrary IO-link devices 8 connected to the AGG device 3 can be up to 128 bytes in each direction. In this case, a selection is required to specify which process data are forwarded to the external master device 7 via the IO-link interface 100. Another task of the AGG device application 9 is to make the respective selection.
[0146] According to an embodiment of the invention, another limitation of the AGG device comes from the duration required to transmit a certain amount of data serially on the IO-Link line. In the IO-Link System and Interface Specification, Chapter A.3.6 M Sequence Time gives an estimated expression for this duration.
[0147] t M-sequenc =11(m+n)T BIT +t A +t1(m-1)+t2(n-1)
[0148] Here, m is the number of bytes sent from the IO-Link Master to the Device, n is the number of bytes sent from the Device to the IO-Link Master, and T BIT is the duration required to transmit one byte, here,
[0149] 1T BIT ≤t A ≤10T BIT ,0T BIT ≤t1≤10T BIT and 0T BIT ≤t2≤3T BIT .
[0150] The formula shows how the data transfer time increases as the amount of data increases. For the shortest cycle time of an IO-Link device, the following inequality must always be observed: cycle >t m-sequence .
[0151] Therefore, if the process data size of the AGG device is large, the shortest cycle time of the AGG device 3 may become larger than the shortest cycle time of the connected IO-Link device 8 .
[0152] Direct process data mapping
[0153] As already mentioned, for a certain m-sequence type, PDIn or PDOut has a fixed byte length. The process data structure defined by IODD splits the process data into smaller units with certain data types, which are called data elements.
[0154] Figure 4 An example of a typical process data structure is given. Here, the process data with a total size of 4 bytes is divided into 5 types of data elements 11: a 16-bit integer representing distance, 2 Booleans representing thresholds, a 14-bit integer representing level and an 8-bit integer representing temperature. The data structure and the physical units of the data elements are clearly defined in the electronic data sheet IODD of the IO-Link device.
[0155] According to an embodiment of the present invention, for two connected devices, the direct mapping of process data between the AGG device port 2 and the AGG main port can be implemented as follows: Fig.11 The two-step method shown is completed. In the first step, data elements 11a and 11b of the device 8 connected to the input AGG main ports 1a, 1b can be selected. The selection is based on a certain PD structure of the connected devices clearly defined in the IODD. In the second step, these data elements can be combined to form the process data structure of the AGG device port 2 as a combination 11 of the selected data elements 11a and 11b. The combination of data elements is clearly defined by means of a configuration tool, which allows flexible combination of PD elements.
[0156] However, direct mapping of process data may only provide a solution for the first scenario - port expansion.
[0157] Configurable logic adapters
[0158] According to embodiments of the present invention, other scenarios require more complex device applications that allow routing and processing of process data. A practical solution to this task poses considerable challenges, as it must meet certain requirements in order to be generally applicable in automation systems. These requirements are:
[0159] The Device Application shall be available to any IO-Link device 8 connected to Master Port 1.
[0160] like Figure 5 As shown, the device application 9 is intended to allow the routing of process data elements 11 between one IO-Link device and another IO-Link device 12 a and between an IO-Link device and an external master 12 b .
[0161] Configurable Logic Adapter CLA
[0162] Embodiments of the present invention provide a novel solution to these requirements through a structure, referred to herein as a configurable logic adapter "CLA" 200, which can be such as Figure 6 Part of the device application 9 shown. The CLA is based on a fixed structure. It only needs to be configured to solve the required scenario. In particular, no software changes are required. Therefore, the CLA can be qualified once for its basic functions and stability, because the reconfiguration of the CLA will not affect the basic performance of the CLA, such as stability or integrity.
[0163] CLA Data Types
[0164] According to an embodiment of the present invention, the CLA uses only two data types, called scalar 105 and Boolean 106, which are processed differently. Scalars can be used to transmit digital process data in a universal way. Therefore, their value range should be large enough to handle all digital process data without significant loss of precision. In a preferred implementation of the CLA, the data type FLOAT32 "float" according to IEEE754 is used. But other data types like DOUBLE will also meet these requirements.
[0165] According to an embodiment of the invention, converting a process data element 11 to a scalar changes its type to floating point. Conversion to a scalar or Boolean may only be used for process data element types: BooleanT, UIntegerT, IntegerT and Float32T (see A.1.4 of the IO-Link Interface and System Specification). The remaining types (TimeT, TimeSpanT, StringT and OctetStringT) can in particular only be used for the aforementioned direct mapping and are not handled by the CLA.
[0166] The logic value 106 can be represented by two states, "true" and "false". In the preferred implementation of the CLA, these states are mapped to a byte, with a byte value of 0 being mapped to false and any other byte value being mapped to true. Both data types can be used to transmit digital information within the CLA.
[0167] CLA Block
[0168] According to an embodiment of the present invention, a CLA block may have a scalar or Boolean as input data and generate a new scalar or Boolean as output data. The process of generating output data may be defined by an algorithm that executes a finite number of steps. In this regard, step execution may be triggered by an event referred to as a "block cycle".
[0169] Using the main loop "Loop", all block cycles for all CLA blocks can be executed sequentially in a clearly defined configuration at a specific moment.
[0170] In a preferred embodiment of the invention, the execution order is chosen so that any scalars that are input to the current block must be evaluated before the current block is executed. The initial input scalars from the data elements are all sampled in this main loop, which is the beginning of the loop.
[0171] In a preferred embodiment of the present invention, six types of blocks are defined.
[0172] (1) The distributor block 13 is characterized by taking process data elements as input and generating a scalar or Boolean as output.
[0173] (2) The processing block 15 is characterized by taking a scalar or Boolean as input and generating a scalar or Boolean. In a preferred embodiment of the present invention, the processing block must have the same number of input and output scalars.
[0174] (3) The binarizer block 15a is a special processing block characterized by having at least one input scalar, no output scalar, and at least one Boolean output.
[0175] (4) Logic block 17, which has only Booleans as input or output.
[0176] (5) Combiner 14, which is characterized by having multiple input scalars but only one output scalar.
[0177] (6) The merger block 16 features an input scalar that can be routed to various output process data elements.
[0178] (7) The signal generator 18 periodically generates a simple signal connected to the IO-Link signal.
[0179] CLA Operation
[0180] According to an embodiment of the present invention, the process data sources are regarded as data input devices 2i, 1ai, 1bi, 1ci, 1di and 18 and are Figure 6 The left side of is shown. The incoming process data elements are selected and converted to scalar or Boolean by the distributor block 13. The details of the selection and conversion are configurable.
[0181] In a preferred embodiment of CLA, the conversion from a data element to a scalar is adjusted by a scaling factor (scale) and an offset (offset). For example, the IntegerT type is converted to a scalar by implementing the following equation:
[0182] Scalar i =scale*float(IntegerT)+offset
[0183] According to an embodiment of the present invention, if the data element is not of Boolean type, a quantization step is required to convert the data element to Boolean. The quantization step can be completed by implementing the following inequality operation:
[0184] Boolean = (data element ≥ threshold)
[0185] Scalars and Booleans are handled differently in configurable logic adapters.
[0186] Signal Generator
[0187] To support simple sequencing logic, according to an embodiment of the present invention, an artificial device port 18 can be added to the AGG device to generate some simple value sequences such as counters. The counter output can be used to generate the control signals required by the sequencing logic.
[0188] Scalar processing
[0189] According to an embodiment of the present invention, the input scalar 105a can be routed from the distributor 13 to the combiner block 14. The processing block 15 can be inserted into the routing. In a preferred embodiment of the present invention, the number of scalars input to the processing block is the same as the number of scalars output to the processing block. The processing block between the distributor and the combiner is also called a pre-processing block.
[0190] The output scalar 105b may be routed from the combiner 14 to the merger 16. Into this routing may be inserted a processing block 15. The processing blocks between the combiners are referred to as post-processing blocks.
[0191] A processing block operation can be specified by performing an operation on an input scalar to generate an output scalar. A processing block can contain state memory. A typical example of a processing block with one input scalar and one output scalar is an active average block, which generates the average of the last N input samples as an output sample.
[0192] A processing block with two input scalars can be a coordinate conversion block, which converts Cartesian coordinates (x, y) into polar coordinates (amplitude and phase). But processing blocks that require configurable coefficients are also supported, such as a Finite Impulse Response "FIR" filter block, which performs the operation defined by the equation Where x(n) represents the input scalar, y(n) represents the output scalar, and h(i) is the filter coefficient.
[0193] An important feature of embodiments of the present invention is that scalars cannot be used to create a direct feedback loop within the CLA.
[0194] Combiner 14
[0195] Figure 7Depicts an exemplary structure of a combiner block 14. The combiner block is organized in rows. Each row can combine any input scalars and generate one output scalar. The number of rows 14a...14n of combiner blocks is configurable.
[0196] The preferred embodiment of the combiner operation is described by the following equation:
[0197]
[0198] A first preferred embodiment allows linear combinations of all input scalars. For example, if an input scalar si(0) represents a first distance measured by device 8a and a scalar si(1) represents a second distance measured by another device 8b, a simple linear combination with I=2, c(i)=1, m(i)=1 and o(i)=0 will result in an operation evaluating the sum of the two distances so(j)=si(0)+si(1).
[0199] The second preferred embodiment is bound to the product of the input scalars. For example, if the input scalar si(0) represents the current I measured by the device 8a and the scalar si(1) represents the voltage U measured by the device 8b, then the product terms o(j)=0, c(j)=1, m(i)=1 will result in the evaluation of the electric power as the product of the two scalars so(j)=si(0)*si(1)=U*I.
[0200] Merger 16
[0201] Finally, according to an embodiment of the present invention, a merger block 16 may be used to convert scalars and Booleans back into data elements 11a...11f. The merging process may require a quantization step. In order to convert scalars into data elements in a preferred embodiment of the present invention, a linear operation may be applied to the output scalar so(j).
[0202] Data element = Limit(integer((so(j)*scaling factor+offset))
[0203] The scaling factor and offset are configurable to provide an appropriate match between the output scalar value range and the finite data range of the data element. For 8-bit integers, all floating point values less than -128 will be mapped to -128, and all floating point values greater than 127 will be mapped to 127. Non-integer parts of floating point values will be discarded.
[0204] The output merged data elements 11a ... 11f may be sent to output ports 2o, 1ao, 1bo, 1co, 1do. Output port 2o and input port 2i may be physically implemented as AGG device port 2. Output port 1ao and corresponding input port 1ai may be physically implemented through the same primary port 1a, and so on.
[0205] Boolean processing
[0206] According to an embodiment of the present invention, Booleans can be arbitrarily routed from input data elements to output data elements. The order in which Booleans are processed may not be clearly specified. Each block that uses Boolean values will use the values stored before the block is executed. The Boolean operation results are stored and can be accessed by other blocks in the next cycle.
[0207] Therefore, each Boolean may contain a delay. This allows Boolean feedback to be implemented without creating unstable recursion. The conversion from scalar to Boolean may be done by a binarizer block 15a.
[0208] CLA Configuration
[0209] According to an embodiment of the present invention, a simple configuration with a CLA without programming and taking into account the requirements of the limited resources of the AGG hardware can be achieved as follows. The setup of the device application should be simple, should not include any programming, and should take into account the available memory resources of the AGG device hardware. The device application should be flexible and should have expansion means to meet future requirements. If the operations that the CLA should perform are implemented by software programs, the requirements for the CLA can be easily addressed. However, such a solution requires software engineers to write appropriate programs, which must be adjusted or modified and retested for any changes. Such programs are usually written in a programming language, and the interpretation of this language requires interpreter software running in the CLA, which makes the code run slowly.
[0210] Configuration Tools
[0211] Figure 8 An example of how the configuration tool "CLA Synthesizer" 20 running on a PC can be set up is shown. Configuration Tool (see Figure 8 ) has the functionality to import IODD files 23 of connected IO-Link devices. IODD contains information of process data elements of connected IO-Link devices. TCLA also provides the user with a list of processing blocks for insertion. The list of processing blocks refers to the processing blocks available in the current AGG device. The processing block details are described in a clearly defined XML file called a processing block descriptor "PBD" file 21.
[0212] According to an embodiment of the present invention, if new requirements arise, such as the need for data conversion from the time domain, the existing processing blocks need to be expanded. In this case, the existing firmware of the AGG device can be upgraded with the new processing blocks through a firmware update.
[0213] Fig. 9An example of a CLA layout is shown. The process data elements "Alarm", "VMA" and "Level" shown in the example below the input are taken from the imported IODD of the connected device. The data element "Level" in this example is mapped to two scalars "S1" and "S2". In this example, the signal is passed through two processing blocks "prcallpass_1_chain_1" and "prcblc_delay_1". These blocks can be inserted into the scalar row through the GUI component of the TCLA synthesizer tool.
[0214] Configuration transfer between TCLA synthesizer and AGG device
[0215] According to an embodiment of the present invention, after the routing of Booleans and scalars is completed and all blocks are configured, the configuration needs to be transferred to the AGG device.
[0216] Since the AGG device has limited resources, in particular limited memory, it is desirable to perform a resource check already during the configuration phase. This is done in particular by generating an image of the complete volatile memory in the synthesizer 24.
[0217] The CLA can check whether the generated memory image fits into the memory area reserved in the AGG before performing the transfer.The memory image can be downloaded to the AGG device through an IO-Link feature called BLOB transfer.
[0218] The AGG device application may contain a parser 201 of the memory image 24 in order to link coefficients, storage elements etc. to the CLA 200. The parsing relies on a formal description of the memory image. An example of an element "BLOCK" is given below.
[0219]
[0220] The memory image 24 of the processing block may be uniquely linked to the structural description of the PBD file 21. Thus, if a new processing block is described by a PBD, the extensibility requirements are met.
[0221] In a preferred embodiment of the invention, the identified parts of the memory can be reorganized during parsing (e.g., to support different byte orders). In particular, only the elements of the memory image that support the correct parsing data can be reused by the application after the algorithm is parsed.
[0222] Alternative scenarios for CLA
[0223] Fig.13Another preferred embodiment of the CLA is shown. The CLA 200 is now directly connected to the upper side of an external IO-Link Master 7 that controls at least one IO-Link line 100. The data exchange between the upper system 500, which can be a PLC, a web server or another client of the IO-Link Master, passes through the CLA. In this case, the CLA can be used for signal shaping or feedback loops, as described for the AGG device.
[0224] Fig.14 A system for providing communication in an automation system according to an embodiment of the present invention is shown, the system having an upper system in the form of a programmable logic controller PLC for providing automatic control of an industrial process of the automation system, a main device 7 (such as a PLC) for being connected to the programmable logic controller PLC to provide a communication system Figure 2 ), for being controlled and / or evaluated by a programmable logic controller PLC via a main device 7 and thereby at least partially executing at least two auxiliary devices 8a-8d (such as Figure 2 As shown) and an apparatus 3 according to an embodiment of the present invention for connecting at least two auxiliary devices 8a-8d to a port of a main device 7 and thereby providing data exchange for control and / or evaluation of the auxiliary devices 8a-8d via a communication system.
[0225] also, Fig.14 A method 300 is shown for connecting at least two auxiliary devices 8a-8d to a port of a main device 7 by means of an apparatus 3, in particular according to an embodiment of the invention. As a first method step 301, the method 300 may comprise receiving data from the auxiliary devices 8a-8d via at least two main ports 1a-1d of the apparatus 3. According to a second method step 302, the received data may be processed for point-to-point communication of the apparatus 3 with the main device 7. According to a third method step 303, modification data may be provided based on the processing 102, the modification data being specific to the data received from each auxiliary device 8a-8d. Furthermore, the method 300 may comprise a fourth method step 304 of sending the modification data to the main device 7 via the device port 2 of the apparatus 3.
[0226] Fig.14 Also shown is a computer program 420 according to an embodiment of the invention, for example in the form of a microcontroller unit 5 (see Figure 3 ) in the form of a data processing device 410 and a computer-readable storage medium 430.
[0227] The above explanation of the embodiments describes the invention within the scope of examples. Of course, individual features of the embodiments can be combined freely with one another as long as it is technically reasonable, without exceeding the scope of the invention.
Claims
1. A device (3) for connecting at least two auxiliary devices (8a-8d) to one port (7a) of a master device (7), the device (3) being configured as a device with IO-Link function for insertion between the auxiliary devices (8a-8d) each configured as an IO-Link device and the master device (7) configured as an IO-Link master device, the device (3) comprising: a device port (2) configured to be connected, in particular by wire, to the one port (7a) of the master device (7), at least two primary ports (1a-1d) configured to be connected, in particular wired, to said auxiliary devices (8a-8d), - a processing unit (5), the processing unit (5) being configured to establish data communication with the main device (7) via the device port (2) and via the one port (7a) and to establish data communication with the auxiliary devices (8a-8d) via the at least two main ports (1a-1d), thereby providing data exchange between the auxiliary devices (8a-8d) and the main device (7) via the device (3), each data communication being configured as a point-to-point communication, wherein the processing unit (5) is configured to adjust, preferably aggregate, the data exchanged with the auxiliary devices (8a-8d) for the point-to-point communication with the main device (7) via the device port (2) and via the one port (7a).
2. The device (3) according to claim 1, characterized in that The processing unit (5) is configured to perform adjustment, in particular aggregation and / or merging of the data by combining the data exchanged by the auxiliary devices (8a-8d) and / or by transforming the combined data into or from an aggregated data group to send the aggregated data group to the main device (7) via the device port (2) and via the one port (7a) or receive the aggregated data group from the main device (7), thereby providing an exchange of the data between the auxiliary devices (8a-8d) and the main device (7), the device (3) being therefore configured as an aggregator device (3), in particular an IO-link aggregator device (3) and / or an intermediary, the device (3) being particularly configured to perform each data communication as a wired point-to-point IO-link communication.
3. The device (3) according to any one of the preceding claims, characterized in that The apparatus (3) provides a configurable logic regulator that processes, preferably converts and / or selects data elements of the data received from the secondary devices (8a-8d) and processes and / or combines the data elements to generate data to be sent to the primary device (7).
4. The device (3) according to claim 3, characterized in that The device (3) comprises an interface, which is provided for a user to configure the configurable logic regulator, thereby regulating the processing of the data elements, in particular the routing of the data.
5. The device (3) according to any one of the preceding claims, characterized in that The device (3) provides a configurable logic regulator for processing the data, wherein the processing of the data includes routing input data to output data, wherein the output data is preferably generated by combining and / or processing the input data, thereby providing at least one or more feedback loops from the sensor to the actuator, preferably without interaction with a superior unit (400), in particular an external programmable logic controller (PLC).
6. The device (3) according to any one of claims 3 to 5, characterized in that The device (3) is configured to be used in an automation system and is connected to a programmable logic controller (PLC) via the master device (7), the configuration of the configurable logic regulator being based on the programming of the programmable logic controller (PLC), in particular providing at least one task of the programming.
7. Device (3) according to any of the preceding claims, characterized in that The device (3) comprises at least four or at least six main ports (1a-1d), each main port being configured to be connected to a corresponding auxiliary device (8a-8d), and the main ports (1a-1d) are particularly configured to be connected to different types of auxiliary devices (8a-8d).
8. A system for providing communications in an automation system, the system comprising: - a programmable logic controller (PLC) for providing automated control of the industrial process of the automation system, - a master device (7) connected to the programmable logic controller (PLC) for providing a communication system (500), at least two auxiliary devices (8a-8d) which are controlled and / or evaluated by the programmable logic controller (PLC) (400) via the main device (7), thereby at least partially executing the industrial process, -A device (3) according to any one of claims 1 to 7, wherein the device (3) is used to connect the at least two auxiliary devices (8a-8d) to a port (7a) of the main device (7), thereby providing data exchange via the communication system (500) for controlling and / or evaluating the auxiliary devices (8a-8d).
9. A method (300) for connecting at least two secondary devices (8a-8d) to a port (7a) of a primary device (7) via an apparatus (3), the method (100) comprising the following steps, in particular performed by the apparatus (3) according to any one of claims 1 to 7 and / or the system according to claim 8: - receiving (301) data from the auxiliary device (8a-8d) via at least two primary ports (1a-1d) of the apparatus (3), the at least two primary ports (1a-1d) being configured to be connected, in particular by wire, to the auxiliary device (8a-8d), - processing (302) receiving data for point-to-point communication between the device (3) and the host device (7), - providing (303) modification data based on said processing (102), said modification data being specific to the data received from each of said auxiliary devices (8a-8d), - sending (304) the modification data to the master device (7) via a device port (2) of the apparatus (3), the device port (2) being configured for connection, in particular by wire, to the one port (7a) of the master device (7).
10. The method (300) according to claim 9, characterized in that: The main device (7) includes a plurality of remaining ports (7b) in addition to the one port (7a), and when the remaining ports (7b) of the main device (7) are occupied, the main ports (1a-1d) of the apparatus (3) provide an extension of the ports (7b) of the main device (7), thereby connecting the auxiliary devices (8a-8d) to the main device (7).
11. The method (300) according to claim 9 or 10, characterized in that: The automation system (500) is equipped with a programmable logic controller (PLC), and the auxiliary device (8a-8d) includes at least one replacement device (8a-8d), and the programmable logic controller (PLC) is configured to evaluate the replaced device that has been replaced by the replacement device (8a-8d), wherein the following steps are performed: - adapting the data structure of data received from said replacement device (8a-8d) to match the data structure of said replacement device, - providing said modified data based on the adapted data structure, - sending the modification data to the master device (7) via the device port (2), thereby providing an adapted data structure to the master device (7), so that in particular the modification data appear to the device (7) as data of the replaced device.
12. The method (300) according to any one of claims 9 to 11, characterized in that: The following steps are performed by the device (3) to provide a feedback loop, in particular a low-latency feedback from the sensor to the actuator and / or to provide a faster reaction compared to the control of at least one of the auxiliary devices (8a-8d) by a superordinate unit (PLC): - evaluating data received from at least one of said auxiliary devices (8a-8d), - generate a response based on the assessment, - sending the generated response to at least one or the other of said auxiliary devices (8a-8d).
13. The method (300) according to any one of claims 9 to 12, characterized in that: The data, in particular process data received from the auxiliary devices (8a-8d), are selected to be mapped to the primary device (7), wherein the mapping of the data is performed in particular by the following steps: - selecting a data element (11) of said data, - Combining the selected data elements (11) to form a process data structure predefined for the master device (7).
14. The method (300) according to any one of claims 9 to 13, characterized in that: The processing (102) of the data comprises calculations on the data performed by the device (3) to perform substantial processing of the data and preferably to achieve, in particular, outsourcing of parts of the processing from a programmable logic controller (PLC) of the automation system (500) to the device (3), and / or, the processing comprises pre-processing of the data received from the auxiliary device for further use by at least one superordinate unit.
15. The method (300) according to any one of claims 9 to 14, characterized in that The device (3) provides, in particular, generating an auxiliary device at the device port (2) for the main device (7), wherein the processing (102) of the data is performed by the device (3) to convert the data exchanged with each of the auxiliary devices (8a-8d) into data from the generated auxiliary device, the converted data being sent to the main device (7) in particular as modified data.
16. A computer program (420) comprising instructions which, when executed by a computer, cause the computer to perform the method according to claim 9.
17. A data processing device (410) comprising means for performing the method according to claim 9.
18. A computer-readable storage medium (430) comprising instructions which, when a computer program is executed by a computer, cause the computer to perform the method according to claim 9.