EP3446216A1 - Echtzeitumgebung und speicherprogrammierbare steuerung - Google Patents
Echtzeitumgebung und speicherprogrammierbare steuerungInfo
- Publication number
- EP3446216A1 EP3446216A1 EP17720035.9A EP17720035A EP3446216A1 EP 3446216 A1 EP3446216 A1 EP 3446216A1 EP 17720035 A EP17720035 A EP 17720035A EP 3446216 A1 EP3446216 A1 EP 3446216A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- time
- function
- watchdog
- real
- monitoring function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/054—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/10—Plc systems
- G05B2219/11—Plc I-O input output
- G05B2219/1134—Fieldbus
Definitions
- Real-time environment and programmable logic controller The invention relates to a real-time environment and a SpeI ⁇ logic controller.
- PLC programmable logic controller
- the control of actuators and sensors takes place on the PLC in the form of tasks, so-called tasks.
- the tasks are often executed cyclically.
- a PLC can also distribute tasks across multiple cores of a processor or multiple processors.
- a central task of the PLC in controlling the actuators and sensors is synchronization with the production process.
- a controller with function blocks is also described, wherein the function blocks can contain a real ⁇ time function.
- the real-time function is off, broken when the computing time exceeds a predetermined Re ⁇ conference time.
- DE 10 2009 055 752 A1 further discloses a method in which a task can be interrupted in favor of another task.
- a production system In addition to the actuators and sensors that are controlled by the PLC, a production system usually has a large number of other systems whose functions must be synchronized with the production process and its control by the PLC.
- vision systems an essential Be ⁇ stand part of modern production facilities. They serve for object recognition, surface inspection, measurement or identification. In vision systems have a variety of image processing and image analysis operations are performed, which are preferably to be in synchronism with the production process Runaway ⁇ leads.
- Another additional function to be synchronized with the production process is condition monitoring, in which a regular or permanent recording and evaluation of the condition of the production plant is carried out by measuring and analyzing machine parameters that reflect the current state of the production process. Also in the field of machine learning, a synchronization of additional functions with the production process is desirable. The same applies to the numerical control, in which a program code is converted into working or movement sequences for a machine.
- Vision systems as well as the other additional systems mentioned Condition Monitoring, Machine Learning and Numerical Control are usually in the form of separate software components separated from the PLC.
- vision systems usually separate image processing computer or smart cameras are used, which are connected to the PLC via a Kom ⁇ munikationsmedium for example the Ethernet, I / Os or egg NEN field bus, to transmit the calculation results to the PLC.
- the connected cameras transmit the images or image regions to the image processing computer, which then carries out the problem-specific image analysis.
- the vision function can also be performed directly on the camera.
- the cameras can also have their own I / Os to communicate directly with the actuators and sensors of the production plant after appropriate configuration. It is then for the actuators and sensors of the production plant, the Mög ⁇ friendliness to trip over hardware trigger image capture by the cameras or to control the lighting.
- a software PLC can be used for control and image processing same hardware ⁇ to.
- the software PLC can also run on the camera, which additionally limits the usually limited computing capacity of the intelligent camera. This approach is therefore only feasible for simple control and vision tasks.
- a data processing method is described in EP 1 312 990 A2 with which image and audio data relating to the movement sequence of a machine can be linked to the data of the movement and drive control of the machine.
- the image and audio data are provided with a time stamp generated by the motion and drive control.
- the image and audio data synchronized in time to the data of the movement and drive control of the machine can then be further processed or displayed.
- a significant problem in the synchronization of additional functions, such as vision systems, the production process is that their maturity strongly with output data is affected by a ⁇ .
- condition monitoring time series are often analyzed with the aid of iterative methods whose duration depends on the achievement of a quality criterion.
- the required computation time for example for training and the application of classifiers or function approximators, depends significantly on the input data.
- the numerical control uses complex iterative optimization algorithms whose runtime varies.
- the object of the present invention is to provide a real-time environment and a programmable logic controller circuitzustel ⁇ len that allow integration of additional functions with an undefined function term in the real-time environment. This object is achieved with a real-time system according to claim 1 and with a programmable logic controller according to claim 12Q. Preferred developments are specified in the dependent claims.
- At least one task is executed in the real-time environment with a predetermined task runtime, wherein at least one function is to be executed within the specified task runtime.
- the execution of the function takes place by starting a time monitoring function, which determines a termination time for the function within the specified task runtime, and then executing the function.
- the time monitoring function monitors the function run time, wherein a function abort is initiated when the predetermined abort time is exceeded. On closing ⁇ the time monitoring function is terminated.
- the execution of the additional function is designed such that the functional runtime can be controlled in dependence on the computing time still available in the current cycle of the task.
- the additional function can therefore be executed directly in the real-time environment of the PLC. Data processing of the additional function outside of the real-time environment and its einherge- Henden communication and synchronization steps entfal ⁇ len. Furthermore, a time-exact coupling of additional function to the timing of the production process is achieved.
- an abort function is also provided, which is called when the predetermined abort time is exceeded by the function runtime in order to execute the abort function.
- ab ⁇ working additional function is timely terminated after exceeding the termination time.
- the function may include an abort condition which, when the predetermined abort time is exceeded by the functional run time, aborts the execution of the function and returns a processing result. Such a procedure ensures a controlled abort of the function. The results of the additional function at the cut-off time can then be fully continue USAGE ⁇ det.
- the time monitoring function can determine the given abort time when called as the sum of the current time and a maximum allowed time. The termination time can then be determined dynamically and flexibly adjusted. Further, the time monitoring function when quitting may output a parameter indicating the fraction of the carriedgnacsaus ⁇ management. Alternatively or additionally, the parameter may indicate the number of accumulated functional elements. The parameter represents a measure of confidence in the corresponding calculation results of the additional function. The parameter can also be used to carry out an adaptation of the additional function.
- the function can have a plurality of functional elements, wherein the characteristic value output when terminating the time monitoring function indicates the accumulated component of the execution of the functional elements. With this hens as is possible functional elements to bün ⁇ spindles to monitor their maturity together. Furthermore, loops, for example, which call functional elements iteratively, can also be included in runtime monitoring in a simple manner. The accumulation then calculates the parameters of the transit time monitoring of the individual functional elements to a total result over the entire monitored period of time. Furthermore, the time monitoring function can output a time value when ending, which indicates the time difference between the current time and the predetermined abort time. This determined remaining time can be used, for example, to optimize the execution of the additional function in the real-time environment. Furthermore, a use of a computing time interval in the length of the remaining time by other components of the real-time system is conceivable.
- the time monitoring function can return an error code representative of an error condition in the exporting ⁇ tion of the time monitoring function when closing further.
- the time monitoring function may include at least one subordinate time monitoring function element that sets an abort time for an associated function within the predetermined task run time prior to the abort time point of the time monitoring function.
- time monitoring function is managed using a stack.
- the stack provides an easy way of forming hierarchical levels of the individual time monitoring function elements by means of an appropriate positioning on the stack.
- a programmable logic controller is connected via a fieldbus with actuators and sensors of a production plant.
- the programmable logic controller in this case comprises a real-time environment in the previously explained form whose task is to control actuators and sensors, the execution of the function being synchronized with the control by the time-monitoring function.
- the programmable logic controller may be connected to a function ⁇ onshim for image acquisition, in order to transmit the image data in the real-time environment, wherein the function is a vision function for processing and / or analysis of image data.
- Figure 1 shows schematically a structure of a programmable logic controller according to the invention for a production plant, the actuators and sensors and an image detection unit has on ⁇ .
- Figure 2 shows a structure of a data structure of a time monitoring function, which is executed in a real-time environment according to the invention.
- 3 shows a structure of a stack with time monitoring ⁇ functions.
- FIG. 4 shows a possible program flow chart for starting a time monitoring function, which is executed in a real-time environment according to the invention.
- Figure 5 shows a possible program flow chart for performing a vision function executed in a real-time environment according to the invention.
- FIG. 6 shows a possible program flow chart for starting a time monitoring function, which is executed in a real-time environment according to the invention.
- Figure 7 shows an example of propagating the remaining time when performing multiple interleaved time monitoring functions.
- a programmable logic controller (PLC) 3 is used to control sensors 1 and actuators 2, which, as shown in FIG. 1, is connected via a field bus 4 to the sensors 1 and actuators 2.
- the PLC can be designed as an independent data processing unit, for example in the form of an industrial PC 5, as shown in FIG. 1, or run as a software PLC additionally on an already existing unit of the production plant.
- a field bus 4 is a differently configured communica tion ⁇ compound 3 can be inserted for data exchange between the sensors 1 and actuators 2 and the PLC.
- the processing of the data from or for the sensors 1 and actuators 2 takes place on the PLC 3 in the form of tasks, so-called tasks.
- the tasks are executed for control of the sensors 1 and actuators 2 generally cyclically, said safety must be provided that the tasks are guaranteed to within ei ⁇ ner predetermined maximum time, for example within the standing for one cycle time available, processed. Furthermore, the cyclic execution of the tasks without jitter must be guaranteed with a predictable response time (latency).
- This Anforderun ⁇ gen to the PLC 3 are implemented by a real-time environment.
- production plants usually have a large number of other systems whose functions must be synchronized with the production process and its control with the aid of the sensors 1 and actuators 2 by the PLC 3.
- Vision systems pose a sol ⁇ ches auxiliary system. With vision systems object detection, surface inspection, a survey or an identification can be performed vide 1952. To achieve these objectives, the vision systems must perform a multi ⁇ number of image processing and analysis operations.
- image processing and image analysis operations may include, for example, filters, thresholds, morphological
- the PLC 3, as Fig. 1 shows extended so that image data of a functional unit 6 for Bil ⁇ der charged such as a camera of the vision system di- enter directly into a memory space of the PLC 3.
- the functional unit 6 for image acquisition is also referred to below as the image acquisition unit 6.
- Ethernet packets of the image acquisition unit 6 are transmitted directly from a network adapter into the real-time environment of the PLC 3.
- a protocol-specific processing of the Ethernet packets takes place in order to process and analyze the image data in the real-time environment with the help of vision functions.
- Ethernet 7 for image data transmission
- other data bus systems can also be used.
- the functional run times depend essentially on the available data volume.
- the processing time can vary greatly in identifying relevant structures within a topological structure analysis, for example, a con ⁇ tures seeking.
- the iterative application of an algorithm as a function of a convergence criterion for example an iterative filter or a subpixel optimization, can also lead to a fluctuating functional runtime.
- search strategies for example, that if a first sub-algorithm is unsuccessful, a second sub-algorithm is attempted.
- a so-called region-of-interest variable size leads to different functional maturity.
- condition monitoring iterative methods are often used to analyze the recorded data, whereby the running time depends on the achievement of a quality criterion and is therefore not fixed from the outset. Also in the field of machine learning and numerical control and other additional functions to be synchronized with the production process, the functional runtime varies.
- a time-monitoring function is provided according to the invention, which defines an abort time for the function within the specified task runtime.
- the time monitoring function is started. The time monitoring function then monitors the functional runtime, wherein a function abort is initiated when the predetermined abortive ⁇ time point is exceeded.
- the execution of the additional function is designed such that the functional ⁇ running time depending on the current cycle of the task still available computing time can be controlled.
- the additional function can be executed directly in the real-time environment of the PLC 3, as the cyclic execution of the task can be guaranteed with a predictable response time with the aid of the time monitoring function. Furthermore, a time ⁇ precise coupling of the algorithms performed by the additional function is achieved at the timing of the production process.
- the time monitoring function also referred to below as a watchdog
- the time monitoring function can be designed as a wrapper function, which surrounds the additional function.
- the time monitoring function is executed as a program code which surrounds thetemperatursssoft ⁇ ware.
- the program code of the additional function then runs within the Pro ⁇ program codes of the time monitoring function.
- the watchdog can be realized both preemptively and cooperatively. In a preemptive Watchdog the to be executed within the given task runtime ⁇ additional function is temporarily stopped just after exceeding the termination timing. The watchdog ensures continuous monitoring of the functional runtime.
- an abort function When exceeding the specified differently surrounded abort time point by the function of maturity an abort function is called to the function abort perform.
- an interrupt program can be set up outside the watchdogs and the per ⁇ bib additional function that is executed to termination date.
- the abort function can also be part of the watchdog, in which the watchdog program code branches, when the termination condition is satisfied ⁇ by exceeding the predefined termination timing.
- Aborting the execution of the additional function can be done, for example, via interrupts.
- a timer is started when starting, which triggers the interrupt on execution, which terminates the additional function to be monitored.
- the abort of the additional function usually takes place at an unknown program position within the additional function, so that the additional function can be in an undefined state, as a result of which the results of the additional function can often only be used to a limited extent at the abort time.
- the preemptive watchdog of koopera ⁇ tive watchdog allows a controlled function abort.
- the program code of the additional function is erwei ⁇ tert by an additional condition is inserted, for example, to function ⁇ specific central processing loops.
- the additional condition checks the computing time consumed for the algorithm of the additional function at fixed times, for example at the end of the associated processing loop. If it is determined during the review that the function ⁇ term has exceeded the cut-off time, the associated processing loop of the additional function leaving ⁇ sen is.
- Already existing results of the additional function can be ge ⁇ uses, since the additional function is stopped in a controlled manner by branching out at the end of a processing loop.
- the abort of the additional function in the cooperative watchdog is, however, generally less accurate than the preemptive watchdog, since only aborts to those times defined by the additional function.
- the time monitoring function can determine the predetermined termination time t A break when called as the sum of the current time taktueii and a maximum allowable time period At max .
- the current time t a ktueii can be related to the beginning of lukewarm ⁇ fenden task cycle while: ⁇ ⁇ -Abort -News ⁇ t max (1)
- Watchdogs which dynamically determine their termination time in accordance with equation (1) are also referred to below as time span watchdogs.
- the time monitoring function can output a parameter on termination that indicates the proportion of the executed function execution .
- the indicator while a numerical value can be used by the watchdog function that reflects the purchase in part a f the already completed processing steps in Behaves ⁇ nis to complete processing an additional function f.
- the calculation of the parameter depends on the algorithmic ⁇ mus the additional function from f.
- Exemplary variants for calculating the proportion a f for a vision function as an additional function are current share of processed ROI
- Equation (2) is suitable for algorithms which process all pixels of a region-of-interest (ROI) sequentially, wherein the ROI can also include the entire image.
- the algorithms used may be, for example, simple convolution filters or threshold operators. Even for more complex algorithms such as labeling or contour search, equation (2) is suitable for calculating the fraction a f .
- the field of application of equation (3) are mainly itera ⁇ tive algorithms where additional iterations are performed until a desired accuracy is reached. In this case, the accuracy can be specified, for example, by the absolute value of the change in one or more variables to be optimized between two successive iterations of the algorithm.
- Equation (4) is suitable for complex algorithms that perform alternative processing strategies depending on the results.
- an algorithm for license plate recognition can only try Data Matrix codes to identify and, if that fails, then another search for QR codes and then perform possibly after eindimen ⁇ dimensional barcodes.
- Combinations of the above equations for determining the proportion a f for a vision function are also conceivable.
- the determined characteristic variable which shows the share of the carried radio ⁇ tion execution when the function is canceled, then available in addition to the calculation results of the additional function.
- the indicator provides a measure of the Ver ⁇ trust in the corresponding calculation results.
- the already completed processing steps in relation to the complete processing of the additional function f less trustworthy calculation results from further proces ⁇ equipment may for example be excluded or these are incorporated with a low weighting.
- the ascertained characteristic variable which indicates the proportion of the performed function execution in the case of the aborted function, can also be used to carry out an adaptation of the additional function.
- a lesser processing component a f for a vision function could be increased, for example, by adapting the image acquisition parameters or the processing strategy in the next task cycle.
- the programmer of the PLC obtains the possibility of recognizing problems during the execution of the additional function during a running task cycle and to prevent discontinuations of vision functions and timeouts in the future by subsequent modifications.
- the time monitoring function as a wrapper function can be called immediately before and immediately after the vision function to be controlled.
- tAbstract indicates the abort time relative to the current task cycle.
- n of the tuple indicates the number of executed functional elements of the additional function. The meaning of the functional elements will be explained in connection with FIG. 2.
- the watchdog determined residual time At Res t is to optimize the execution of the additional function in the real-time environment.
- the residual time At Res t can be used in particular for evaluating the execution of the additional function by software components outside the current task. For example, a PLC program which is part of a further task of the Echtzeitumge- is advertising, the residual time determined by the watchdog At Re s t abfra ⁇ gene to determine what proportion consumes available STE Henden computing time actually executing the additional function of has been. If there is unused computing ⁇ time available, this computation time can then be used dyna ⁇ mixed for other, less time-critical tasks such as exporting images of the vision function of a man-machine interface outside the real-time environment.
- the watchdogs can be constructed in a standardized manner, which allows a simple modification and adaptation.
- the monitoring of the time behavior ei ⁇ ner specific additional function, for example, the vision function can be adjusted without changing the additional function itself or their function parameters.
- a possible data structure for a watchdog 200 is shown in FIG.
- the watchdog data structure has several data fields containing watchdog parameters.
- a first data field 210 can indicate the watchdog type.
- Watchdog type can indicate, for example, whether a preemptive watchdog or a cooperative watchdog is used.
- the watchdog data structure contains the termination time point t Fig ruc h - Further, a data field 230 for the number of accumulated functional elements is n, a data field
- the accumulated machining portion can ä approximately as incremental With ⁇ average value of the processing units of all the called function ⁇ elements are determined, a f the machining portion of the current function element f and n the number of previously called functional elements indicating :
- equation (6) provides for the calculation of the calculation proportions to optimistic values for the accumulated calculation proportion a, since the current functional element can only use the successfully calculated proportion of results of the preceding functional elements.
- a multiplicative calculation is suitable, as indicated in equation (7) below: cif, if n
- WatchdogType A can determine the accumulated processing fraction a with equation (6) and WatchdogTypB with equation (7).
- the choice of to-use watchdogs can be re ⁇ alnose example, using the commands to start and stop.
- the commands StarteWatchdogTypA and StoppeWatchdogTypA can be used to start and stop a watchdog of type A and the commands StartWatchdogTypB and StopWatchdogTypB to start and stop a watchdog of type B.
- the time monitoring function (watchdog), at least one child timing function element, hereinafter also referred to as a subordinate watchdog exhibit ⁇ , which defines a cut-off time for an auxiliary function within the given task runtime before the termination time ⁇ point of the time monitoring function.
- the watchdogs can form a hierarchy which allows a more precise time monitoring of the additional function.
- Nesting causes one or more child watchdogs to be called while a watchdog is running using startup and stop commands.
- One possible implementation may be, for example, a LIFO (last in, first out), also called a stack, as shown in FIG.
- the stack has two watchdogs, with the higher-level watchdog being a type A watchdog and the subordinate watchdog being a type B watchdog.
- Is to be ⁇ monitors the timing of a vision function, which includes three functional elements VisionTalkl VF1, VisionFunk- tion2 VF2 and VF3 VisionService3.
- Fig. 3 shows in the left part of the program sequence for monitoring the vision function with the two interleaved watchdogs and parallel to the individual program steps in the right part of the respective active watchdogs in the stack.
- the higher-level watchdog type A is started in program step 100 with the command StartWatchdogTypA.
- the watchdog type A is an periods watchdog, the termination time according to equation (1) from the economic refreshes ⁇ time t a k ll do and the maximum allowable time period At max, which is ys, for example, 5000 is determined.
- vision function is called and then one after the vision function elements VisionRel VF1, VF2 and VisionService2 toarbei tet ⁇ VisionService3 VF3.
- the subordinate watchdog type B is started with the command StartWatchdogTypB.
- the subordinate watchdog type B is formed as ⁇ derum as periods watchdog, the t a k doing the demolition ⁇ time when called from the sum of the current time ii and the maximum allowable time period At max, which ys, for example, 4000 is determined.
- the subordinate watchdog type B monitors the operating times of the vision function elements VisionFunction2 VF2 and VisionFunction3 VF3. Thereafter, in program step 300, the subordinate watchdog type B is stopped with the command StopWatchdogTypB.
- the superordinate watchdog type B is terminated with the command StopWatchdogTypA.
- the active watchdogs are respectively marked for the individual program steps.
- the command StarteWatchdogTypA the parent watchdog Type A is stored in the watchdog stack in program step 100 and remains active until the command StoppeWatch- dogTypA in program step 400.
- the active übergeordne ⁇ th watchdog type A is in program step 200 with the command StarteWatchdogTypB in Watchdog Stack then the subordinate watchdog type B put on.
- the subordinate watchdog type B remains active above the higher-level watchdog type A until the command StopWatchdogTypB in the program step 300.
- Watchdog type B the timing of the vision function elements VisionSub2 VF2 and VisionService3 VF3, during the higher-level watchdog type A monitors the time behavior of the entire vision function, including the vision function element VisionFunctionl VF1 that was executed before the start of the subordinate watchdog type B.
- each task that supports watchdogs gets its own stack.
- the hierarchy level of a ⁇ individual watchdog is represented by the position of the watchdog on the stack. For reasons of efficiency, it is possible for the time monitoring of an additional function to always use only the highest and thus the hierarchically highest ranked watchdog in the stack of the task. In an alternative implementation, however, the termination time of all watchdogs on the stack can also be checked.
- the processing shares of the individual watchdogs can be offset against each other.
- the processing shares of all watchdogs on the stack can be adapted. In addition to a possible redundancy of performed
- the billing can also be designed so that only the processing share of the highest and thus the hierarchically highest ranked watchdog is adjusted on the stack.
- the accumulated processing proportion a and the number of accumulated function elements n of the additional function are then called upon calling the command to stop the Watchdogs propagated to the underlying and thus hierarchically deeper classified watchdog. In this way, multiple and possibly different allocations of the processing content of individual functional elements are the avoided to ⁇ set function.
- the propagation of the accumulated processing shares can be done analogously to the calculation of the processing shares, as indicated in equations (6) and (7).
- a hierarchically higher watchdog W2 of the accumulated machining ⁇ tung proportion of W2 is for example adjusted as follows:
- the notation W X .Y denotes the data field Y of Watch ⁇ dog W x .
- the equation (8) corresponds to a calculation analogous to the equation (6) and the equation (9) a calculation analogous to the equation (7).
- the number of accumulated functional elements n can also be propagated from the watchdog Wi to the underlying hierarchical watchdog W2:
- 4 to 6 is a possible program sequence of a time monitoring function with a watchdog stack, as
- AtRest / err uses StoppeWatchDog ().
- an oval represents a control point such as start and stop
- a rectangle represents a program step
- a rhombus is a branch step in which a decision must be made.
- arrows represent the connections between the program and branch steps.
- S In addition to the number of watchdog on the watchdog stack and W s for the top watchdog of the watchdog stack.
- the watchdog W initializes its data structure shown in FIG.
- the watchdog W which is a time spans watchdog determines the ⁇ From break time point t A bbruch from the current time t a ktueii and maximum permitted time span At max . Further, the data fields are accumulated number n of functional elements, accumulated percentage working, etc., and accumulated time remaining At Rest set to 0.
- a first decision step SZ1 it is then determined whether watchdogs are already active in the watchdog stack.
- the query determines that a watchdog is already active, ie
- the watchdog W is a preemptive watchdog, it prepares an abort function in a third program step SP3.
- an error code err 0 is set to indicate that no error has occurred during program execution.
- an initialization takes place in a first program step VP1, in which the processing fraction a f is set to 0 and the abort time t interrupt is set to infinity.
- VEl is then checked whether there is an active watchdog in the watchdog stack.
- step VE2 checked whether the current time t ak tueii time ⁇ Lich before the termination time t A bbruch the topmost active Watchdogs W s is in the watchdog stack. If this is the case, in a second program step VP2 the termination time t A break is set to the termination time t A interruption of the uppermost active watchdog W s . Subsequently, the vision algorithm VA of the vision function element Visionstand is executed. At the end of each loop of the vision algorithm, the respective loop condition is checked in decision step VA1.
- the current time t a ktueii m is continuously compared with the termination time t A break.
- the vision algorithmic ⁇ mechanism is executed until a loop condition is he fills ⁇ or the current time talking ent ⁇ the termination date.
- the active watchdog is a preemptive watchdog, wherein exceeding the termination timing called a termination function by the function ⁇ onsertonzeit of the vision algorithm VA to cancel the vision algorithm VA.
- a cooperative watchdog as an active watchdog Pro ⁇ program code of the vision algorithm VA is extended by an additional condition.
- the additional condition compares ⁇ step VA1 the current time t a ktueii w ith t demolition time ⁇ point A bbruch at the end of each processing loop in the decision. If it is determined during the review that the cut-off time on ⁇ steps, the processing loop is left and the vision algorithm VA so controlled ended.
- a third decision step VE3 checks again whether there is an active watchdog in the watchdog stack. If this is the case, in a third program step VP3 processing share a f of the vision function ⁇ elements vision function is determined.
- the calculation rule is predefined by the vision algorithm VA, where, for example, equations (2), (3) or (4) can be used.
- the percentage working a f is then charged in a fourth Pro ⁇ program step VP4 with the accumulated the watchdog stack processing units, to determine the processing content for the entire vision function, for example, the equations (8) or (9) can be used , Then the program sequence of the command Visionbridge () is ended. If it is determined in the first decision step VE1 that no watchdog is active, ie
- 0, is passed directly to the execution of the vision algorithm VA of the vision function ⁇ onselements vision function. Since no time monitoring is then carried out with a watchdog, the originally initialized termination time remains at infinity and only the loop condition is checked during execution.
- the vision algorithm VA of the vision func ⁇ tion element Visiontransport not performed and the Pro ⁇ program sequence continues with the fourth program step VP4.
- a first decision step EE1 it is checked whether a watchdog to be terminated is in the watchdog stack.
- the query determines that a watchdog is active in the watchdog stack, it is checked in a second decision step EE2 whether it is a type A watchdog.
- the watchdog W s active in the watchdog stack is such a type A watchdog, the watchdog is removed from the stack in a first program step EP 1.
- a second program step EP2 the data structure of the watchdog W removed from the stack is then updated.
- the processing component a is set to the value determined in the fourth program step VP4 of the program sequence of the command Visionbridge (), as has been described with reference to FIG.
- the remaining time At Res t is with of equation (5), which determines the time difference from current time t ak tueii to abort time t Abb ruc h .
- the abort function is then removed in a third program step EP3.
- a third decision step EE3 it is checked whether, after removal of the watchdog W, further
- Watchdogs are in the watchdog stack.
- a fifth program step EP5 the number of accumulated functional elements Wn, which accumulate on profiled W.ä percentage working, and the accumulated time remaining W.At rest on the top that are available in the watchdog active stack watchdog W s is then propagated by the watchdog W.
- an error code err 0 is set to indicate that no error has occurred during program execution.
- Fig. 7 shows an example of the propagation of the remaining time in a watchdog stack with five watchdog 701-705, which are distributed on three hierarchical levels 1, 2, 3, wherein to ei ⁇ nem time at each level of the hierarchy most one Watch ⁇ dog active is.
- the three hierarchy levels 1, 2, 3 are entered on the Y-axis.
- the watchdog is 701.
- the next hierarchical level 2 of the Watchdog 702 Watchdog 703 and the watchdog are 705 arranged ⁇ .
- At the top hierarchy level 3 is the watchdog 704.
- the time sequence of the five watchdogs 701 to 705 in the watchdog stack is indicated on the X-axis in FIG.
- the numbering of the watchdogs corresponds to the start time of the watchdog respective watchdogs.
- the arrow from the lower hierarchy level to the next higher hierarchical level always indicates the call of the watchdog.
- the arrow from the higher hierarchical level to the next lower hierarchy level indicates the end of the watchdog.
- the watchdog 701 located in the hierarchy level 1 starts at the time 0 ms and terminates its execution at the time 100 ms.
- the watchdog 702, which is located in the hierarchy level 2 starts at the time 10 ms and ends its execution at the time 20 ms. Which are currently looking Dende in the hierarchy level 2 ⁇
- Watchdog 703 starts 40ms at the time and ended his execution at the time of 70ms.
- Watchdog 705, which is in hierarchy level 2 starts at time 80 ms and terminates its execution at the time
- the watchdog 704 located in the hierarchy level 3 starts at the time 50 ms and ends its execution at the time 60 ms.
- the five watchdog 701-705 are each Zeitspannen- watchdog, wherein in Fig. 7, the actual running time of the watchdog, which results from the specified start and stop newspaper th and to be monitored by the function of duration of the fed arrange ⁇ th functional elements determined becomes.
- the watchdog 702 has a termination period of 15ms
- the watch dog ⁇ 703 has a termination period of Iliad
- the watchdog 704 has a termination period of 37 ms
- the Watchdog 705 has a termination period of 18ms.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016107527.2A DE102016107527A1 (de) | 2016-04-22 | 2016-04-22 | Echtzeitumgebung und speicherprogrammierbare Steuerung |
PCT/EP2017/059185 WO2017182467A1 (de) | 2016-04-22 | 2017-04-18 | Echtzeitumgebung und speicherprogrammierbare steuerung |
Publications (1)
Publication Number | Publication Date |
---|---|
EP3446216A1 true EP3446216A1 (de) | 2019-02-27 |
Family
ID=58640840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP17720035.9A Pending EP3446216A1 (de) | 2016-04-22 | 2017-04-18 | Echtzeitumgebung und speicherprogrammierbare steuerung |
Country Status (5)
Country | Link |
---|---|
US (1) | US10782667B2 (de) |
EP (1) | EP3446216A1 (de) |
CN (1) | CN109074279B (de) |
DE (1) | DE102016107527A1 (de) |
WO (1) | WO2017182467A1 (de) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6781191B2 (ja) * | 2018-05-24 | 2020-11-04 | ファナック株式会社 | プログラマブルコントローラ及び機械学習装置 |
DE102018133058A1 (de) | 2018-12-20 | 2020-06-25 | Beckhoff Automation Gmbh | Verfahren zum steuern eines automatisierungsprozesses in echtzeit |
CN111708670B (zh) * | 2020-06-10 | 2023-05-09 | 中国第一汽车股份有限公司 | 实时操作系统中任务时间参数的确定方法、装置及车辆 |
US11904399B2 (en) * | 2020-11-30 | 2024-02-20 | Metal Industries Research & Development Centre | Online prediction method of tool-electrode consumption and prediction method of machining accuracy |
CN114879593B (zh) * | 2022-05-07 | 2023-03-14 | 科东(广州)软件科技有限公司 | 实时系统运行plc控制器的方法、装置、设备及存储介质 |
JP7221465B1 (ja) * | 2022-06-15 | 2023-02-13 | 三菱電機株式会社 | 制御システム、プログラマブルロジックコントローラ、可視化方法及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4215399A (en) * | 1978-08-24 | 1980-07-29 | Texas Instruments Incorporated | Special function control system for a dual microprocessor programmable process control system |
DE19648422C2 (de) | 1996-11-22 | 2000-03-30 | Hans Beckhoff | Verfahren und Vorrichtung zum Implementieren eines echtzeitfähigen Steuerprogramms in einem nicht-echtzeitfähigen Betriebsprogramm |
FR2818769B1 (fr) * | 2000-12-21 | 2004-06-18 | Eads Airbus Sa | Procede et systeme d'exploitation temps reel multitaches |
DE10148160A1 (de) | 2001-09-28 | 2003-04-24 | Siemens Ag | Verfahren und Einrichtung zur Bereitstellung von Daten |
US7310803B2 (en) * | 2001-10-19 | 2007-12-18 | 419638 Canada Inc. | Method and system for executing multiple tasks in a task set |
DE10243856B4 (de) | 2002-09-20 | 2004-09-30 | Siemens Ag | Regler und Verfahren zum Betreiben eines Reglers |
TWI220700B (en) * | 2003-08-20 | 2004-09-01 | Delta Electronics Inc | Programmable logic controller with an auxiliary processing unit |
ATE408178T1 (de) | 2004-04-08 | 2008-09-15 | Festo Ag & Co Kg | Bilderfassungsvorrichtung für automatisierungsgeräte |
DE102005048037A1 (de) * | 2005-10-07 | 2007-04-12 | Robert Bosch Gmbh | Verfahren zur Steuerung/Regelung wenigstens einer Task |
ATE522862T1 (de) * | 2008-05-13 | 2011-09-15 | Dspace Gmbh | Verfahren zur ausführung von tasks zur berechnung eines zu simulierenden signals in echtzeit |
DE102009055752A1 (de) | 2009-11-25 | 2011-05-26 | Robert Bosch Gmbh | Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung |
EP2568346B1 (de) | 2011-09-06 | 2015-12-30 | Airbus Operations | Robustes Systemsteuerungsverfahren mit kurzen Ausführungsfristen |
US9135062B2 (en) * | 2013-04-09 | 2015-09-15 | National Instruments Corporation | Hardware assisted method and system for scheduling time critical tasks |
US10782668B2 (en) * | 2017-03-16 | 2020-09-22 | Siemens Aktiengesellschaft | Development of control applications in augmented reality environment |
-
2016
- 2016-04-22 DE DE102016107527.2A patent/DE102016107527A1/de active Pending
-
2017
- 2017-04-18 CN CN201780025087.XA patent/CN109074279B/zh active Active
- 2017-04-18 EP EP17720035.9A patent/EP3446216A1/de active Pending
- 2017-04-18 WO PCT/EP2017/059185 patent/WO2017182467A1/de active Application Filing
-
2018
- 2018-09-28 US US16/146,757 patent/US10782667B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN109074279A (zh) | 2018-12-21 |
CN109074279B (zh) | 2022-02-25 |
US10782667B2 (en) | 2020-09-22 |
WO2017182467A1 (de) | 2017-10-26 |
US20190033814A1 (en) | 2019-01-31 |
DE102016107527A1 (de) | 2017-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3446216A1 (de) | Echtzeitumgebung und speicherprogrammierbare steuerung | |
EP0655682B1 (de) | Recheneinheit mit mehreren ausführbaren Tasks | |
EP0852759A1 (de) | Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren | |
EP2513796B1 (de) | Verfahren zum betreiben einer recheneinheit | |
DE102010028259A1 (de) | Mikrocontroller mit einer Recheneinheit und einer Logikschaltung sowie Verfahrung zur Durchführung von Rechnungen durch einen Mikrocontroller für eine Regelung oder eine Steuerung in einem Fahrzeug | |
EP3417373B1 (de) | Verfahren und vorrichtung zum betreiben eines steuergeräts | |
WO2011063869A1 (de) | Verfahren zum ermöglichen einer sequentiellen, nicht blockierenden abarbeitung von anweisungen in nebenläufigen tasks in einer steuereinrichtung | |
EP0799441A1 (de) | Verfahren zur steuerung von technischen vorgängen | |
EP2363809B1 (de) | Verfahren zur Optimierung eines Steuerprogramms für Aktuatoren | |
CN111679970B (zh) | 机器人软件系统运行环境状态预测方法 | |
DE102004059972B4 (de) | Thread-Scheduling-Verfahren, und Thread-List-Scheduler-Vorrichtung | |
DE102009025572A1 (de) | Eine Methode zur Entwicklung von garantiert korrekten Echtzeitsystemen | |
EP2592504B1 (de) | Verfahren zur Abschätzung eines Ressourcenverbrauchs bei der Erzeugung eines Steuergeräteprogrammcodes | |
EP2189908B1 (de) | Verfahren und Vorrichtung zum Bestimmen einer Kenngröße eines IT-Systems | |
WO2021249616A1 (de) | Verfahren zum konfigurieren von komponenten in einem system mit hilfe von multi-agent reinforcement learning, computerlesbares speichermedium und system | |
EP3331740B1 (de) | Verfahren zum betreiben einer steuervorrichtung und diagnosesystem | |
DE102019135293A1 (de) | Überwachungseinheit und Verfahren zur Überwachung der von Treibern einer Gerätezugriffseinrichtung belegten Ressourcen | |
DE102021213918A1 (de) | Identifikation von Fehlerursachen auf Befehlsebene in Prozessen | |
EP2101264B1 (de) | Verfahren zur Fehlerbehandlung und Tachographensystem | |
EP3588849A1 (de) | Verfahren zum quantifizieren der zuverlässigkeit einer steuerfunktion, die durch mehrere unabhängige funktionseinheiten bereitgestellt wird; sowie steuereinrichtung | |
EP3588223A1 (de) | Verfahren und system zum bereitstellen einer analysefunktion | |
WO2010094295A1 (de) | Verfahren und vorrichtung zur anpassung der prozessorauslastung in einem automatisierungssystem | |
EP3403148A1 (de) | Verfahren zur steuerung, steuersystem und anlage | |
EP2936262A1 (de) | Verfahren zur überwachung einer ereignisgesteuerten funktion und überwachungsvorrichtung zur ausführung einer ereignisgesteuerten funktion | |
WO2014044625A1 (de) | Verfahren zur projektierung einer automatisierungslösung und vorrichtung zur ausführung des verfahrens |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20181010 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20190416 |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: BECKHOFF AUTOMATION GMBH |
|
APBK | Appeal reference recorded |
Free format text: ORIGINAL CODE: EPIDOSNREFNE |
|
APBN | Date of receipt of notice of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA2E |
|
APBR | Date of receipt of statement of grounds of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA3E |
|
APAF | Appeal reference modified |
Free format text: ORIGINAL CODE: EPIDOSCREFNE |