DE102014203428A1 - Method for operating an industrial machine - Google Patents

Method for operating an industrial machine Download PDF

Info

Publication number
DE102014203428A1
DE102014203428A1 DE102014203428.0A DE102014203428A DE102014203428A1 DE 102014203428 A1 DE102014203428 A1 DE 102014203428A1 DE 102014203428 A DE102014203428 A DE 102014203428A DE 102014203428 A1 DE102014203428 A1 DE 102014203428A1
Authority
DE
Germany
Prior art keywords
position values
data structure
client
queue data
cnc
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
Application number
DE102014203428.0A
Other languages
German (de)
Inventor
Achim Wallmeroth
Sebastian Mueller
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102014203428.0A priority Critical patent/DE102014203428A1/en
Publication of DE102014203428A1 publication Critical patent/DE102014203428A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Betreiben einer Industriemaschine (100) mit wenigstens einen Aktuator (130a, 130b, 130c), wobei die Industriemaschine (100) mittels einer CNC-Steuerung (120) gesteuert wird, wobei ein Client (130) an die CNC-Steuerung (120) angebunden ist, wobei in einem ersten Zeittakt Positionswerte des Aktuators (130a, 130b, 130c) der Industriemaschine von der CNC-Steuerung (120) bestimmt werden und in eine erste Queue-Datenstruktur geschrieben werden, wobei in einem zweiten Zeittakt eine erste Anzahl von Positionswerten aus der ersten Queue-Datenstruktur von der CNC-Steuerung (120) in eine zweite Queue-Datenstruktur geschrieben werden, wobei in einem dritten Zeittakt eine zweite Anzahl von Positionswerten aus der zweiten Queue-Datenstruktur von der CNC-Steuerung an (120) den Client (130) übermittelt werden, wobei die zweite Anzahl größer als die erste Anzahl ist.The invention relates to a method for operating an industrial machine (100) with at least one actuator (130a, 130b, 130c), wherein the industrial machine (100) is controlled by means of a CNC controller (120), wherein a client (130) to the CNC Control (120) is connected, wherein in a first time clock position values of the actuator (130a, 130b, 130c) of the industrial machine are determined by the CNC controller (120) and written in a first queue data structure, wherein in a second time clock a first number of position values from the first queue data structure are written by the CNC controller (120) into a second queue data structure, wherein in a third time cycle, a second number of position values from the second queue data structure from the CNC control (120) the client (130), the second number being greater than the first number.

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer Industriemaschine mit wenigstens einer Bewegungsachse, wobei die Industriemaschine mittels einer CNC-Steuerung gesteuert wird und wobei ein Client an die CNC-Steuerung angebunden ist. The present invention relates to a method of operating an industrial machine having at least one movement axis, wherein the industrial machine is controlled by means of a CNC controller and wherein a client is connected to the CNC controller.

Stand der Technik State of the art

Mittels einer Computerized Numerical Control (CNC) können Werkzeugmaschinen (CNC-Werkzeugmaschinen, CNC-Maschinen) gesteuert und geregelt werden. Mittels derartiger CNC-Maschinen können komplexe Werkstücke mit hoher Präzision und hoher Geschwindigkeit automatisch hergestellt werden. By means of a computerized numerical control (CNC) machine tools (CNC machine tools, CNC machines) can be controlled and regulated. By means of such CNC machines, complex workpieces can be produced automatically with high precision and high speed.

Eine CNC kann dabei eine CNC-Steuerung zur Fertigungsautomatisierung umfassen, beispielsweise ein zweckmäßiges Steuergerät. Mittels einer derartigen CNC-Steuerung kann eine Bewegungssteuerung von unterschiedlichen Aktuatoren (umgangssprachlich auch als Achsen bezeichnet) der Werkzeugmaschine ermöglicht werden (Motion-Control). A CNC may include a CNC control for factory automation, such as a convenient controller. By means of such a CNC control, a motion control of different actuators (colloquially referred to as axes) of the machine tool can be made possible (motion control).

Weiterhin kann mittels einer CNC-Steuerung eine Robot-Control implementiert werden. Dabei kann eine vollständige Funktionalität für mehrachsige Bahninterpolation im Raum erreicht werden. Mittels einer CNC-Steuerung kann somit beispielsweise ein automatisches Drehen, Fräsen, Bohren, Schleifen, Biegen, Nibbeln, Stanzen, Formschneiden und Handhaben des mit der Werkzeugmaschine herzustellenden Werkstücks ermöglicht werden. Furthermore, a robot control can be implemented by means of a CNC control. In this case, a complete functionality for multiaxial path interpolation in space can be achieved. By means of a CNC control can thus be made possible, for example, an automatic turning, milling, drilling, grinding, bending, nibbling, punching, shape cutting and handling of the workpiece to be produced by the machine tool.

Eine CNC-Steuerung kann an weitere Hardware- und/oder Software-Komponenten (sogenannte Clients) angebunden werden, mittels welcher der Herstellungsprozess des Werkstücks beispielsweise überwacht werden kann oder mittels welcher ein Benutzer Einfluss auf den Herstellungsprozess nehmen kann. Dabei sollen insbesondere Positionswerte der unterschiedlichen Aktuatoren der Werkzeugmaschine von der CNC-Steuerung an den Clients übertragen werden. A CNC control can be connected to other hardware and / or software components (so-called clients), by means of which the manufacturing process of the workpiece can be monitored, for example, or by means of which a user can influence the manufacturing process. In particular, position values of the different actuators of the machine tool are to be transmitted from the CNC control to the clients.

Diese Positionswerte werden von der CNC-Steuerung zumeist in einem festen Takt erzeugt. Diese Positionswerte können beispielsweise Soll-Positionswerte sein, welche von der CNC-Steuerung an die Werkzeugmaschine in dem festen Takt übermittelt werden, um die Aktuatoren entsprechend anzusteuern. Die Aktuatorpositionswerte beschreiben insbesondere eine Bewegungsbahn, welche der Aktuator bzw. das über den Aktuator bewegbare Werkzeug beschreibt. These position values are usually generated by the CNC control in a fixed cycle. These position values can be, for example, desired position values, which are transmitted from the CNC control to the machine tool in the fixed cycle, in order to control the actuators accordingly. In particular, the actuator position values describe a movement path which the actuator or the tool movable via the actuator describes.

Oftmals ist eine Übertragung derartiger Aktuatorpositionswerte der Werkzeugmaschine an den Client jedoch nicht in diesem festen Takt möglich, weil der Client üblicherweise nicht echtzeitfähig an die CNC-Steuerung angebunden ist. Somit erhält der Client Aktuatorpositionswerte in unterschiedlichen, nicht-kontinuierlichen Zeitabständen. Die Bewegungsbahn kann somit nicht mit einer homogenen, kontinuierlichen Abtastrate an den Client übermittelt werden. Often, however, transmission of such actuator position values of the machine tool to the client is not possible in this fixed cycle because the client is usually not connected to the CNC controller in real time capability. Thus, the client receives actuator position values at different non-continuous time intervals. The trajectory can thus not be transmitted to the client with a homogeneous, continuous sampling rate.

Oftmals kann es jedoch gewünscht oder auch notwendig sein, die Aktuatorpositionswerte in einem festen Takt an den Client zu übermitteln. Beispielsweise, wenn mittels des Clients die Werkzeugmaschine bzw. der Herstellungsprozess überwacht werden soll, ist es von Bedeutung, dass der Client den Positionswerten Zeitpunkte zuordnen kann. Somit ist gewährleistet, dass der Client die Bewegungsbahn des Aktuators nachvollziehen und überwachen kann. Ein derartiger Zeitbezug zwischen Positionswerten und bestimmten Zeitpunkten ist beispielsweise von Nöten, falls diese Positionswerte mit weiteren Bewegungen bzw. Bewegungsbahnen der Werkzeugmaschine verglichen oder in Bezug gebracht werden sollen. Dies kann beispielsweise bei der Hubbewegung eines Stanzwerkzeuges einer Stanzmaschine der Fall sein. Often, however, it may be desirable or even necessary to transmit the actuator position values to the client at a fixed rate. For example, if the machine tool or the manufacturing process is to be monitored by means of the client, it is important that the client can assign times to the position values. This ensures that the client can track and monitor the trajectory of the actuator. Such a time reference between position values and specific times is necessary, for example, if these position values are to be compared or related to further movements or trajectories of the machine tool. This can be the case, for example, in the stroke movement of a punching tool of a punching machine.

Es ist daher wünschenswert, eine Möglichkeit bereitzustellen, um eine Übertragung von Positionswerten wenigstens eines Aktuators einer CNC-Werkzeugmaschine durch eine CNC-Steuerung mit einer mit einer festen, homogenen Abtastrate zu ermöglichen. It is therefore desirable to provide a way to enable a transfer of position values of at least one actuator of a CNC machine tool by a CNC with a fixed, homogeneous sampling rate.

Offenbarung der Erfindung Disclosure of the invention

Erfindungsgemäß wird ein Verfahren zum Betreiben einer Industriemaschine mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung. According to the invention, a method for operating an industrial machine having the features of patent claim 1 is proposed. Advantageous embodiments are the subject of the dependent claims and the following description.

Die Industriemaschine wird mittels einer CNC-Steuerung (Computerized Numerical Control Steuerung) gesteuert. Insbesondere wird mittels der Werkzeugmaschine ein Werkstück hergestellt. Die Industriemaschine umfasst dabei wenigstens einen Aktuator. Insbesondere wird dieser Aktuator (z.B. Rotations- oder Linearantrieb) durch die CNC-Steuerung entsprechend angesteuert, um das Werkstück zu bearbeiten. Mittels der CNC-Steuerung wird eine Bewegungssteuerung des Aktuators der Industriemaschine ermöglicht. Die Erfindung soll nicht auf einen einzigen Aktuator der Industriemaschine beschränkt sein, sondern eignet sich für eine zweckmäßige Anzahl an Aktuatoren. The industrial machine is controlled by a CNC (Computerized Numerical Control) control. In particular, a workpiece is produced by means of the machine tool. The industrial machine comprises at least one actuator. In particular, this actuator (e.g., rotary or linear drive) is appropriately driven by the CNC controller to machine the workpiece. By means of the CNC control, a movement control of the actuator of the industrial machine is made possible. The invention is not intended to be limited to a single actuator of the industrial machine, but is suitable for a convenient number of actuators.

Komponenten der Industriemaschine, beispielsweise unterschiedliche Werkzeuge, sind mittels derartiger Aktuatoren bewegbar. Die Aktuatoren werden von der CNC-Steuerung entsprechend angesteuert, damit die jeweiligen über die Aktuatoren bewegbaren Komponenten eine bestimmte Bewegung ausführen und das Werkstück bearbeiten. Components of the industrial machine, for example, different tools are movable by means of such actuators. The actuators are controlled accordingly by the CNC control so that the respective components, which can be moved via the actuators, perform a certain movement and process the workpiece.

Die Industriemaschine ist insbesondere als eine Werkzeugmaschine ausgebildet. Die Industriemaschine kann weiterhin beispielsweise als eine Bearbeitungsmaschine, Druckmaschine, Zeitungsdruckmaschine, Verpackungsmaschine, Industrieroboter, Transportband, usw. ausgebildet sein. The industrial machine is designed in particular as a machine tool. The industrial machine may further be formed, for example, as a processing machine, printing press, newspaper printing machine, packaging machine, industrial robot, conveyor belt, etc.

Ein Client ist an die CNC-Steuerung angebunden, beispielsweise über eine herkömmliche, nicht-echtzeitfähige Datenverbindung, z.B. WLAN, Ethernet, USB. Insbesondere wird mittels des Clients die Industriemaschine bzw. der Herstellungsprozess des Werkstücks überwacht. Client und CNC-Steuerung sind insbesondere miteinander vernetzt und können miteinander kommunizieren. Ein derartiger Client ist insbesondere eine Hardware- und/oder Software-Komponente. Der Client kann beispielsweise als ein Computer ausgebildet sein, mittels welchem die Industriemaschine überwacht wird. Weiter insbesondere kann der Client auch als Anwendung oder Prozess ausgebildet sein, welcher auf einem Computer ausgeführt wird und mittels welchem die Industriemaschine überwacht wird. A client is attached to the CNC controller, for example, via a conventional, non-real-time data link, e.g. WLAN, Ethernet, USB. In particular, the industrial machine or the manufacturing process of the workpiece is monitored by means of the client. Client and CNC control are in particular networked with each other and can communicate with each other. Such a client is in particular a hardware and / or software component. For example, the client may be configured as a computer by which the industrial machine is monitored. In particular, the client may also be designed as an application or process which is executed on a computer and by means of which the industrial machine is monitored.

Insbesondere sind die Industriemaschine, die CNC-Steuerung und der Client Komponenten einer (leittechnischen) Anlage. Industriemaschine und CNC-Steuerung sind insbesondere Komponenten einer Feldebene dieser Anlage, der Client ist insbesondere eine Komponente einer Leitebene dieser Anlage. Die Feldebene beschreibt dabei mechanische, elektrische, hydraulische, pneumatische oder ähnliche Komponenten der Anlage sowie Sensoren, Aktoren, Antriebe, Fühler, Taster und Schalter. Die Leitebene beschreibt die oberste Ebene der Anlage, in welcher Organisation, Planung, Management der gesamten Anlage ablaufen. In particular, the industrial machine, the CNC control and the client components of a (control) system. Industrial machine and CNC control are in particular components of a field level of this system, the client is in particular a component of a control level of this system. The field level describes mechanical, electrical, hydraulic, pneumatic or similar components of the system as well as sensors, actuators, drives, sensors, buttons and switches. The management level describes the top level of the plant in which organization, planning, and management of the entire plant take place.

Im Zuge des erfindungsgemäßen Verfahrens sollen Positionswerte des Aktuators an den Client übermittelt werden. Erfindungsgemäß erfolgt die Übermittlung dieser Positionswerte in drei Schritten, welche jeweils kontinuierlich in einem festen, jeweils eigenen Zeittakt durchgeführt werden. Die Positionswerte können neben der Position auch weitere Daten, wie z.B. Zeitstempel enthalten. In the course of the method according to the invention, position values of the actuator are to be transmitted to the client. According to the invention, these position values are transmitted in three steps, each of which is carried out continuously in a fixed time clock of its own. The position values may include, in addition to the position, other data, such as. Timestamp included.

In einem ersten Schritt, welcher kontinuierlich in einem ersten Zeittakt durchgeführt bzw. wiederholt wird, werden Positionswerte des Aktuators der Werkzeugmaschine bestimmt und in eine erste Queue-Datenstruktur geschrieben. Insbesondere wird dabei pro ersten Zeittakt jeweils ein Positionswert in die erste Queue-Datenstruktur geschrieben. Die Positionswerte können dabei insbesondere mit einem Zeitstempel versehen werden. In a first step, which is carried out or repeated continuously in a first time cycle, position values of the actuator of the machine tool are determined and written into a first queue data structure. In particular, a position value is written to the first queue data structure per first clock cycle. The position values can be provided in particular with a time stamp.

In einem zweiten Schritt, welcher kontinuierlich in einem zweiten Zeittakt wiederholt wird, werden in der ersten Queue-Datenstruktur hinterlegte Positionswerte in eine zweite Queue-Datenstruktur geschrieben. Dabei wird pro zweiten Zeittakt eine erste Anzahl von Positionswerten von der ersten Queue-Datenstruktur in die zweite Queue-Datenstruktur geschrieben. Vorzugsweise ergibt sich die erste Anzahl als Quotient von zweitem zu erstem Zeittakt. In a second step, which is repeated continuously in a second time cycle, position values stored in the first queue data structure are written into a second queue data structure. In this case, a first number of position values is written from the first queue data structure to the second queue data structure per second time clock. The first number preferably results as a quotient from the second to the first time clock.

In einem dritten Schritt, welcher kontinuierlich in einem dritten Zeittakt wiederholt wird, werden in der zweiten Queue-Datenstruktur hinterlegte Positionswerte an den Client übermittelt. Insbesondere ist der zweite Zeittakt dabei länger als der erste Zeittakt, weiter insbesondere ist der dritte Zeittakt länger als der zweite Zeittakt. Dabei wird pro dritten Zeittakt eine zweite Anzahl von Positionswerten von der zweiten Queue-Datenstruktur an den Client übermittelt. Die zweite Anzahl ist dabei insbesondere größer als die erste Anzahl. Vorzugsweise ergibt sich die zweite Anzahl als Quotient von drittem zu erstem Zeittakt. In a third step, which is repeated continuously in a third time cycle, position values stored in the second queue data structure are transmitted to the client. In particular, the second clock is longer than the first clock, more particularly, the third clock is longer than the second clock. In this case, a second number of position values is transmitted from the second queue data structure to the client per third time clock. The second number is in particular greater than the first number. The second number preferably results as a quotient from the third to the first time cycle.

Insbesondere werden in der zweiten Queue-Datenstruktur hinterlegten Positionswerte gelöscht, nachdem diese an den Client übermittelt wurden. Sollte sich die Übertragung an den Client verzögern und nicht innerhalb des dritten Zeittakts durchgeführt werden, werden die Positionswerte in der zweiten Queue-Datenstruktur nicht gelöscht und im Zuge der nachfolgenden Übertragung gemäß dem dritten Zeittakt übermittelt. In particular, position values stored in the second queue data structure are deleted after they have been transmitted to the client. Should the transmission be delayed to the client and not be performed within the third time clock, the position values in the second queue data structure will not be deleted and transmitted in the course of the subsequent transmission according to the third time clock.

Eine Queue-Datenstruktur wird dabei nach einem First In-First Out-Prinzip (FIFO) beschrieben und ausgelesen. Elemente bzw. Speichereinträge werden in der Reihenfolge aus der Queue-Datenstruktur abgerufen, in welcher sie zuvor in der Queue-Datenstruktur abgelegt wurden. A queue data structure is described and read out according to a first-in-first-out principle (FIFO). Elements or memory entries are retrieved from the queue data structure in the order in which they were previously stored in the queue data structure.

Vorteile der Erfindung Advantages of the invention

Die Positionswerte des Aktuator werden nicht einzeln an den Client übertragen, sobald diese bestimmt werden. Stattdessen wird zunächst die erste Anzahl von Positionswerten in der ersten Queue-Datenstruktur gesammelt. Eine größere zweite Anzahl an Positionswerten wird in der zweiten Queue-Datenstruktur gesammelt. Insbesondere sämtliche Positionswerte, die innerhalb der Zeitdauer des dritten Zeittakts in der zweiten Queue-Datenstruktur gesammelt wurden, werden komplett an den Client übertragen. Der Client erhält somit nicht einzelne Positionswerte in unregelmäßigen Zeitabständen, sondern eine Vielzahl von Positionswerte in dem regelmäßigen Zeitabstand des dritten Zeittakts. Somit wird gewährleistet, dass dem Client stets kontinuierlich Positionswerte vorliegen. The position values of the actuator are not transmitted individually to the client as soon as they are determined. Instead, the first number of position values is first collected in the first queue data structure. A larger second number of position values is collected in the second queue data structure. In particular, all position values collected within the time period of the third time clock in the second queue data structure are completely transmitted to the client. The client thus does not receive individual position values at irregular intervals, but instead receives a plurality of position values in the regular Time interval of the third time clock. This ensures that the client always has position values continuously.

Der erste Zeittakt gibt an, in welchem Zeitabstand die Positionswerte bereitgestellt werden, also in welchem Zeittakt Daten von einer Datenquelle bereitgestellt werden. Der zweite Zeittakt gibt an, in welchem Zeitabstand die Positionswerte in die zweite Queue-Datenstruktur geschrieben werden. Der zweite Zeittakt kann auch als Sampling-Intervall bezeichnet werden. Der dritte Zeittakt gibt an, in welchem Zeitabstand die Daten aus der zweiten Queue-Datenstruktur ausgelesen und an den Client übertragen werden. Der dritte Zeittakt kann auch als Publishing-Intervall bezeichnet werden. The first time clock indicates the time interval at which the position values are provided, that is, at which time interval data is provided by a data source. The second time clock indicates the time interval at which the position values are written to the second queue data structure. The second clock can also be referred to as a sampling interval. The third clock indicates the interval at which the data is read from the second queue data structure and transmitted to the client. The third clock can also be called a publishing interval.

Die einzelnen Zeittakte können dabei insbesondere variiert und flexibel angepasst werden. Insbesondere wird der zweite Zeittakt angepasst. Somit wird insbesondere ermöglicht, dass der zweite Zeittakt an unterschiedliche Clients bzw. an unterschiedliche Bedürfnisse unterschiedlicher Clients angepasst wird. Unterschiedlichen Clients können somit Queue-Datenstrukturen mit unterschiedlichen Speicherkapazitäten und unterschiedlich große Zeittakte zugewiesen werden. The individual clock cycles can be varied and flexibly adjusted in particular. In particular, the second clock is adjusted. This makes it possible, in particular, for the second time clock to be adapted to different clients or to different needs of different clients. Different clients can thus be assigned queue data structures with different storage capacities and timing cycles of different sizes.

Die Positionswerte können absolute Positionen im Raum oder relative Positionen in Bezug auf einzelne Komponenten der Industriemaschine sein. Weiterhin können die Positionswerte Positionen des Aktuators beschreiben oder Positionen einer Komponente (beispielsweise eines Werkzeugs), welches über den Aktuator bewegt wird. The position values may be absolute positions in space or relative positions relative to individual components of the industrial machine. Furthermore, the position values may describe positions of the actuator or positions of a component (eg, a tool) that is moved over the actuator.

Die Positionswerte werden insbesondere im Zuge einer Bahninterpolation bestimmt, weiter insbesondere durch einen Interpolator der CNC-Steuerung. Die Positionswerte beschreiben insbesondere eine Bewegungsbahn. Insbesondere ist diese Bahnbewegung eine Soll-Bewegung, welche der Aktuator ausführen soll. Die CNC-Steuerung steuert den Aktuator entsprechend an, um diese Soll-Bewegung auszuführen. Dabei werden die Positionswerte insbesondere als Stützstellen für die Bahninterpolation bestimmt. Die Soll-Bewegung des Aktuators wird somit in diese einzelnen Stützstellen zerlegt. Die Positionswerte sind somit insbesondere Soll-Positionswerte für die Bahnbewegung. Die Positionswerte werden in einem festen Interpolationstakt bestimmt. Dieser Interpolationstakt bestimmt die Genauigkeit der Bahnbewegung. Der Interpolationstakt wird insbesondere vergleichsweise klein gewählt. Somit kann beispielsweise auch bei stark gekrümmten Bahnbewegungen oder hohen Geschwindigkeiten eine hohe Präzision der Bahnbewegung erreicht werden. Insbesondere entspricht der erste Zeittakt diesem Interpolationstakt. The position values are determined in particular in the course of a path interpolation, in particular by an interpolator of the CNC control. The position values describe in particular a trajectory. In particular, this path movement is a desired movement, which the actuator is to carry out. The CNC controls the actuator accordingly to perform this commanded movement. The position values are determined in particular as support points for the web interpolation. The desired movement of the actuator is thus decomposed into these individual nodes. The position values are thus in particular target position values for the web movement. The position values are determined in a fixed interpolation cycle. This interpolation cycle determines the accuracy of the path motion. The interpolation cycle is chosen to be comparatively small in particular. Thus, for example, even with highly curved path movements or high speeds, a high precision of the path movement can be achieved. In particular, the first clock corresponds to this interpolation clock.

Bevorzugt beträgt der erste Zeittakt bzw. der Interpolationstakt 1 ms. Die Positionswerte werden somit im Interpolationstakt in der ersten Queue-Datenstruktur gesammelt. Die Erfindung ermöglicht somit eine Übertragung kontinuierlicher Positionswerte des Aktuators der Industriemaschine mit einer festen Abtastrate, insbesondere im Millisekunden-Bereich. The first time clock or the interpolation clock is preferably 1 ms. The position values are thus collected in the interpolation cycle in the first queue data structure. The invention thus enables a transmission of continuous position values of the actuator of the industrial machine with a fixed sampling rate, in particular in the millisecond range.

Bevorzugt werden pro zweiten Zeittakt sämtliche in der ersten Queue-Datenstruktur hinterlegten Positionswerte in die zweite Queue-Datenstruktur geschrieben. Die erste Anzahl von Positionswerte, die pro zweiten Zeittakt von der ersten in die zweite Queue-Datenstruktur gespeichert werden, ist dabei aus dem Verhältnis von dem zweiten Zeittakt zu dem ersten Zeittakt bestimmt. Preferably, every second clock cycle stores all position values stored in the first queue data structure in the second queue data structure. The first number of position values stored per second time clock from the first to the second queue data structure is determined from the ratio of the second time clock to the first time clock.

Weiter bevorzugt werden pro dritten Zeittakt sämtliche in der zweiten Queue-Datenstruktur hinterlegten Positionswerte an den Client übermittelt. Die zweite Anzahl von Positionswerten, die pro dritten Zeittakt an den Client übermittelt werden, ist insbesondere aus dem Verhältnis von dem dritten Zeittakt zu dem ersten Zeittakt bestimmt. More preferably, all stored in the second queue data structure position values are transmitted to the client per third time clock. The second number of position values, which are transmitted to the client per third time clock, is determined in particular from the ratio of the third time clock to the first time clock.

Vorteilhafterweise ist die Anbindung des Clients an die CNC-Steuerung mittels der Kommunikationstechnologie OPC UA realisiert. OPC UA (OPC Unified Architecture) ist eine Weiterentwicklung der OLE for Process Control(OPC)-Technologie. OLE (Object Linking and Embedding) ist ein Objektsystem und Protokoll, das die Zusammenarbeit unterschiedlicher (OLE-fähiger) Applikationen und damit die Erstellung heterogener Verbunddokumente ermöglicht. Mittels der OPC wird eine komfortable und leistungsfähige Vernetzung verschiedenster Komponenten ermöglicht. OPC UA erweitert OPC um wesentliche Eigenschaften und ermöglicht einen standardisierten und herstellerübergreifenden Datenaustausch zwischen verschiedenen Komponenten, unabhängig von Programmiersprache und Betriebssystem. Die OPC UA Technologie ermöglicht eine einheitliche Vernetzung der CNC-Steuerung mit dem Client. Advantageously, the connection of the client to the CNC control is realized by means of the communication technology OPC UA. OPC UA (OPC Unified Architecture) is a further development of the OLE for Process Control (OPC) technology. Object Linking and Embedding (OLE) is an object system and protocol that enables the collaboration of different (OLE-enabled) applications and thus the creation of heterogeneous compound documents. The OPC enables a comfortable and efficient networking of various components. OPC UA extends OPC with essential features and enables standardized and vendor-independent data exchange between different components, regardless of programming language and operating system. The OPC UA technology enables uniform networking of the CNC control with the client.

Diese bevorzugte Ausführungsform der Erfindung ermöglicht somit eine Übertragung kontinuierlicher Positionswerte des Aktuators der Industriemaschine mit einer festen Abtastrate (insbesondere im Millisekunden-Bereich) bei gleichzeitigem Einsatz der Standardkommunikationstechnologie OPC UA. Die Erfindung kann auf einfache Weise ohne baulichen Aufwand und ohne hohe Kosten in einer Industriemaschine implementiert werden. This preferred embodiment of the invention thus enables a transmission of continuous position values of the actuator of the industrial machine with a fixed sampling rate (in particular in the millisecond range) with simultaneous use of the standard communication technology OPC UA. The invention can be implemented in a simple manner without structural complexity and without high costs in an industrial machine.

Bevorzugt erfolgt die Anbindung des Clients an die CNC-Steuerung mittels eines OPC UA Servers. Ziel eines derartige OPC UA Servers ist die Bereitstellung und Veröffentlichung von Informationen (insbesondere der Positionswerte), so dass diese dem Client zur Verfügung stehen. The connection of the client to the CNC control preferably takes place by means of an OPC UA server. The aim of such an OPC UA server is the provision and publication of Information (in particular the position values), so that they are available to the client.

Gemäß einer vorteilhaften Ausführungsform der Erfindung werden die in der ersten Queue-Datenstruktur hinterlegten Positionswerte mittels eines Subscriptions-Dienstes der OPC UA an den Client übermittelt. In einer OPC UA wird eine Vielzahl von Diensten bereitgestellt. Die verschiedenen Dienste sind insbesondere nach einem Request-Response-Prinzip aufgebaut, d.h. der Client sendet eine Anfrage-Nachricht (Request) an den Server, dieser verarbeitet die Nachricht und sendet eine Antwort-Nachricht (Response) an den Client zurück. Insbesondere abonniert der Client einen Subscriptions-Dienst der OPC UA bzw. des OPC UA Servers. Der Client meldet sich mittels des Subscriptions-Dienstes somit bei dem OPC UA Server an, um mittels einer Subscription die Positionswerte des Aktuators der Industriemaschine zu erhalten. According to an advantageous embodiment of the invention, the position values stored in the first queue data structure are transmitted to the client by means of a subscription service of the OPC UA. In an OPC UA, a variety of services are provided. The various services are constructed in particular according to a request-response principle, i. the client sends a request message to the server, which processes the message and sends back a response message to the client. In particular, the client subscribes to a subscription service of the OPC UA or the OPC UA server. The client thus logs on to the OPC UA server by means of the subscription service in order to obtain the position values of the actuator of the industrial machine by means of a subscription.

Ein derartiger Subscriptions-Dienst ermöglicht das Erstellen, Verändern und Löschen von Subscriptionen. Eine Subscription umfasst ein oder mehrere Überwachungsobjekte (Monitored Items), die Benachrichtigungen (Notifications) generieren. Die Subscription sendet in einem bestimmten Intervall (Publishing Intervall) die gesammelten Benachrichtigungen an den Client. Das Überwachungsobjekt ist dabei insbesondere ein sogenanntes Sammeldatenobjekt (Aggregated Data). Dabei wird ein Wert einer Variablen mit einem vergleichsweise kleinen Abtastintervall gelesen und auf Basis dieser Werte wird eine Berechnung (insbesondere Interpolation) durchgeführt. Die Berechnung erfolgt dabei in einem Sampling Intervall des Überwachungsobjekts. Such a subscription service enables the creation, modification and deletion of subscriptions. A subscription includes one or more monitored items that generate notifications. The subscription sends the collected notifications to the client at a certain interval (Publishing Interval). The monitoring object is in particular a so-called aggregated data object. In this case, a value of a variable with a comparatively small sampling interval is read, and based on these values, a calculation (in particular interpolation) is carried out. The calculation is carried out in a sampling interval of the monitored object.

Vorteilhafterweise werden die in der ersten Queue-Datenstruktur hinterlegten Positionswerte in dem zweiten Zeittakt in ein Überwachungsobjekt des Subscription Dienstes der OPC UA geschrieben. Der zweite Zeittakt entspricht dabei dem Sampling Intervall des Überwachungsobjekts. Das Überwachungsobjekt wird somit als zweite Queue-Datenstruktur verwendet. Bevorzugt beträgt der zweite Zeittakt bzw. das Sampling Intervall dabei 10 ms. Insbesondere besitzt das Überwachungsobjekt eine Speicherkapazität von wenigstens 100 Speichereinträgen. Wie weiter oben erläutert, können die Speicherkapazität des Überwachungsobjekts und die Dauer des Sampling Intervalls auch insbesondere flexibel variiert und für unterschiedliche Clients entsprechend gewählt werden. Vorzugsweise beträgt der zweite Zeittakt mindestens das Fünffache bis mindestens das Zehnfache des ersten Zeittakts und/oder der dritte Zeittakt (204a) beträgt mindestens das Fünfzigfache bis mindestens das Hundertfache des ersten Zeittakts (201a) und/oder der dritte Zeittakt (204a) beträgt mindestens das Fünffache bis mindestens das Zehnfache des zweiten Zeittakts (203a). Advantageously, the position values stored in the first queue data structure are written to a monitoring object of the subscription service of the OPC UA in the second time cycle. The second clock corresponds to the sampling interval of the monitored object. The monitoring object is thus used as a second queue data structure. Preferably, the second clock cycle or the sampling interval is 10 ms. In particular, the monitoring object has a storage capacity of at least 100 memory entries. As explained above, the storage capacity of the monitored object and the duration of the sampling interval can also be flexibly varied in particular and selected accordingly for different clients. Preferably, the second timing is at least five times to at least ten times the first timing and / or the third timing ( 204a ) is at least fifty times to at least 100 times the first timetable ( 201 ) and / or the third time clock ( 204a ) is at least five times to at least ten times the second time clock ( 203a ).

Das Überwachungsobjekt generiert entsprechende Benachrichtigungen. Die Subscription sendet in dem dritten Zeittakt bevorzugt die gesammelten Benachrichtigungen sowie das Überwachungsobjekt mit sämtlichen darin gespeicherten Positionswerten an den Client. The monitoring object generates corresponding notifications. In the third time cycle, the subscription preferably sends the collected notifications and the monitoring object with all the position values stored therein to the client.

Somit werden die in der zweiten Queue-Datenstruktur hinterlegten Positionswerte an den Client übermittelt. Der dritte Zeittakt entspricht dabei insbesondere dem Publishing Intervall der Subscription. Bevorzugt beträgt der dritte Zeittakt bzw. das Publishing Intervall dabei 100 ms. Thus, the position values stored in the second queue data structure are transmitted to the client. The third time cycle corresponds in particular to the publishing interval of the subscription. Preferably, the third clock cycle or the publishing interval is 100 ms.

Insbesondere wird der Subscription Dienst mittels einer Oversampling-Funktion implementiert. Mittels einer derartigen Oversampling-Funktion kann eine Überabtastung (Oversampling) der Bahnbewegung des Aktuators durchgeführt werden. Wenn die Positionswerte, die beispielsweise im Zuge einer herkömmlichen Bahninterpolation bestimmt werden, in der ersten Queue-Datenstruktur gesammelt werden, dann werden genau die Positionswerte an den Client übertragen, gemäß welchen der Aktuator angesteuert wird, um die entsprechende Bahnbewegung auszuführen. Im Gegensatz dazu können die Positionswerte auch durch eine derartige Oversampling-Funktion gewonnen werden und mittels des Subscriptions-Dienstes der OPC UA an den Client übermittelt werden. Mittels einer derartigen Überabtastung werden dem Client somit mehr Positionswerte übermittelt als dem Aktuator. Beispielsweise kann der Client die Bahnbewegung des Aktuators somit mit einer höheren Präzision und einer größeren Genauigkeit nachverfolgen. In particular, the subscription service is implemented by means of an oversampling function. By means of such an oversampling function, an oversampling of the path movement of the actuator can be performed. If the position values determined, for example, in the course of a conventional path interpolation are collected in the first queue data structure, then exactly the position values are transmitted to the client, according to which the actuator is controlled to perform the corresponding path movement. In contrast, the position values can also be obtained by such an oversampling function and transmitted to the client by means of the subscription service of the OPC UA. By means of such oversampling, the client is thus given more position values than the actuator. For example, the client can track the path motion of the actuator with greater precision and accuracy.

Im Gegensatz zu herkömmlichen CNC-Steuerungen werden die Positionswerte des Aktuators nicht einzeln an den Client übertragen. Stattdessen wird zunächst eine Vielzahl von Positionswerten in dem ersten Zeittakt in der ersten Queue-Datenstruktur gesammelt. Mittels des Subscriptions-Diensts der OPC UA werden diese gesammelten Positionswerte an den Client gemeinsam übertragen. Die Übertragung der Positionswerte wird somit mittels eines weiterentwickelten OPC UA Servers durchgeführt, bzw. mittels eines Dienstes, welcher von einem derartigen OPC UA Server bereitgestellt wird. Die Erfindung kann somit ohne baulichen Aufwand und ohne zusätzliche Kosten implementiert werden. In contrast to conventional CNC controls, the position values of the actuator are not transmitted individually to the client. Instead, a plurality of position values are first collected in the first clock in the first queue data structure. By means of the subscription service of the OPC UA, these collected position values are transmitted jointly to the client. The transmission of the position values is thus carried out by means of a further developed OPC UA server, or by means of a service provided by such an OPC UA server. The invention can thus be implemented without structural complexity and without additional costs.

Gemäß einer besonders bevorzugten Ausführungsform der Erfindung wird als Client eine Echtzeitsimulation der Industriemaschine durchgeführt. Mittels einer derartigen Echtzeitsimulation kann eine digitale Visualisierung der Bearbeitung des Werkstücks durch die Industriemaschine ermöglicht bzw. simuliert werden. Die Echtzeitsimulation wird insbesondere von einer externen Recheneinheit, beispielsweise von einem Computer, durchgeführt. Mittels der Echtzeitsimulation kann der Herstellungsprozess somit nachvollzogen bzw. überwacht werden. An der externen Recheneinheit wird somit visuell According to a particularly preferred embodiment of the invention, a real-time simulation of the industrial machine is performed as a client. By means of such a real-time simulation, a digital visualization of the machining of the workpiece by the industrial machine can be made possible or simulated. The real-time simulation is carried out in particular by an external computing unit, for example by a computer. By means of Real-time simulation, the manufacturing process can thus be reproduced or monitored. At the external arithmetic unit is thus visually

dargestellt, wie das Werkstück von der Industriemaschine bearbeitet wird. Eine derartige Echtzeitsimulation kann beispielsweise nützlich sein, wenn eine eingeschränkte Sicht in die Industriemaschine gegeben ist und das Werkstück in der Industriemaschine mit bloßem Auge nur schwer zu erkennen ist oder wenn die Industriemaschine während des Herstellungsprozesses nicht geöffnet werden kann oder aus Sicherheitsgründen nicht geöffnet werden darf. shown how the workpiece is processed by the industrial machine. Such a real-time simulation can be useful, for example, if a limited view is given in the industrial machine and the workpiece in the industrial machine with the naked eye is difficult to see or if the industrial machine can not be opened during the manufacturing process or for safety reasons may not be opened.

Um die Echtzeitsimulation durchzuführen, müssen die aktuellen Positionswerte des Aktuators vorliegen. Die Positionswerte sollen dabei kontinuierlich in konstanten Zeitabständen von der CNC-Steuerung übermittelt werden, also mit einer festen, homogenen, kontinuierlichen Abtastrate. Dies ist in herkömmlichen Industriemaschinen mit herkömmlichen CNC-Steuerungen zumeist nicht möglich. Hingegen können die Positionswerte mittels der Erfindung von der CNC-Steuerung an die Echtzeitsimulation in kontinuierlichen, konstanten Abständen übermittelt werden, also mit einer homogenen, kontinuierlichen Abtastrate. Die Echtzeitsimulation kann somit mit einer größtmöglichen Präzision durchgeführt werden. To perform the real-time simulation, the current position values of the actuator must be present. The position values should be continuously transmitted at constant intervals by the CNC control, ie with a fixed, homogeneous, continuous sampling rate. This is usually not possible in conventional industrial machines with conventional CNC controls. By contrast, the position values can be transmitted by means of the invention from the CNC control to the real-time simulation in continuous, constant intervals, ie with a homogeneous, continuous sampling rate. The real-time simulation can thus be carried out with the greatest possible precision.

Bevorzugt ist die erste Queue-Datenstruktur als ein Ringpuffer ausgebildet. Ein Ringpuffer besitzt dabei, im Gegensatz zu anderen Queue-Datenstrukturen, eine feste Größe. Ringpuffer umfassen dabei zumeist zwei Zeiger. Ein erster Zeiger (In-Pointer) charakterisiert dabei den Anfang des Ringpuffers, an welchem neue Einträge in den Ringpuffer geschrieben werden. Ein zweiter Zeiger (Out-Pointer) charakterisiert das Ende des Ringpuffers, an welchem die Speichereinträge des Ringpuffers gelesen werden. Wenn der Ringpuffer voll ist, werden die ältesten Elemente bzw. Speichereinträge überschrieben, um weitere neuere Elemente bzw. Speichereinträge in den Ringpuffer zu schreiben. Insbesondere besitzt der Ringpuffer eine Speicherkapazität von wenigstens 10000 Speichereinträgen. Preferably, the first queue data structure is designed as a ring buffer. A ring buffer has, in contrast to other queue data structures, a fixed size. Ring buffers usually comprise two pointers. A first pointer (in-pointer) characterizes the beginning of the ring buffer at which new entries are written to the ring buffer. A second pointer (out pointer) characterizes the end of the circular buffer at which the memory entries of the circular buffer are read. When the ring buffer is full, the oldest elements or memory entries are overwritten to write more recent elements or memory entries into the circular buffer. In particular, the ring buffer has a storage capacity of at least 10,000 memory entries.

Weiter bevorzugt ist die erste Queue-Datenstruktur als ein Array ausgebildet. Bei einem Ringpuffer werden die Positionswerte einzeln eingelesen und einzeln in die zweite Queue-Datenstruktur übermittelt. Ist die erste Queue-Datenstruktur als ein Array ausgebildet, können sämtliche darin gespeicherten Positionswerte simultan als ein Block an die zweite Queue-Datenstruktur übermittelt werden. Somit kann Rechenzeit eingespart werden und ein Datenverkehr verringert werden. More preferably, the first queue data structure is designed as an array. With a ring buffer, the position values are read in one by one and transferred individually to the second queue data structure. If the first queue data structure is designed as an array, all position values stored therein can be transmitted simultaneously as a block to the second queue data structure. Thus, computing time can be saved and traffic can be reduced.

Alternativ oder zusätzlich ist die zweite Queue-Datenstruktur bevorzugt als ein Array ausgebildet. Somit wird das Schreiben bzw. Kopieren der Positionswerte von der ersten Queue-Datenstruktur in die zweite Queue-Datenstruktur vereinfacht. Für dieses Schreiben bzw. Kopieren sämtlicher Positionswerte wird in diesem Fall nur ein einziger Befehl benötigt. Weiterhin wird somit ein Speicherbedarf der zweiten Queue-Datenstruktur verringert. Die zweite Queue-Datenstruktur ist dabei als ein einziges Datenelement ausgebildet bzw. wird als ein einziges Datenelement an den Client übermittelt und nicht als eine Liste von mehreren Datenelementen. Ein Datenelement beinhaltet dabei jeweils zusätzliche Daten, beispielsweise einen Zeitstempel. Somit muss nicht jeder einzelne Positionswert als ein Datenelement mit derartigen zusätzlichen Daten in der zweiten Queue-Datenstruktur hinterlegt werden. Alternatively or additionally, the second queue data structure is preferably designed as an array. This simplifies the writing or copying of the position values from the first queue data structure to the second queue data structure. For this writing or copying of all position values only a single command is needed in this case. Furthermore, a memory requirement of the second queue data structure is thus reduced. The second queue data structure is embodied as a single data element or is transmitted as a single data element to the client and not as a list of several data elements. Each data element contains additional data, for example a time stamp. Thus, not every single position value has to be stored as a data element with such additional data in the second queue data structure.

Vorzugsweise wird ein IndraMotion System, weiter insbesondere ein IndraMotion MTX System als CNC-Steuerung verwendet. IndraMotion ist ein industrielles Steuerungssystem bzw. ein Motion-Logic-System der Firma Bosch Rexroth. Das IndraMotion-System bietet eine Steuerungsplattform, mit der auf einfache Weise Aktuatoren der Industriemaschine einfach und flexibel gesteuert werden können. Weiterhin können mittels des IndraMotion-Systems beispielsweise auch elektronische Getriebe, Kurvenscheiben und komplexe Bewegungsabläufe der Industriemaschine gesteuert werden. Insbesondere kann eine vollständige Funktionalität für mehrachsige Bahninterpolation im Raum erreicht werden. An IndraMotion system, in particular an IndraMotion MTX system, is preferably used as the CNC controller. IndraMotion is an industrial control system or a motion logic system from Bosch Rexroth. The IndraMotion system provides a control platform that allows easy and flexible control of industrial machine actuators. Furthermore, by means of the IndraMotion system, for example, electronic transmissions, cams and complex movements of the industrial machine can be controlled. In particular, complete functionality for multi-axis web interpolation in space can be achieved.

Insbesondere wird die erfindungsgemäße Übertragung der Positionswerte des Aktuators der Industriemaschine somit mittels eines (weiterentwickelten) OPC UA Servers durchgeführt, welcher auf dem IndraMotion System zur Steuerung der Industriemaschine implementiert ist. In particular, the inventive transmission of the position values of the actuator of the industrial machine is thus carried out by means of an (enhanced) OPC UA server, which is implemented on the IndraMotion system for controlling the industrial machine.

Eine erfindungsgemäße Recheneinheit, z.B. ein Steuergerät einer Werkzeugmaschine, insbesondere ein CNC-Steuergerät, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen. An arithmetic unit according to the invention, e.g. a control device of a machine tool, in particular a CNC control device, is, in particular programmatically, adapted to perform a method according to the invention.

Auch die Implementierung der Erfindung in Form von Software ist vorteilhaft, da dies besonders geringe Kosten ermöglicht, insbesondere wenn eine ausführende Recheneinheit noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Disketten, Also, the implementation of the invention in the form of software is advantageous because this allows very low cost, especially if an executing processing unit is still used for other tasks and therefore already exists. Suitable data carriers for providing the computer program are in particular floppy disks,

Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich. Hard disks, flash memory, EEPROMs, CD-ROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben. The invention is illustrated schematically by means of exemplary embodiments in the drawing and will be described in detail below with reference to the drawing.

Figurenbeschreibung figure description

1 zeigt schematisch eine bevorzugte Ausgestaltung einer Industriemaschine, die dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen. 1 schematically shows a preferred embodiment of an industrial machine, which is adapted to perform a preferred embodiment of a method according to the invention.

2 zeigt schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens als ein Blockdiagramm. 2 schematically shows a preferred embodiment of a method according to the invention as a block diagram.

Detaillierte Beschreibung der Zeichnung Detailed description of the drawing

In 1 ist eine bevorzugte Ausgestaltung einer Industriemaschine schematisch dargestellt und mit 100 bezeichnet. Die Industriemaschine 100 umfasst eine Werkzeugmaschine 110, mittels welcher ein Werkstück 111 hergestellt wird. Zu diesem Zweck wird das Werkstück 111 mittels eines Werkzeugs 112 bearbeitet. Das Werkzeug 112 kann mittels entsprechender Aktuatoren 113a, 113b, 113c entlang dreier Bewegungsachsen dreidimensional bewegt werden. In 1 is a preferred embodiment of an industrial machine shown schematically and with 100 designated. The industrial machine 100 includes a machine tool 110 , by means of which a workpiece 111 will be produced. For this purpose, the workpiece 111 by means of a tool 112 processed. The tool 112 can by means of appropriate actuators 113a . 113b . 113c be moved three-dimensionally along three axes of movement.

Die Werkzeugmaschine 110 wird mittels einer CNC-Steuerung 120 angesteuert. Die CNC-Steuerung 120 umfasst dabei sowohl Steuerprogramme als Software-Komponente, als auch ein Steuergerät als eine Hardware-Komponente, auf welchem die Steuerprogramme ausgeführt werden. In diesem Beispiel ist die CNC-Steuerung 120 als ein IndraMotion MTX System der Firma Bosch Rexroth ausgestaltet. The machine tool 110 is by means of a CNC control 120 driven. The CNC control 120 includes both control programs as a software component, as well as a controller as a hardware component on which the control programs are executed. In this example is the CNC control 120 designed as an IndraMotion MTX system from Bosch Rexroth.

An die CNC-Steuerung 120 ist ein Client 130 angebunden. Der Client 130 umfasst dabei sowohl eine Hardware- als auch eine Software-Komponente. Die Software-Komponente ist dabei eine Echtzeitsimulation der Industriemaschine. Diese Echtzeitsimulation wird auf der Hardware-Komponente des Clients 130 ausgeführt. Diese Hardware-Komponente ist in diesem Beispiel als ein Computer 131, beispielsweise ein Laptop oder ein Tablet PC, ausgebildet. Der Computer 131 und die CNC-Steuerung 120 sind mittels einer geeigneten Verbindung miteinander verbunden und können über diese Verbindung miteinander kommunizieren. In diesem Beispiel ist diese Verbindung als eine WLAN-Verbindung 125 ausgebildet. To the CNC control 120 is a client 130 tethered. The client 130 includes both a hardware and a software component. The software component is a real-time simulation of the industrial machine. This real-time simulation is done on the hardware component of the client 130 executed. This hardware component is in this example as a computer 131 , For example, a laptop or a tablet PC trained. The computer 131 and the CNC control 120 are interconnected by means of a suitable connection and can communicate with each other via this connection. In this example, this connection is considered a Wi-Fi connection 125 educated.

Mittels der Echtzeitsimulation kann eine digitale Visualisierung der Bearbeitung des Werkstücks 111 ermöglicht werden. Auf einem Bildschirm des Computers 131 wird dabei eine Bewegung bzw. eine Bewegungsbahn des Werkzeug 112 visuell dargestellt, angedeutet durch Bezugszeichen 132. Mittels der Echtzeitsimulation kann der Herstellungsprozess des Werkstücks 111 überwacht werden. Using real-time simulation, a digital visualization of the machining of the workpiece 111 be enabled. On a screen of the computer 131 is doing a movement or a trajectory of the tool 112 visually represented, indicated by reference numerals 132 , By means of real-time simulation, the manufacturing process of the workpiece 111 be monitored.

Die CNC-Steuerung 120 bestimmt für jeden der drei Aktuatoren 113a, 113b, 113c Positionswerte als Soll-Werte der Bewegungsbahn, gemäß welcher das Werkzeug 112 bewegt werden soll, um das Werkstück 111 zu bearbeiten. Diese Positionswerte sollen zur Durchführung der Echtzeitsimulation von der CNC-Steuerung 120 an den Client 130 bzw. an den Computer 131 übertragen werden. Zu diesem Zweck ist der Client 130 mittels eine OPC UA Architektur an die CNC-Steuerung 120 angebunden. The CNC control 120 determined for each of the three actuators 113a . 113b . 113c Position values as desired values of the trajectory, according to which the tool 112 should be moved to the workpiece 111 to edit. These position values are intended to carry out the real-time simulation of the CNC control 120 to the client 130 or to the computer 131 be transmitted. For this purpose is the client 130 by means of an OPC UA architecture to the CNC control 120 tethered.

Die Industriemaschine 100 ist dazu eingerichtet ist, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen, um die Positionswerte der Aktuatoren 130a, 130b, 130c an den Client 130 zu übermitteln. Die bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens ist in 2 schematisch als ein Blockdiagramm 200 dargestellt. The industrial machine 100 is configured to perform a preferred embodiment of a method according to the invention, the position values of the actuators 130a . 130b . 130c to the client 130 to convey. The preferred embodiment of a method according to the invention is in 2 schematically as a block diagram 200 shown.

In einem ersten Schritt 201 werden die Positionswerte der drei Aktuatoren 130, 130b, 130c im Zuge einer Bahninterpolation durch einen Interpolator der CNC-Steuerung bestimmt. Die bestimmten Positionswerte werden in einer als Ringpuffer ausgebildeten ersten Queue-Datenstruktur gespeichert. Die Bestimmung und das Speichern der Positionswerte in dem Ringpuffer werden in regelmäßigen Abständen im Zuge eines ersten Zeittakts wiederholt, angedeutet durch das Bezugszeichen 201a. Dieser ersten Zeittakt ist dabei ein Interpolationstakt des Interpolators und beträgt 1 ms. In a first step 201 become the position values of the three actuators 130 . 130b . 130c in the course of a path interpolation determined by an interpolator of the CNC control. The determined position values are stored in a first queue data structure designed as a ring buffer. The determination and storage of the position values in the ring buffer are repeated at regular intervals in the course of a first time clock, indicated by the reference numeral 201 , This first clock is an interpolation clock of the interpolator and is 1 ms.

In Schritt 202 werden sämtliche in dem Ringpuffer hinterlegten Positionswerte mittels eines Subscriptions-Dienstes an den Client 130 übermittelt. Dieser Subscriptions-Dienst wird von der OPC UA, insbesondere von einem OPC UA Server, bereitgestellt. Dabei werden in einem Schritt 203 zunächst die in dem Ringpuffer hinterlegten Positionswerte in ein Überwachungsobjekt (Monitored Item) des Subscriptions-Dienstes gespeichert. Dieses Überwachungsobjekt ist dabei eine zweite Queue-Datenstruktur. In step 202 All position values stored in the ring buffer are sent to the client by means of a subscription service 130 transmitted. This subscription service is provided by the OPC UA, in particular by an OPC UA server. It will be in one step 203 First stored in the ring buffer position values stored in a monitoring object (Monitored Item) of the subscription service. This monitoring object is a second queue data structure.

Dieses Speichern der Positionswerte in das Überwachungsobjekt wird in regelmäßigen Abständen im Zuge eines zweiten Zeittakts wiederholt, angedeutet durch das Bezugszeichen 203a. Dieser zweite Zeittakt ist dabei ein Sampling Intervall des Überwachungsobjekts und beträgt 10 ms. Somit wird alle 10 ms eine erste Anzahl von zehn Positionswerten aus dem Ringpuffer in das Überwachungsobjekt gespeichert. This storage of the position values in the monitoring object is repeated at regular intervals in the course of a second time clock, indicated by the reference numeral 203a , This second clock cycle is a sampling interval of the monitored object and is 10 ms. Thus, a first number of ten position values from the ring buffer are stored in the monitoring object every 10 ms.

In Schritt 204 werden sämtliche in dem Überwachungsobjekt hinterlegten Positionswerte mitsamt einer Notification Benachrichtigung, die von dem Überwachungsobjekt generiert werden, über die WLAN-Verbindung 125 an den Client 130 übermittelt. Dieses Übermitteln der in dem Überwachungsobjekt hinterlegten Positionswerte wird ebenfalls in regelmäßigen Abständen im Zuge eines dritten Zeittakts wiederholt, angedeutet durch das Bezugszeichen 204a. Dieser dritte Zeittakt ist dabei ein Publishing Intervall des Subscription Dienstes und beträgt 100 ms. Somit wird alle 100 ms eine zweite Anzahl von 100 Positionswerten von der CNC-Steuerung 120 an den Client 130 übermittelt. In step 204 All position values stored in the monitoring object, together with a notification notification generated by the monitoring object, are transmitted via the WLAN connection 125 to the client 130 transmitted. This transfer of the stored in the monitoring object position values is also repeated at regular intervals in the course of a third time clock, indicated by the reference numeral 204a , This third clock is a publishing interval of the subscription service and is 100 ms. Thus, every 100 ms, a second number of 100 position values from the CNC controller 120 to the client 130 transmitted.

Dem Client 130 wird somit in festen regelmäßigen Zeitabständen von 100 ms eine Vielzahl von Positionswerten übermittelt. Diese Positionswerte werden als Eingangsparameter für die Echtzeitsimulation der Werkzeugmaschine 110 verwendet. Auf dem Computer 131 wird somit mittels der Positionswerte der drei Aktuatoren 130, 130b, 130c die Bahnbewegung des Werkzeugs 112 simuliert visuell dargestellt (132). The client 130 Thus, a plurality of position values is transmitted at fixed regular time intervals of 100 ms. These position values are used as input parameters for the real-time simulation of the machine tool 110 used. On the computer 131 is thus using the position values of the three actuators 130 . 130b . 130c the path movement of the tool 112 simulated visually ( 132 ).

Claims (14)

Verfahren zum Betreiben einer Industriemaschine (100) mit wenigstens einem Aktuator (130a, 130b, 130c), – wobei die Industriemaschine (100) mittels einer CNC-Steuerung (120) gesteuert wird, – wobei ein Client (130) an die CNC-Steuerung (120) angebunden ist, – wobei in einem ersten Zeittakt (201a) Positionswerte des Aktuators (130a, 130b, 130c) der Industriemaschine von der CNC-Steuerung (120) bestimmt werden und in eine erste Queue-Datenstruktur geschrieben werden (201), – wobei in einem zweiten Zeittakt (203a) eine erste Anzahl von Positionswerten aus der ersten Queue-Datenstruktur von der CNC-Steuerung (120) in eine zweite Queue- Datenstruktur geschrieben werden (203), – wobei in einem dritten Zeittakt (204a) eine zweite Anzahl von Positionswerten aus der zweiten Queue-Datenstruktur von der CNC-Steuerung (120) an den Client (130) übermittelt werden (204), wobei die zweite Anzahl größer als die erste Anzahl ist. Method for operating an industrial machine ( 100 ) with at least one actuator ( 130a . 130b . 130c ), - whereby the industrial machine ( 100 ) by means of a CNC control ( 120 ), whereby a client ( 130 ) to the CNC control ( 120 ), whereby - in a first time cycle ( 201 ) Position values of the actuator ( 130a . 130b . 130c ) of the industrial machine from the CNC control ( 120 ) and written to a first queue data structure ( 201 ), - in a second time cycle ( 203a ) a first number of position values from the first queue data structure from the CNC controller ( 120 ) are written to a second queue data structure ( 203 ), - in a third time cycle ( 204a ) a second number of position values from the second queue data structure from the CNC controller ( 120 ) to the client ( 130 ) ( 204 ), the second number being greater than the first number. Verfahren nach Anspruch 1, wobei in dem zweiten Zeittakt (203a) sämtliche Positionswerte aus der ersten Queue-Datenstruktur von der CNC-Steuerung (120) in die zweite Queue-Datenstruktur geschrieben werden (203). The method of claim 1, wherein in the second clock ( 203a ) all position values from the first queue data structure of the CNC control ( 120 ) are written to the second queue data structure ( 203 ). Verfahren nach Anspruch 1 oder 2, wobei in dem dritten Zeittakt (204a) sämtliche Positionswerten aus der zweiten Queue-Datenstruktur von der CNC-Steuerung (120) an den Client (130) übermittelt werden (204). Method according to claim 1 or 2, wherein in the third time clock ( 204a ) all position values from the second queue data structure from the CNC control ( 120 ) to the client ( 130 ) ( 204 ). Verfahren nach einem der vorstehenden Ansprüche, wobei der Client (130) mittels einer OPC UA an die CNC-Steuerung (120) angebundenen ist. Method according to one of the preceding claims, wherein the client ( 130 ) by means of an OPC UA to the CNC control ( 120 ) is connected. Verfahren nach Anspruch 4, wobei der Client (130) mittels eines OPC UA-Servers an die CNC-Steuerung (120) angebundenen ist. The method of claim 4, wherein the client ( 130 ) by means of an OPC UA server to the CNC control ( 120 ) is connected. Verfahren nach Anspruch 4 oder 5, wobei die in der ersten Queue-Datenstruktur hinterlegten Positionswerte mittels eines Subscriptions-Dienstes der OPC UA an den Client übermittelt werden (202). Method according to Claim 4 or 5, the position values stored in the first queue data structure being transmitted to the client by means of a subscription service of the OPC UA ( 202 ). Verfahren nach Anspruch 6, wobei in dem zweiten Zeittakt (203a) die in der ersten Queue-Datenstruktur hinterlegten Positionswerte in ein Überwachungsobjekt des Subscriptions-Dienstes der OPC UA geschrieben werden (203) und wobei in dem dritten Zeittakt (204a) die in dem Überwachungsobjekt hinterlegten Positionswerte von dem Subscriptions-Dienst der OPC UA an den Client (130) übermittelt werden (204). Method according to claim 6, wherein in the second time clock ( 203a ) the position values stored in the first queue data structure are written to a monitoring object of the subscription service of the OPC UA ( 203 ) and wherein in the third time clock ( 204a ) the position values stored in the monitoring object from the subscription service of the OPC UA to the client ( 130 ) ( 204 ). Verfahren nach einem der vorstehenden Ansprüche, wobei als Client (130) eine Echtzeitsimulation der Industriemaschine (100) durchgeführt wird. Method according to one of the preceding claims, wherein as client ( 130 ) a real-time simulation of the industrial machine ( 100 ) is carried out. Verfahren nach einem der vorstehenden Ansprüche, wobei die erste Queue-Datenstruktur als ein Ringpuffer ausgebildet ist.  Method according to one of the preceding claims, wherein the first queue data structure is formed as a ring buffer. Verfahren nach einem der vorstehenden Ansprüche, wobei die erste Queue-Datenstruktur und/oder die zweite Queue-Datenstruktur als ein Array ausgebildet sind.  Method according to one of the preceding claims, wherein the first queue data structure and / or the second queue data structure are formed as an array. Verfahren nach einem der vorstehenden Ansprüche, wobei der zweite Zeittakt (203a) mindestens das Fünffache bis mindestens das Zehnfache des ersten Zeittakts (201a) beträgt und/oder wobei der dritte Zeittakt (204a) mindestens das Fünfzigfache bis mindestens das Hundertfache des ersten Zeittakts (201a) beträgt und/oder wobei der dritte Zeittakt (204a) mindestens das Fünffache bis mindestens das Zehnfache des zweiten Zeittakts (203a) beträgt. Method according to one of the preceding claims, wherein the second time clock ( 203a ) at least five times to at least ten times the first time clock ( 201 ) and / or wherein the third time clock ( 204a ) at least fifty times to at least 100 times the first timetable ( 201 ) and / or wherein the third time clock ( 204a ) at least five times to at least ten times the second time clock ( 203a ) is. Recheneinheit, die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen.  Arithmetic unit which is adapted to carry out a method according to one of the preceding claims. Computerprogramm, das eine Recheneinheit veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 11 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird.  A computer program that causes a computing unit to perform a method according to any one of claims 1 to 11 when executed on the computing unit. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 13. Machine-readable storage medium with a computer program stored thereon according to claim 13.
DE102014203428.0A 2014-02-26 2014-02-26 Method for operating an industrial machine Pending DE102014203428A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102014203428.0A DE102014203428A1 (en) 2014-02-26 2014-02-26 Method for operating an industrial machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014203428.0A DE102014203428A1 (en) 2014-02-26 2014-02-26 Method for operating an industrial machine

Publications (1)

Publication Number Publication Date
DE102014203428A1 true DE102014203428A1 (en) 2015-08-27

Family

ID=53782467

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014203428.0A Pending DE102014203428A1 (en) 2014-02-26 2014-02-26 Method for operating an industrial machine

Country Status (1)

Country Link
DE (1) DE102014203428A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016110729A1 (en) * 2016-06-10 2017-12-14 Wago Verwaltungsgesellschaft Mbh Method, computer program and system for transferring a file
DE102018208788A1 (en) 2018-06-05 2019-12-05 Robert Bosch Gmbh transfer process
DE102018210615A1 (en) 2018-06-28 2020-01-02 Robert Bosch Gmbh transfer process

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69432841T2 (en) * 1993-04-28 2004-05-06 Allen-Bradley Co., Milwaukee Method and device for digital data transmission in a communications network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69432841T2 (en) * 1993-04-28 2004-05-06 Allen-Bradley Co., Milwaukee Method and device for digital data transmission in a communications network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016110729A1 (en) * 2016-06-10 2017-12-14 Wago Verwaltungsgesellschaft Mbh Method, computer program and system for transferring a file
DE102016110729B4 (en) 2016-06-10 2024-05-16 Wago Verwaltungsgesellschaft Mbh Method, computer program and system for transferring a file
DE102018208788A1 (en) 2018-06-05 2019-12-05 Robert Bosch Gmbh transfer process
DE102018210615A1 (en) 2018-06-28 2020-01-02 Robert Bosch Gmbh transfer process

Similar Documents

Publication Publication Date Title
DE102018205015B4 (en) Adjustment device and adjustment method
DE2330054C2 (en) Device for controlling the movement of a working element of a robot arm
EP1970783B1 (en) Method, control system and device for controlling an automatization system
EP2796952B1 (en) Numerical controller capable of changing the part program
DE102017207822A1 (en) DEVICE FOR PROCESSING A MACHINING PROGRAM AND THEREFORE EQUIPPED MULTIPLE MACHINING MACHINE
EP2796954B1 (en) Numerical controller with notification of a CAM system when the part program is changed
EP1224512B1 (en) Control system of a numerical tool machine with a reusable software structure
DE102005037779A1 (en) Numerical control unit
DE10304706A1 (en) Control of a plant in which there are a number of different machine systems linked onto a data bus and using programmable controllers that store historical data
DE102020122373A1 (en) Machine learning apparatus, servo control apparatus, servo control system and machine learning method
DE102017215508A1 (en) Automation system with at least one field device and at least one control unit
EP2628574B1 (en) Method for simulating a processing machine
DE102014203428A1 (en) Method for operating an industrial machine
EP3356894B1 (en) Method for the automatic configuration of an external control system for the open-loop and/or closed-loop control of a robot system
DE10144788A1 (en) Process data recording method e.g. for robot, involves storing process data in data buffer memory having first-in-first out characteristic
DE112019007579T5 (en) Numerical control device and machine learning device
EP3438773B1 (en) Processing of workpieces with model-supported error compensation
DE112005002185B4 (en) Method for operating an automation device or device for carrying out the method
EP1692579B1 (en) Method and device for operating interacting different units
EP3420426B1 (en) Device and method for adapting a numerical control system to a machine to be controlled
EP3955073A1 (en) Operation of a machine tool with at least two axes
WO2010118864A1 (en) Method for providing information about the wear and tear of a component of a machine and method for providing a replacement algorithm
EP3658996B1 (en) Production system and method for operating a numerically controlled production system
DE102017011602A1 (en) Numerical control
DE102015200300A1 (en) Method for simulating a machine

Legal Events

Date Code Title Description
R163 Identified publications notified
R012 Request for examination validly filed