Field bus system
By introducing a scheduling unit into the bus system to determine and optimize the influencing parameters, the problem of response time delay of existing bus systems is solved, and more efficient application execution and system performance is achieved.
Patent Information
- Application Number
- CN202411806245.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-12-12
- Filing Date
- 2024-12-10
- Publication Date
- 2025-06-13
AI Technical Summary
In industrial automation applications, existing bus systems have delayed application response time due to long data capture, processing and transmission times, which reduces system performance.
The scheduling unit is introduced to schedule the execution of the application by determining the influencing parameters of the bus system, such as the equipment preparation time, the output data calculation time and the application response time, and optimize the application response time.
Even with low-performance hardware, the scheduling unit can significantly reduce application response time and improve the performance of the bus system, and is suitable for bus systems with high network complexity.
Smart Images

Figure CN120143748A_ABST
Abstract
Description
Field of the Invention
[0001] The present invention relates to a fieldbus system for executing at least one application, in particular for industrial automation. The fieldbus system includes a first device, in particular a first sensing device, as a participant, which is configured to provide first device data and transmit (TX) the first device data; at least a second device, in particular a second sensing device, which is configured to provide and transmit second device data; a controller, which is configured to calculate output data from the device data; at least a first target equipment, which is configured to be controlled by the output data; and a fieldbus, in particular a Sercos bus, wherein the devices, the controller and the first target equipment are connected via the fieldbus for communication. Background Art
[0002] Bus systems, in particular bus systems for industrial automation, typically include one or more fieldbuses that interconnect multiple fieldbus devices (such as sensors and processing tools). For example, in a drilling application, a sensor can capture the depth of the drill hole as input data, from which output data can be calculated, and the output data is in turn used to control a drilling machine that drills a hole to a specific drill depth.
[0003] However, it may take a significant amount of time for a sensor to capture and provide input data. In addition, for example, processing the input data captured by a sensor, such as by a programmable logic controller (PLC), and thereby calculating output data to control the target equipment, may take a significant amount of time. In addition, applying the output data to the target equipment, that is, receiving the output data and having the target equipment execute commands associated with the output data (such as setting of an actuator, adjustment of a sensor, etc.), may take a significant amount of time. In addition, due to the architecture of the bus system, the propagation time of signals / data on the bus system may not be negligible. In an application executed on a bus system, the capture of input data, the processing of the input data (such as preparing the input data for transmission on the fieldbus), the calculation of output data from the input data, and the application of the output data to the target equipment are performed during a so-called application cycle, which is typically repeated multiple times.
[0004] However, especially for the reasons mentioned above, the time offset between the start and end of an application cycle may be important for an application. In addition, such a time offset causes the response of the target equipment (i.e., the reaction of the target equipment due to the application of the output data to the target equipment) to be significantly delayed from the start of the cycle, which reduces the performance of the bus system. This delay of the response of the target equipment from the start of the cycle is referred to as the application response time of the bus system.
[0005] One possibility to improve performance is to use optimized hardware with a short cycle time. However, this requires a high-performance bus system with high bandwidth and results in a high processing load, such as a high processing load on the central processing unit of a programmable logic controller. Summary of the Invention
[0006] Accordingly, an object of the present invention is to provide a bus system with improved performance, in which the disadvantages known in the prior art do not occur.
[0007] This object is solved by a bus system having the features of claim 1, in particular by a scheduling unit for scheduling the execution of applications, wherein the scheduling unit is also connected to devices, controllers, and a first target device for communication. Thus, the scheduling unit can be connected to the devices, controllers, and the first target device via a field bus. Alternatively or additionally, the scheduling unit can be integrated in an engineering system, which can be connected to the controller via other wired connections (usually via an Ethernet connection between the controller and a computer (PC) acting as an engineering station) or other means (such as wireless), in particular to the devices and the first target device. However, the scheduling unit can also be configured as an independent product connected to the controller, in particular to the devices and the first target device. In addition, the scheduling unit can be integrated in the controller and configured to communicate with the controller via an internal connection, wherein the controller can in turn communicate with the devices and the first target device via a field bus. It should be understood that the scheduling unit can also be a participant in the bus system. The scheduling unit is configured to determine influence parameters of the bus system that affect the application response time of the bus system, i.e., the response time of applications executed on the bus system, wherein the scheduling unit is also configured to schedule the execution of applications taking into account the influence parameters, in particular such that the application response time is short. The application includes capturing input data, processing the input data (e.g., preparing the input data for transmission on the field bus), transmitting the input data from the device to the controller, calculating output data based on the input data in the controller, transmitting the output data from the controller to the first target device, and applying the transmitted output data to the first target device. Generally, the data can be segmented or grouped into transmission blocks or packets for transmission.
[0008] In the present invention, it has been determined that measures to reduce the application response time can lead to an improvement in application execution (performance), especially on the same hardware. By implementing such measures, it is also possible to use low-performance hardware, which compensates for the reduction in application response time that can be achieved by the measures taken, i.e., similar application response times can be achieved even when using low-performance hardware. In both cases, the performance of the corresponding bus system can be improved.
[0009] Since the scheduling unit is configured to determine influence parameters and consider the influence parameters for scheduling the execution of an application, it can, for example, prioritize certain processes of the application (depending on the respective influence parameters) so that the application response time is short. A particular advantage of the present invention is that the scheduling unit can be configured to consider information related to several, in particular all, participants of the bus system by means of the influence parameters, which enables a particularly optimized execution of the application in terms of short application response times.
[0010] Therefore, even when using low-performance hardware (especially low-performance fieldbuses and / or PLCs), the present invention can shorten the application response time. In addition, even for bus systems with high network complexity (for example, multiple devices on the same fieldbus and / or branch fieldbuses), the present invention also results in a short application response time. In addition, the present invention also enables the use of low-performance hardware, which executes applications with a high cycle time while achieving a similar application response time. The present invention also enables an application to be executed on a bus system, which was not possible for this bus system before, i.e., without a scheduling unit. Therefore, the present invention can improve the execution of applications in a wide variety of bus systems.
[0011] Generally, the fieldbus can also be configured as EthernetIP, EtherCAT, Profibus, Profinet, OPC UA FX, TSN, etc., instead of the Sercos bus (such as Sercos II or Sercos III).
[0012] The first and second devices can be field devices, especially sensors (such as temperature sensors, light curtains, scanners, etc.). The first target device can also be a field device and can be, for example, a sensor, an actuator, or an actuator including a sensor. For example, the first target device can be a motor controller. In particular, the first device can also be the first target device (for example, in the scenario where the first device is an actuator including a sensor). It should be understood that, in principle, any device configured to provide and send device data (such as the second device, the third device, etc.) can also be the respective target device. In another example, the first device can be the first target device, and the first target device is further configured to be controlled by output data based on the second device data of the second device. The controller can be a PLC (programmable logic controller). The first and second devices, the controller, and the first target device can be connected to the same fieldbus. In addition, different fieldbuses (for example, using different hardware and / or fieldbus protocols) can be used to connect the devices, the controller, and / or the first target device.
[0013] Advantageous embodiments of the present invention are given in the dependent claims, the description, and the drawings.
[0014] According to a first advantageous embodiment, the scheduling unit may include a storage component on which the influencing parameters may be stored, in particular by the manufacturer. Alternatively or additionally, the scheduling unit may be configured such that the influencing parameters may be defined, in particular during commissioning of the bus system. Further alternatively or additionally, the scheduling unit may be configured to obtain the influencing parameters from the first device and / or at least the second device and / or the controller and / or the first target equipment and / or the fieldbus. Even further optionally or additionally, the scheduling unit may be configured to derive the influencing parameters from a mathematical model of the bus system and / or a static device description in the form of an.xml file, which mathematical model and / or static device description may be stored on the storage component.
[0015] According to another advantageous embodiment, the influencing parameter may include information about the first device (e.g., about the first device preparation time and / or the first module sampling time) and / or the second device (e.g., about the second device preparation time and / or the second module sampling time) and / or the controller and / or the first target equipment (e.g., the output data application time) and / or the fieldbus and / or the scheduling unit itself. In particular, the influencing parameter may include - alternatively or additionally - information about the output data calculation time (processing time) of the controller. As will be described subsequently, the controller may be configured to calculate and transmit output data based on the transmitted device data. Thereby, the controller may be further configured to make the output data ready for transmission on the fieldbus after the output data calculation time. This information may include how much time the respective participant needs for a specific action (e.g., for the controller, the duration of the output data calculation time, for the first device, the duration of the first device preparation time, etc.). In addition, this information may include one or more correlations between the participants of the bus system. For example, such information may describe that the second device data has no influence on the first target equipment, at least partially. In addition, such information may describe that the first target equipment is controlled first based on the first device data and then based on the second device data. Alternatively or additionally, the influencing parameter may include information about the propagation time and / or the transmission speed of the bus system, which may be particularly advantageous in an extended bus system where the propagation time may have a significant impact on the bus system performance. In particular, in a bus system with a cascaded network topology and different transmission speeds, it may be particularly advantageous to consider the propagation time and / or the transmission speed: for example, when two frames travel from a slower medium one after the other to a faster medium, these frames take less time on the faster medium. As a result, gaps will occur, which can be used to transmit other data that would otherwise be transmitted later. On the other hand, when two frames are transmitted from a faster medium to a slower medium one after the other, these two frames take more time on the slower medium, so the second frame queues. Therefore, the second frame can be scheduled later without separately affecting the waiting time and response time of the application connected to this data, where other data can be transmitted simultaneously. Therefore, the scheduling unit may be configured to improve the performance of the bus system by considering the propagation time and / or the transmission speed.
[0016] According to another advantageous embodiment, the first device may be configured to provide first device data ready for transmission after the first device preparation time. The second device may be configured to provide second device data ready for transmission after the second device preparation time. In particular, the device preparation times, which are examples of the influencing parameters described herein, may be different. In addition, the scheduling unit may be configured to determine the device preparation times. For example, the first device and the second device may be configured to transmit their respective device preparation times to the scheduling unit.
[0017] According to another advantageous embodiment, at least one device may include a first module configured to acquire and transmit first input data, and at least a second module configured to acquire and transmit at least second input data. In addition, at least one device may include an IO bus link configured to receive (RX) and serialize the first input data and / or the second input data transmitted by the first module and / or the second module. Thus, for example, at least one device may include an internal bus. The IO bus link may also be configured to transmit data to the first module and / or the second module. At least one device may further include a fieldbus interface configured to transmit the device data of the at least one device on a fieldbus. Wherein, the serialized input data may form part of the device data of the at least one device. The fieldbus interface may also be configured to receive data from the fieldbus, and the data may be transmitted to the first module and / or the second module via the IO bus link. In addition, the first module may be configured to be ready to transmit the first input data after a first module sampling time, and the second module may be configured to be ready to transmit the second input data after a second module sampling time. Specifically, the module sampling times, as examples of the influencing parameters described herein, may be different. In addition, a scheduling unit may be configured to determine the module sampling times. For example, the at least one device may be configured to transmit its corresponding module sampling times to the scheduling unit.
[0018] According to another advantageous embodiment, the first module may include a first sensor and / or the second module may include a second sensor, wherein each sensor may be connected to the corresponding module via a sensor cable. The first module may be configured to sample a first sensor signal of the first sensor to acquire first input data, and / or the second module may be configured to sample a second sensor signal of the second sensor to acquire second input data. At least one sensor may include a probe, which may be configured to be controlled, in particular, by output data.
[0019] According to another advantageous embodiment, the controller may be configured to calculate and transmit first output data based on the transmitted first device data, and / or calculate and transmit second output data based on the transmitted second device data. The controller may also be configured to make the first output data ready to be transmitted on the fieldbus after a first output data calculation time, and / or make the second output data ready to be transmitted on the fieldbus after a second output data calculation time. Specifically, the output data calculation times, as examples of the influencing parameters described herein, may be different. In addition, a scheduling unit may be configured to determine the output data calculation times. For example, the controller may be configured to transmit the corresponding output data calculation times to the scheduling unit.
[0020] According to another advantageous embodiment, the first target device may be configured to be controlled by applying the transmitted first output data and / or the transmitted second output data. The first target device may also be configured to apply the first output data after the first output data application time and / or apply the second output data after the second output data application time. In particular, the output data application times, which are examples of the influencing parameters described herein, may be different. Additionally, the scheduling unit may be configured to determine the output data application times. For example, the first target device may be configured to transmit the corresponding output data application times to the scheduling unit.
[0021] According to another advantageous embodiment, the scheduling unit may be configured to determine one or more dependencies between the module sampling time and / or the device preparation time and / or the output data calculation time and / or the output data application time and / or the participants of the bus system, and schedule the execution of the application taking into account one or more dependencies between the module sampling time and / or the device preparation time and / or the output data calculation time and / or the output data application time and / or the corresponding participants of the bus system. Generally, the scheduling unit may advantageously be configured to schedule the execution of the application taking into account the influencing parameters, such that short waiting times and short application response times are possible.
[0022] According to another advantageous embodiment, the scheduling unit may be configured to schedule the transmission of device data on the fieldbus in the order of the module sampling time and / or the device preparation time and / or the output data calculation time and / or the output data application time. Alternatively or additionally, the scheduling unit may be configured to schedule the transmission of input data to the IO bus link in the order of the module sampling time and / or the device preparation time and / or the output data calculation time and / or the output data application time. Further alternatively or additionally, the scheduling unit may be configured to schedule the calculation of the output data, in particular the transmission of the output data on the fieldbus, in the order of the module sampling time and / or the device preparation time and / or the output data calculation time and / or the output data application time.
[0023] In a conventional bus system, the application of the computed output (output cycle) and the acquisition of the input data (input cycle) are synchronous, where the input cycle and the output cycle are closely linked. Thus, even if all outputs have been computed, their transmission may be artificially delayed until the time determined by the above synchronization. According to another advantageous embodiment, the scheduling unit may be configured to schedule the transmission of the first output data and the second output data on the field bus when computing the first output data and the second output data, thus independently of the input cycle. For example, the first output data and the second output data may be transmitted when they have both been computed and are ready for transmission. Thus, the transmission during computing renders the transmission of the output data independent of the timing of separately acquiring the device data and the input data, which eliminates such artificial delay as described above. Alternatively or additionally, the scheduling unit may be configured to schedule the transmission of one of the output data on the field bus when computing one of the output data, in particular before computing the other output data. For example, although the second output data has not yet been computed, the first output data may be transmitted when the first output data has been computed and is ready for transmission. Further alternatively or additionally, the scheduling unit may be configured to schedule the computation of one of the output data (e.g., the first output data), in particular the transmission of one of the output data on the field bus, even if the controller has not received all of the device data or input data. For example, once all of the output data for controlling the first target equipment (e.g., commands for driving the control word, setting the position, IO output value, and / or activating the sensors / contact probes of the first target equipment) has been computed, it may already have been transmitted on the field bus even if the controller cannot obtain the input / device data required to compute the output data for another target equipment (e.g., the second target equipment). Thus, it may be advantageous to determine the dependencies between the participants of the bus system, in particular the dependencies between the devices and / or the input data and the output data. Thus, the scheduling unit may be configured to determine such dependencies, for example, from a mathematical model of the bus system, and / or may define such influence parameters, in particular during the commissioning of the bus system. In addition, the user program code that may be executed on the controller, in particular the recursive user program code, may be divided into separate computation blocks, for example, one computation block for computing the first output data from the first device data and one computation block for computing the second output data from the second device data, where the respective computation may only be started when all of the required device / input data is available to the controller. In addition, the scheduling unit may be configured to schedule the execution of the computation blocks taking into account the influence parameters, in particular the dependencies between the various participants of the bus system (e.g., the dependencies between the devices and / or the input data and the output data), so as to render the application response time short. It should be understood that all of these embodiments also result in a short application response time.
[0024] According to another advantageous embodiment, the scheduling unit may be configured to schedule the execution of an application in a cyclic and repetitive manner, which may simplify the scheduling of the application execution by the scheduling unit.
[0025] According to another advantageous embodiment, the controller may include a scheduling unit, which enables a compact configuration of the bus system.
[0026] According to another advantageous embodiment, the controller may be configured to calculate output data from device data in sequence. Thereby, the controller processes the device data as blocks in sequence, where the device data may represent corresponding blocks and / or the respective input data of the corresponding device data may represent corresponding blocks.
[0027] According to another advantageous embodiment, the bus system may include at least one data forwarder, where the data forwarder is configured to transmit the start of a data block, such as first and / or second device data, first and / or second input data, or first and / or second output data, even if it has not received the end of the corresponding data block. Thereby, the data forwarder may be configured to operate between two separate fieldbus levels of the bus system (e.g., between two Sercos buses) and / or between an IO bus level (e.g., of a first device) and a fieldbus level (e.g., a Sercos bus). This also results in a shorter application response time, because it is not necessary to wait until the end of the data block arrives at the data forwarding point before forwarding. It should be understood that this is particularly advantageous for a data forwarder that only forwards data without aggregating it.
[0028] The present invention also relates to a method for scheduling the execution of at least one application on a bus system, particularly for industrial automation. The bus system includes: a first device, particularly a first sensing device, configured to provide and transmit first device data; at least a second device, particularly a second sensing device, configured to provide and transmit second device data; a controller, configured to calculate output data from the device data; at least a first target device, configured to be controlled by the output data; a fieldbus, particularly a Sercos bus, and a scheduling unit for scheduling the execution of the application, where the device, the controller, and the first target device are connected via the fieldbus for communication with the scheduling unit. Alternatively or additionally, the bus system may be arranged as disclosed herein. The method includes the following steps performed by the scheduling unit: determining influence parameters that affect the application response time of the bus system, and scheduling the execution considering the influence parameters.
[0029] In general, the details of the bus system according to the present invention are correspondingly applicable to the method according to the present invention, which is particularly applicable to the embodiments and advantages. In addition, it should be understood that all features mentioned herein can be combined with each other unless otherwise explicitly stated. It should also be understood that all features mentioned herein for one direction (e.g., from the device to the controller to the first target equipment) can also be applied to the other direction (e.g., from the first target equipment to the controller to the device). In addition, one or more devices described herein (e.g., the first device, at least the second device) can each or in combination constitute the target equipment described herein. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The present invention will be described below with reference to the accompanying drawings by way of example.
[0031] Figure 1 A bus system is shown,
[0032] Figure 2 is shown Figure 1 a flowchart of the data flow on the bus system of
[0033] Figure 3 a flowchart of the data flow on a conventional bus system, and
[0034] Figure 4 is shown Figure 1 another flowchart of the data flow on the bus system of DETAILED DESCRIPTION OF THE EMBODIMENTS
[0035] Figure 1 A bus system 11 for industrial automation is shown, for example for performing a milling machine application, including milling a hole having a predetermined depth and diameter in a workpiece.
[0036] The bus system 11 includes a first device 13 and a second device 15. The first device 13 is formed as a first sensing device configured to provide and transmit first device data 29. The second device 15 is formed as a second sensing device configured to provide and transmit second device data 31. The bus system 11 further includes a third device 33 and a fourth device 37. The third device 33 is formed as a third sensing device configured to provide and transmit third device data 35. The fourth device 37 is formed as a fourth sensing device configured to provide and transmit fourth device data 39.
[0037] In addition, the bus system 11 includes a controller 17 for calculating output data 41, 43, 45, 47 based on the device data 29, 31, 35, 39 (in Figure 4as shown). Thus, the controller 17 is configured to run processes A, B, C, and D (represented by reference numerals 65, 67, 69, and 71). It should be understood that there can be any number of input data, processes, and output data and any permutation thereof in order to calculate the output data from the input data. For example, one process can also be used to calculate one output data from two input data. The bus system 11 further includes a first target device 19, which is formed as a milling machine in this example and can be controlled by the output data 41, 43. The controller 17 includes a computing unit 61 configured to run processes A, B, C, and D and a fieldbus receiving / transmitting unit 63 as a communication interface. For example, the controller 17 can be formed as a programmable logic controller. In addition, the application program execution can run on the controller 17.
[0038] In addition, the bus system 11 includes a scheduling unit 23 for scheduling the execution of the application, and the controller 17 also includes the scheduling unit 23. The bus system 11 further includes a fieldbus 21 formed as a Sercos bus, where the sensing devices 13, 15, 33, 37, the controller 17, and the milling machine 19 are connected via the Sercos bus 21 for communication. The scheduling unit 23 is configured to communicate with the controller 17 via an internal connection, and the controller 17 in turn communicates with the sensing devices 13, 15, 33, 37, and the milling machine 19 via the Sercos bus 21. Alternatively, the scheduling unit 23 can be connected to the sensing devices 13, 15, 33, 37, the controller 17, and the milling machine 19 via the Sercos bus 21. In addition, alternatively or additionally, the scheduling unit 23 can be integrated in an engineering system, which can be connected to the controller 17, particularly to the sensing devices 13, 15, 33, 37, and the milling machine 19 via other wired connections (usually via an Ethernet connection between the controller 17 and a computer (PC) acting as an engineering station) or other means (such as wireless). However, the scheduling unit 23 can also be configured as an independent product connected to the controller 17, particularly to the sensing devices 13, 15, 33, 37, and the milling machine 19. Thereby, the scheduling unit 23 is configured to determine the influencing parameters that affect the application response time of the bus system 11. And schedule the execution of the application considering the influencing parameters. Wherein, the scheduling unit 23 is configured to schedule the execution of the application in a highly repetitive cycle manner. It should be understood that the scheduling unit 23 is configured to schedule the execution of the application considering the influencing parameters to ensure the deterministic operation of the bus system 11.
[0039] Therefore, the scheduling unit 23 is configured to obtain influencing parameters from the participants of the bus system 11, namely the sensing devices 13, 15, 33, 37, the controller 17, the milling machine 19, and the Sercos bus 21. In addition, the scheduling unit 23 includes a storage component (not shown), on which the influencing parameters are stored after being determined. Alternatively or additionally, the influencing parameters can be stored by the manufacturer and / or the scheduling unit 23 can be configured such that the influencing parameters can be defined during the commissioning of the bus system 11. Furthermore, the scheduling unit 23 is configured to derive the influencing parameters from a mathematical model of the bus system 11, which is also stored on the storage component.
[0040] Here, the influencing parameters include information about the sensing devices 13, 15, 33, 37, the controller 17, the milling machine 19, and the Sercos bus 21. Among them, the information includes how much time each corresponding participant needs to perform a specific action. In addition, the information includes the dependencies between the sensing devices 13, 15, 33, 37, and the milling machine 19, where the dependencies are derived from the mathematical model. Alternatively or additionally, the influencing parameters can include information about the travel time and / or transmission speed of the bus system 11.
[0041] Furthermore, the first sensing device 13 is configured to provide first device data 29 ready for transmission after a first device preparation time (indicated by the start of bar TX29 on the left in Figure 2 which shows the transmission of the first device data 29 on the Sercos bus 21). The second sensing device 15 is configured to provide second device data 31 ready for transmission after a second device preparation time (indicated by the start of bar TX31 in Figure 2 which shows the transmission of the second device data 31 on the Sercos bus 21). The third and fourth sensing devices 33, 37 are configured to provide third and fourth device data 35, 39 ready for transmission after third and fourth device preparation times respectively (indicated by the starts of bars TX35 and TX39 respectively in Figure 2 which show the transmissions of the third device data 35 and the fourth device data 39 on the Sercos bus 21 respectively). In addition, the scheduling unit 23 is configured to determine the device preparation times. Therefore, the sensing devices 13, 15, 33, 37 are configured to transmit their respective device preparation times to the scheduling unit 23. Therefore, the device preparation times of the sensing devices 13, 15, 33, 37 included in the influencing parameters are different.
[0042] Furthermore, with reference to Figure 2, the first sensing device 13 includes a first module 25 configured to acquire and transmit first input data 49, a second module 27 configured to acquire and transmit second input data 51, and a third module 57 configured to acquire and transmit third input data 59. In addition, the first sensing device 13 includes an IO bus link 53 configured to receive and serialize the first input data 49 and / or the second input data 51 and / or the third input data 59 transmitted by the first module 25 and / or the second module 27 and / or the third module 57 (in Figure 2 , the reception and serialization are indicated by bars RX49, RX51, and RX59 respectively). The IO bus link 53 may also be configured to transmit data to the modules 25, 27, 57. The first sensing device 13 further includes a fieldbus interface 55 configured to transmit first device data 29 on the Sercos bus 21 (the transmission indicated by bar TX29 in Figure 2 ). Thus, the serialized input data 49, 51, 59 form part of the first device data 29 of the first sensing device 13. However, it is also possible that one of the input data 49, 51, 59, for example the first input data 49, is scheduled to be sent before the other input data 49, 51, 59 of the first sensing device 13, such as the second input data 51 and the third input data 59. Then, the first input data 49 forms part of the first device data 29 of the first sensing device 13, and the second input data 51 and the third input data 59 form part of the subsequent first device data 29 of the first sensing device 13. The fieldbus interface 55 may also be configured to receive data from the Sercos bus 21, which can be transmitted to the modules 25, 27, 57 via the IO bus link 53.
[0043] In addition, the first module 25 is configured to be ready to transmit the first input data 49 after the first module sampling time, the second module 27 is configured to be ready to transmit the second input data 51 after the second module sampling time, and the third module 57 is configured to be ready to transmit the third input data 59 after the third module sampling time. In addition, the scheduling unit 23 is configured to determine the module sampling times of the modules 25, 27, 57. Thus, the first sensing device 13 is configured to transmit the module sampling times to the scheduling unit 23. Here, the module sampling times of the modules 25, 27, 57 included in the influencing parameters are different. In Figure 2 , the corresponding module sampling times are represented by the lengths of the bars of the corresponding input data 49, 51, and 59.
[0044] In addition, the first module 25 includes a first sensor (not shown), and the second module 27 includes a second sensor (not shown). The first module 25 is configured to sample a first sensor signal of the first sensor to obtain first input data, and the second module 27 is configured to sample a second sensor signal of the second sensor to obtain second input data. Similarly, the third module 57 includes a third sensor (not shown), where the third module 57 is configured to sample a third sensor signal of the third sensor to obtain third input data 59.
[0045] Here, the first sensor is configured to capture the depth of the hole to be milled, and the second sensor is configured to capture the pressure in a compressed air pipe (not shown). The third sensor is configured to capture the sharpness of a tool (not shown) of the milling machine 19. The second sensing device 15 includes a fourth sensor (not shown), and is configured to capture input data related to the width of the hole to be milled by means of the fourth sensor, as a basis for the second device data 31. The third sensing device 33 includes a fifth sensor (not shown), and is configured to capture input data related to the room temperature in the area around the bus system 11 by means of the fifth sensor, as a basis for the third device data 35. The fourth sensing device 37 includes a sixth sensor (not shown), and is configured to capture input data related to the air humidity in the area around the bus system 11 by means of the sixth sensor, as a basis for the fourth device data 39.
[0046] In addition, each of the third and fourth sensing devices 33, 37 includes an IO bus link (not shown), configured to receive and serialize the input data of the third and fourth sensing devices 33, 37, respectively. Each of the third and fourth sensing devices 33, 37 further includes a fieldbus interface (not shown), configured to transmit the third and fourth device data 35, 39 on the Sercos bus 21 (in Figure 2 which, the transmissions are indicated by bars TX35 and TX39, respectively). Thus, the serialized input data of the third and fourth sensing devices 33, 37 respectively form part of the third and fourth device data 35, 39. The corresponding fieldbus interface may be further configured to receive data from the Sercos bus 21. The corresponding IO bus link may be further configured to transmit such data to the fifth and sixth sensors, respectively. In addition, the milling machine 19 includes a fieldbus interface (not shown), which is configured to receive output data via the Sercos bus 21. The milling machine 19 further includes an IO bus link (not shown), and the IO bus link is configured to transmit such output data to, for example, a drive unit (not shown) of the milling machine to apply the output data.
[0047] In this example, the controller 17 is configured to receive the transmitted device data 29, 31, 35, 39 (in Figure 2in which, the receptions are respectively indicated by bars RX29, RX31, RX35 and RX39), and calculate and transmit the first output data 41 based on the transmitted first device data 29 and / or calculate and transmit the second output data 43 based on the transmitted second device data 31 and / or calculate and transmit the third output data 45 based on the transmitted third device data 35 and / or calculate and transmit the fourth output data 47 based on the transmitted fourth device data 39. The controller 17 is further configured to make the first output data 41 ready for transmission after the first output data calculation time, and / or make the second output data 43 ready for transmission after the second output data calculation time, and / or make the third output data 45 ready for transmission after the third output data calculation time, and / or make the fourth output data 47 ready for transmission after the fourth output data calculation time. In addition, the scheduling unit 23 is configured to determine the output data calculation time. Therefore, the controller 17 is configured to transmit the corresponding output data calculation time to the scheduling unit 23. Here, the output data calculation times constituted by the influence parameters are different.
[0048] The milling machine 19 is configured to control based on the depth and / or width of the hole of the pin to be milled captured (i.e., by applying the first output data 41 and / or the second output data 43). On the other hand, the third and fourth device data 33, 37 related to the room temperature and air humidity respectively are not used to control the milling machine 19. In addition, the third input data 59 is also not used to control the milling machine 19 regarding hole milling, but is used to determine the time point of tool update. The second input data 51 is also not used to control the milling machine 19. As already mentioned, these dependencies, i.e., how the sensing devices 13, 15, 33, 37 affect the milling machine 19, are also included in the influence parameters and are derived by the scheduling unit 23 from the mathematical model.
[0049] The milling machine 19 is further configured to apply the first output data 41 after the first output data application time, i.e., adjust the tool with respect to the depth of the hole of the pin to be milled, and / or configured to apply the second output data 43 after the second output data application time, i.e., adjust the tool with respect to the width of the hole of the pin to be milled. In addition, the scheduling unit 23 is configured to determine the output data application time of the milling machine 19. Therefore, the milling machine 19 is configured to transmit the first and second output data application times to the scheduling unit 23. Here, the first and second output data application times constituted by the influence parameters are different. In addition, here, the milling machine 19 is configured to first adjust the tool with respect to the depth of the hole of the pin to be milled, and then adjust the tool with respect to the width of the hole of the pin to be milled - this dependency is also included in the influence parameters and is derived by the scheduling unit 23 from the mathematical model.
[0050] Therefore, the scheduling unit 23 is configured to determine the module sampling time, the device preparation time, the output data calculation time, the output data application time, and the dependencies among the sensing devices 13, 15, 33, 37, and the milling machine 19.
[0051] Figure 2 A flowchart is shown that illustrates that the scheduling unit 23 is configured to schedule the transmission of the device data 29, 31, 35, 39 in the order of the device preparation time. Therefore, the scheduling unit 23 is configured to consider the device preparation times of the devices 13, 15, 33, 37 to schedule the execution of the application, i.e., the milling of the holes. As a result, the device data 29, 31, 35, 39 are transmitted only after all the device data 29, 31, 35, 39 are ready for transmission, which results in a shorter application response time. Alternatively or additionally, the scheduling unit may be configured to schedule the transmission of the device data in the order of the module sampling time and / or the output data calculation time and / or the output data application time. However, when defining the start time of the transmission on the bus system 11, a potential criterion can be considered to avoid gaps in the case of no data flow on the Sercos bus 21, thereby minimizing the time reserved for the scheduled data transmission so that a time amount is available for other data transmissions (e.g., aperiodic data). For the Sercos bus, as in the current case, where usually only one time slot can be defined for the unified communication channel and the acknowledgment telegram and the measurement data telegram are also in one block, this means starting the transmission of the first device just in time so that the transmission of the last device starts immediately after the data of the last device is ready for transmission, but for all other devices, ensuring that their transmissions do not start before their data is available. Of course, the scheduling unit 23 can be configured accordingly to incorporate this criterion, especially by knowing the device preparation times.
[0052] Furthermore, the scheduling unit 23 is configured to schedule the transmission of the input data 49, 51, 59 to the IO bus link 53 in the order of the module sampling time. Therefore, the scheduling unit 23 is configured to consider the module sampling time to schedule the execution of the application, i.e., the milling of the holes. This in turn has the advantage that the input data 49, 51, 59 are transmitted only after all the input data 49, 51, 59 are ready for transmission, which results in a shorter application response time. Alternatively or additionally, the scheduling unit may be configured to schedule the transmission of the input data 49, 51, 59 to the IO bus link 53 in the order of the device preparation time and / or the output data calculation time and / or the output data application time.
[0053] The scheduling unit 23 is also configured to schedule the calculation of the output data 43, 47, 45, and 41 in the order of the device preparation times of the respective device data 31, 39, 35, and 29. Alternatively or additionally, the scheduling unit 23 may be configured to schedule the calculation of the output data 41, 43, 45, 47 in the order of the module sampling time and / or the output data calculation time and / or the output data application time.
[0054] In addition, the scheduling unit 23 is configured to schedule the calculation of the output data 43, 47, 45 from the device data 31, 39, 35, even if the complete first device data 29 has not been received, which results in a short application response time. The controller 17 is configured to calculate the output data 41, 43, 45, 47 sequentially from the device data 29, 31, 35, 39, that is, the controller 17 processes the device data 29, 31, 35, 39 sequentially as blocks, where the device data 29, 31, 35, 39 may represent the respective blocks and / or the input data 49, 51, 59 may represent the respective blocks. In principle, the bus system 11 may include at least a data forwarder, and the data forwarder may be configured to transmit the start of a data block, such as the start of the first device data 29, the first input data 49, or the first output data 41, even if it has not received the end of the data block.
[0055] In contrast, Figure 3 FIG. shows a flow chart illustrating the data flow on a conventional bus system. It can be seen that the input data 49, 51, 59 and the device data 29, 31, 35, 39 are only transmitted after all the respective data are ready for transmission, which results in data waiting and a high application response time. In addition, the output data is calculated from the device data 29, 31, 35, 39 only after all the device data 29, 31, 35, 39 have been received. However, this also results in data waiting and a high application response time. Since the influencing parameters are not determined and considered, there is of course no scheduling or prioritization of data transmission and / or data calculation in the sense of the present invention.
[0056] Figure 4A flowchart is shown that illustrates the scheduling unit 23 configured to schedule the transmission of the first output data 41 and the second output data 43 on the Sercos bus 21 before transmitting the third output data 45 and the fourth output data 47 on the Sercos bus 21. Thus, the scheduling unit 23 is configured to consider the dependency of controlling the milling machine 19 by applying only the first output data 41 and / or the second output data 43 by preferentially transmitting the first output data 41 and the second output data 43, which results in a short application response time. In addition, the scheduling unit 23 may be configured to schedule the IO bus link of the milling machine 19 to write the transmitted output data 41, 43 before the complete output data 41, 43, 45, 47 has been transmitted on the Sercos bus 21. This also results in a shorter application response time because the output data 41, 43 can be applied earlier. It should be understood that the scheduling unit 23 may in principle be configured to schedule any IO bus link or fieldbus interface of the bus system 11 to write the transmitted output data (especially the output data related to the participant including this IO bus link or fieldbus interface) before the complete output data (i.e., also including the output data that does not belong to the participant including this IO bus link or fieldbus interface) has been transmitted on the fieldbus 21, so as to result in a shorter application response time.
[0057] In addition, the scheduling unit 23 may be configured to schedule the transmission of the output data 41, 43, 45, 47 on the Sercos bus 21 when calculating the corresponding output data 41, 43, 45, 47. For example, the output data 41 may be transmitted on the Sercos bus 21 at the moment when it is calculated and ready for transmission.
[0058] Alternatively, the scheduling unit 23 may be configured to schedule the transmission of the output data 41, 43, 45, 47 on the Sercos bus 21 when calculating the complete output data 41, 43, 45, 47. For example, the output data 41, 43, 45, 47 may be transmitted when they are all calculated and ready for transmission.
[0059] As described above, here, the milling machine 19 is configured to first adjust the tool with respect to the depth of the hole to be milled (captured by the second sensing device 15), and then adjust the tool with respect to the width of the hole to be milled (captured by the first sensing device 13). Thus, even if the controller 17 has not received the first device data 29, the scheduling unit 23 may be configured to - alternatively or additionally - schedule the calculation of the second output data 43, especially the transmission of the second output data 43 on the Sercos bus 21, to consider this dependency among the first sensing device 13, the second sensing device 15, and the milling machine 17. This also results in a shorter application response time.
[0060] Furthermore, as already mentioned, here, the third and fourth device data 33, 37 related to room temperature and air humidity respectively, as well as the second and third input data 51, 59, are not used for controlling the milling machine 19. Therefore, the scheduling unit 23 can be configured to take into account such dependencies between the sensing devices 13, 15, 33, 37 and the milling machine 17, which is achieved by alternatively or additionally configuring to schedule the transmission of the first input data 49 such that the first input data 49 is transmitted in a separate data block before the second and third input data 51, 59 are transmitted. Then, the first output data 41 can be calculated earlier from the first input data 49, which results in a shorter application response time.
[0061] Furthermore, as Figure 4 shown, the second output data application time is longer than the first output data application time (the respective output data application times are represented by the lengths of the respective "apply-output" bars 41 or 43). Therefore, it is advantageous to prioritize the calculation and transmission of the second output data 43. Thus, the scheduling unit 23 can be configured to take into account the output data application time, which is achieved by alternatively or additionally configuring to schedule the controller 17 to first calculate and transmit the second output data 43 before calculating other output data 41, 45, 47, which results in a shorter application response time. Additionally, the scheduling unit 23 can be configured to - alternatively or additionally - take into account the output data application time by - alternatively or additionally - configuring to schedule the transmission of the first input data 49 such that the first input data 49 is transmitted in a separate data block before the second and third input data 51, 59 are transmitted. That is, the first device data 29 then includes the first input data 49, while the second and third input data 51, 59 are then included by the first device data 29 sent later. Therefore, the first output data 41 can be calculated earlier from the first input data 49, which results in a shorter application response time.
[0062] Furthermore, the user program code that can be executed on the controller 17, especially recursive user program code, can be divided into separate calculation blocks, for example, one calculation block for calculating the first output data 41 from the first device data 29, one calculation block for calculating the second output data 43 from the second device data 31, one calculation block for calculating the third output data 45 from the third device data 35, one calculation block for calculating the fourth output data 47 from the fourth device data 39, where the corresponding calculation can only start when the controller 17 has all the device / input data required for the corresponding calculation. Additionally, the scheduling unit 23 can be configured to take into account influencing parameters, especially the dependencies between the various participants in the bus system 11, to schedule the execution of the calculation blocks.
[0063] List of reference numerals
[0064] 11 Bus system
[0065] 13 First device
[0066] 15 Second device
[0067] 17 Controller
[0068] 19 First target equipment
[0069] 21 Fieldbus
[0070] 23 Scheduling unit
[0071] 25 First module
[0072] 27 Second module
[0073] 29 First device data
[0074] 31 Second device data
[0075] 33 Third device
[0076] 35 Third device data
[0077] 37 Fourth device
[0078] 39 Fourth device data
[0079] 41 First output data
[0080] 43 Second output data
[0081] 45 Third output data
[0082] 47 Fourth output data
[0083] 49 First input data
[0084] 51 Second input data
[0085] 53 IO bus link
[0086] 55 Fieldbus interface
[0087] 57 Third module
[0088] 59 Third input data
[0089] 61 Computing unit
[0090] 63 Fieldbus receive / transmit unit
[0091] 65 Process A
[0092] 67 Process B
[0093] 69 Process C
[0094] 71 Process D
Claims
1. A fieldbus system for executing at least one application, in particular for industrial automation, comprising: a first device configured to provide and transmit first device data, at least a second device configured to provide and transmit second device data, a controller configured to calculate output data from device data, at least a first target device, configured to be controlled by the output data, Fieldbus, and The scheduling unit is used to schedule the execution of applications. wherein the device, the controller and the first target equipment are connected via the field bus for communicating with the scheduling unit, and The scheduling unit is configured to determine an influencing parameter that affects an application response time of the bus system, and schedule execution in consideration of the influencing parameter.
2. The fieldbus system according to claim 1, wherein the fieldbus system is used for industrial automation. The fieldbus system according to claim 1 , wherein the first device is a first sensing device. The fieldbus system according to claim 1 , wherein the at least one second device is a second sensing device.
5. The fieldbus system according to claim 1, wherein the fieldbus is a Sercos bus.
6. The field bus system according to claim 1, in, The scheduling unit comprises a storage component, the influencing parameters are stored in the storage component, and / or wherein the scheduling unit is configured such that the influencing parameters are defined during commissioning of the bus system, and / or wherein the scheduling unit is configured to obtain the influencing parameter from the first device, at least the second device, the controller, the first target equipment and / or the field bus, and / or The scheduling unit is configured to derive the influencing parameters from a mathematical model of the bus system.
7. The field bus system according to claim 1, The influencing parameters include information about the first device, the second device, the controller, the output data calculation time of the controller, the first target equipment, the field bus, and / or information about the travel time and / or transmission speed of the bus system.
8. The field bus system according to claim 1, wherein the first device is configured to provide first device data ready for transmission after a first device preparation time, wherein the second device is configured to provide second device data ready for transmission after a second device preparation time, The equipment preparation time is different, and The scheduling unit is configured to determine the device preparation time.
9. The field bus system according to claim 1, At least one of the devices includes: A first module is configured to obtain and transmit first input data, at least a second module configured to acquire and transmit at least a second input data, an IO bus link configured to receive and serialize first input data and / or second input data transmitted by the first module and / or the second module, and a fieldbus interface configured to transmit device data of at least one device on the fieldbus, wherein the serialized input data forms part of the device data of the at least one device, wherein the first module is configured to be ready to transmit the first input data after a first module sampling time, wherein the second module is configured to be ready to transmit the second input data after a second module sampling time, where the module sampling times are different, and The scheduling unit is configured to determine the module sampling time.
10. The field bus system according to claim 9, The first module includes a first sensor, the second module includes a second sensor, the first module is configured to sample a first sensor signal of the first sensor to obtain the first input data, and the second module is configured to sample a second sensor signal of the second sensor to obtain the second input data.
11. The field bus system according to claim 1, wherein the controller is configured to calculate and transmit first output data based on the transmitted first device data, and / or to calculate and transmit second output data based on the transmitted second device data, wherein the controller is configured to prepare the first output data for transmission after a first output data calculation time and / or to prepare the second output data for transmission after a second output data calculation time, where the output data calculation times are different, and The scheduling unit is configured to determine the output data calculation time.
12. The field bus system according to claim 11, wherein the first target device is configured to be controlled by applying the transmitted first output data and / or the transmitted second output data, wherein the first target device is configured to apply the first output data after the first output data application time and / or to apply the second output data after the second output data application time, wherein the output data is applied at different times, and in, The scheduling unit is configured to determine the output data application time.
13. The field bus system according to claim 8, wherein the scheduling unit is configured to schedule the transmission of device data in the order of module sampling time, device preparation time, output data calculation time and / or output data application time, and / or wherein the scheduling unit is configured to schedule the transmission of the input data to the IO bus link in the order of the module sampling time, the device preparation time, the output data calculation time and / or the output data application time, and / or The scheduling unit is configured to schedule the calculation of the output data and / or the transmission of the output data on the field bus in the order of the module sampling time, the device preparation time, the output data calculation time and / or the output data application time.
14. The field bus system according to claim 13, wherein the scheduling unit is configured to schedule the transmission of the output data on the field bus when all the output data are calculated, or wherein the scheduling unit is configured to schedule the transmission of the first output data on the field bus when calculating the first output data, and / or The scheduling unit is configured to schedule the computation of the first output data even if the complete second input data has not been received.
15. The field bus system according to claim 14, The scheduling unit is configured to schedule the transmission of the first output data on the field bus when calculating the first output data before calculating the second output data.
16. The field bus system according to claim 13, The scheduling unit is configured to schedule the calculation of the first output data and the transmission of the first output data on the field bus even if the complete second input data has not been received.
17. The field bus system according to claim 1, The scheduling unit is configured to schedule the execution of the application in a cyclic and repeated manner.
18. The field bus system according to claim 1, The controller includes the scheduling unit.
19. The field bus system according to claim 1, Wherein the controller is configured to sequentially calculate the output data from the device data.
20. The field bus system according to claim 1, Wherein the bus system comprises at least a data forwarder, wherein the data forwarder is configured to transmit the start of a data block even if it has not received the end of the data block.
21. A method for scheduling the execution of at least one application on a fieldbus system, in particular for industrial automation, the fieldbus system comprising: a first device configured to provide and transmit first device data, at least a second device configured to provide and transmit second device data, a controller configured to calculate output data from device data, at least a first target device, configured to be controlled by the output data, Fieldbus, and The scheduling unit is used to schedule the execution of applications. wherein the device, the controller and the first target equipment are connected via the field bus for communicating with the scheduling unit, The method comprises the following steps performed by the scheduling unit: determining influencing parameters that influence the application response time of the bus system, and The execution is scheduled taking into account the influencing parameters.