Beschreibung description
Verfahren und Vorrichtung zur energieoptimierten Datenübertragung mittels OPC UA Protokoll Method and device for energy-optimized data transmission by means of OPC UA protocol
OPC UA (OPC Unified Architecture ) ist ein industrielles Standardprotokoll der OPC Foundation zur hersteller-unabhängigen Kommunikation für den Austausch von Maschinendaten insbesondere in der Prozessautomatisierung. OPC UA (OPC Unified Architecture) is an industrial standard protocol of the OPC Foundation for vendor-independent communication for the exchange of machine data, especially in process automation.
OPC UA ist ein relativ neuer Standard, bei dem der ursprüngliche Fokus nicht auf der Steuerung einer Industrieanlage lag, sondern vielmehr beim standardisierten Informationsaustausch insbesondere zwischen Geräten unterschiedlicher Hersteller . OPC UA is a relatively new standard, where the original focus was not on the control of an industrial plant, but rather on the standardized exchange of information, especially between devices from different manufacturers.
Inzwischen ist OPC UA auch direkt in automatisierungstechnischen Geräten integriert, sodass die Notwendigkeit zum konsistenten Schreiben von Daten entsteht. Meanwhile, OPC UA is also integrated directly into automation devices, creating the need for consistent data writing.
In automatisierungstechnischen Anlagen besteht die Notwendigkeit, zwischen unterschiedlichen Geräten Prozessinformationen (wie Prozesswerte, Messwerte, Parameter, Steuerungsbefehle) auszutauschen. Hierbei ist es wichtig, dass die Informationen konsistent und fehlersicher zwischen den Teilnehmern übertragen werden. Dies ist insbesondere bei datenverändernden Aufrufen (d. h. dem Schreiben von Variablen) wichtig. In automation systems, there is a need to exchange process information (such as process values, measured values, parameters, control commands) between different devices. It is important that the information is transmitted consistently and fail-safe between the participants. This is particularly important in data-altering calls (i.e., writing variables).
Das OPC-UA Protokoll ist in auch der Lage, über Internet Verbindungen zu kommunizieren. Im Internet herrscht die Vereinbarung, dass eine Client/Server Kommunikation immer vom Client initiiert werden muss, das heißt, dass nur der Client Anfragen an den Server stellen darf, und dann der Server auf diese Anfrage antworten darf. Das kollidiert jedoch mit der Anforderung von Automatisierungs-Anlagen, dass die Kommunikation von beiden Kommunikationspartnern jederzeit initiiert werden muss. The OPC UA protocol is also capable of communicating over Internet connections. There is an agreement on the Internet that client / server communication always has to be initiated by the client, which means that only the client is allowed to make requests to the server, and then the server is allowed to respond to that request. However, this conflicts with the requirement of automation systems that the communication must be initiated by both communication partners at any time.
OPC-UA löst dieses Problem derzeit, indem es vorab bereits zumindest eine (oder mehrere) Anfrage vom Client an den Ser-
ver sendet. Wenn der Server Daten zum Client senden möchte, kann er dies protokollkonform tun, als Antwort auf eine dieser Anfragen. Diese Anfragen werden „Publish-Request" genannt, die zugehörigen Antwort „Publish-Response" . In der Regel werden bis zu drei Anfragen vorgehalten. Besteht seitens des Servers eine Zeit lang kein Bedarf, Daten an den Client zu senden, so sendet er eine „leere" Antwort auch „Keep- Alive" genannt. OPC UA is currently solving this problem by providing at least one (or more) request from the client to the server in advance. sent. If the server wants to send data to the client, it can do so in accordance with the protocol in response to one of these requests. These requests are called "publish request", the corresponding answer is "publish response". As a rule, up to three requests are made. If there is no need for the server to send data to the client for a while, then it sends an "empty" response called "keep-alive".
Empfängt der Client auf eine seiner Anfragen „Publish- Request" eine Antwort „Publish-Response" , so sendet er eine neue Anfrage zum Server. If the client receives a "publish response" response to one of its "publish request" requests, it sends a new request to the server.
Dieser „Keep-Alive" Mechanismus ist notwendig, da der Datenverkehr im Internet durch Firewalls/Proxys und ähnliche Netzelemente überwacht wird. Diese Netzelemente schließen eine Verbindung wenn einige Zeit kein Datenverkehr (Traffic) darüber geflossen ist. This "keep-alive" mechanism is necessary because the traffic on the Internet is monitored by firewalls / proxies and similar network elements, and these network elements will close if there is no traffic for some time.
Weiterhin wird dieser Mechanismus auch dazu verwendet, die Kommunikationspartner über die ordnungsgemäße Funktion der Verbindung zu informieren. Furthermore, this mechanism is also used to inform the communication partners about the proper functioning of the connection.
Mobile Geräte kommunizieren drahtlos, über Funk wie beispielsweise Wireless LAN, Bluetooth, 3G, LTE . Da sie üblicherweise mittels einer Batterie oder einem Akku mit Strom versorgt werden und der Energiebedarf der auf dem Gerät laufenden Anwendungen sich direkt auf die Laufzeit des Gerätes auswirkt, müssen sie möglichst energieeffizient arbeiten. Der größte Energieverbrauch bei mobilen Geräten entsteht beim Senden von Nachrichten. Daher wird die Antenne zum Senden so wenig wie möglich aktiviert. Das Empfangen ist dagegen aus Energiebilanz sieht unkritisch. Mobile devices communicate wirelessly, such as wireless LAN, Bluetooth, 3G, LTE. Since they are usually supplied with power by means of a battery or a rechargeable battery, and the energy requirements of the applications running on the device have a direct effect on the running time of the device, they must work as energy-efficiently as possible. The greatest energy consumption on mobile devices is when sending messages. Therefore, the antenna is activated as little as possible for transmission. Receiving is on the other hand Energy balance does not look critical.
Betreibt man nun in einem mobilen Gerät eine OPC-UA Kommunikation (z. B. als mobilen Zugang zu einem Anlagenteil zum Zweck der Wartung, Überwachung, Parametrierung etc.) wird durch das auf Anfrage-Antwort (Request-Response) basierende OPC-UA eigene Kommunikationsverhalten häufig gesendet. Da das
Gerät kaum in die Situation kommt den Sender abzuschalten, wird der Akku/Batterie des Gerätes sehr schnell entladen. If an OPC-UA communication is now operated in a mobile device (eg as a mobile access to a system part for the purpose of maintenance, monitoring, parameterization, etc.), this is based on the request-response-based OPC-UA own communication behavior is sent frequently. Since that Device hardly comes into the situation when the transmitter is switched off, the battery / battery of the device is discharged very quickly.
Bei der Definition des OPC-UA Standards wurde der Umstand der Mobilen Kommunikation nicht berücksichtigt. Mobile Endgeräte (wie z. B. MOBIC, MOBile Industrial Communicator, der Firma Siemens, ein mobiles, industrietaugliches Internet Päd für den lokalen oder weltweiten Zugang zum Intranet und Internet mit steckbaren Funkkarten und Wireless LAN) , die heute be- reits in Anlagen eingesetzt werden, kommunizieren über andere Protokolle . The definition of the OPC-UA standard did not take into account the circumstance of mobile communication. Mobile devices (such as MOBIC, MOBile Industrial Communicator, Siemens, a mobile, industrial-grade Internet Päd for local or worldwide access to the Intranet and Internet with pluggable wireless cards and wireless LAN), which are already used in systems today be, communicate via other protocols.
Es gibt heute noch keine etablierte Lösung für dieses Problem. Es wird erst vermehrt in der Zukunft mit Verbreitung von OPC-UA und dem steigenden Einsatz von mobilen Endgeräten im Wartungsfall gerechnet. There is still no established solution to this problem today. It is only expected to increase in the future with the spread of OPC-UA and the increasing use of mobile devices in the maintenance case.
Es ist Aufgabe der Erfindung, ein Verfahren und eine Vorrichtung anzugeben, die die oben beschriebenen Probleme behebt. Die beschriebene Aufgabe wird gelöst durch ein Verfahren und eine Vorrichtung gemäß einem der unabhängigen Patentansprüche . It is an object of the invention to provide a method and an apparatus which overcomes the problems described above. The described object is achieved by a method and a device according to one of the independent patent claims.
Das erfindungsgemäße Verfahren wird verwendet zur Kommunika- tion zwischen zumindest einem Client und zumindest einem Server eines Client/Server-Systems unter Verwendung des Kommunikationsprotokolls OPC-UA, über ein Kommunikationsnetz, welches sich dadurch auszeichnet, Anfragen nur von zumindest einem Client und darauf folgende Antworten nur von zumindest einem Server zuzulassen, und welches einen Keepalive Mechanismus umfasst, wobei eine zwischen dem Server und dem Client bestehende Datenverbindung beendet wird, wenn über einen Keepalive Zeitraum keine Datenpakete übertragen werden, insbesondere das Internet. Der Client versendet eine Anzahl von Anfragen zeitlich direkt aufeinander folgend und der Server empfängt die Anzahl der Anfragen und beantwortet diese zeitlich versetzt. Dabei liegt zwischen einer ersten Antwort und
einer darauf folgenden zweiten Antwort ein Zeitraum der kleiner ist als der keepalive Zeitraum. The method according to the invention is used for communication between at least one client and at least one server of a client / server system using the communication protocol OPC-UA, via a communication network, which is characterized by requests from at least one client and subsequent responses only allow at least one server, and which comprises a keep-alive mechanism, wherein a data connection existing between the server and the client is terminated when no data packets are transmitted over a keep-alive period, in particular the Internet. The client sends a number of requests in direct succession, and the server receives the number of requests and answers them in staggered time. It lies between a first answer and a subsequent second response is a period of time that is less than the keepalive period.
Die erfindungsgemäße erste Vorrichtung, Server, ist geeignet zur Durchführung des erfindungsgemäßen Verfahrens über ein Kommunikationsnetz, welches sich dadurch auszeichnet, Anfragen nur von zumindest einem Client und darauf folgende Antworten nur von der Vorrichtung zuzulassen, und welches einen Keepalive Mechanismus umfasst, wobei eine zwischen dem Server und dem Client bestehende Datenverbindung beendet wird, wenn über einen Keepalive Zeitraum keine Datenpakete übertragen werden, insbesondere das Internet. Die Vorrichtung erhält von einem Client eine Anzahl von Anfragen, welche zeitlich direkt aufeinander folgend versendet wurden, und beantwortet die Anzahl der Anfragen zeitlich versetzt beantwortet wobei der zwischen einer ersten Antwort und einer darauf folgenden zweiten Antwort liegende Zeitraum kleiner ist als der keepalive Zeitraum. The first device according to the invention, server, is suitable for carrying out the method according to the invention via a communication network, which is characterized by allowing requests from only at least one client and subsequent responses only from the device, and which comprises a keep-alive mechanism, one between the Server and the client existing data connection is terminated when no data packets are transmitted over a keepalive period, in particular the Internet. The device receives from a client a number of requests which have been sent directly consecutively in time, and answers the number of requests timed answered, wherein the period lying between a first response and a subsequent second response is less than the keepalive period.
Die erfindungsgemäße zweite Vorrichtung, Client, ist geeignet zur Durchführung des erfindungsgemäßen Verfahrens über ein Kommunikationsnetz, welches sich dadurch auszeichnet, Anfragen nur von der Vorrichtung und darauf folgende Antworten nur von einem Server zuzulassen, und welches einen Keepalive Mechanismus umfasst, wobei eine zwischen dem Server und der Vorrichtung bestehende Datenverbindung beendet wird, wenn über einen Keepalive Zeitraum keine Datenpakete übertragen werden, insbesondere das Internet. Die Vorrichtung versendet eine Anzahl von Anfragen zeitlich direkt aufeinander folgend und der zumindest eine Server beantwortet die Anzahl der Anfragen zeitlich versetzt wobei der zwischen einer ersten Antwort und einer darauf folgenden zweiten Antwort liegende Zeitraum kleiner ist als der keepalive Zeitraum. The second device according to the invention, client, is suitable for carrying out the method according to the invention via a communication network which is characterized by allowing requests only from the device and subsequent responses from only one server, and which comprises a keep-alive mechanism, one between the server and the device existing data connection is terminated when over a Keepalive period no data packets are transmitted, in particular the Internet. The device sends a number of requests directly in time and the at least one server answers the number of requests in a staggered manner with the period between a first response and a subsequent second response being less than the keepalive period.
Um die Laufzeit des mobilen Geräts zu verlängern wird ein OPC-UA Client erfindungsgemäß in die Lage versetzt, die Sende- und Empfangszeitpunkte zu bündeln, um so die Antennenverstärkerpausenzeiten zu verlängern.
Ein OPC-UA Client soll, ohne dass dafür eine Änderung des OPC-UA Protokolls erforderlich ist, ausschließlich zu definierten Fokussierungszeitpunkten senden. Zwischen diesen Zeitpunkten soll ein Senden nicht notwendig sein. Hierzu wird der OPC-UA Client modifiziert, so dass er zu einem bestimmten Zeitpunkt ein Bündel von Anfragen an den Server sendet, beispielsweise 50 Anfragen. Danach geht der Client in den Empfangsmodus . In order to extend the running time of the mobile device, an OPC-UA client according to the invention is enabled to bundle the transmission and reception times in order to extend the antenna amplifier pause times. An OPC-UA client should, without requiring a change of the OPC-UA protocol, only send at defined focusing times. Between these times a transmission should not be necessary. For this purpose, the OPC-UA client is modified so that it sends a bundle of requests to the server at a certain time, for example 50 requests. Thereafter, the client goes into receive mode.
Der Server bearbeitet die empfangenen Anfragen über die Zeit periodisch ab. Sind nahezu alle Anfragen abgearbeitet (im The server periodically processes the received requests over time. Almost all requests have been processed (im
Beispiel nach 48 Anfragen) wird wieder ein neues Bündel von Anfragen zum Server gestellt. Example after 48 requests), a new bundle of requests is made to the server again.
Zwischen diesen Fokuszeitpunkten kann der Sender des Clients/ Mobilen Gerätes vollständig abgeschaltet werden und damit Strom sparen. Between these focus times, the transmitter of the client / mobile device can be completely turned off, saving power.
Das hier vorgestellte Verfahren ist voll kompatibel zu allen Ebenen der Kommunikation (TCP-Stack, WLAN) . The method presented here is fully compatible with all levels of communication (TCP stack, WLAN).
Im Folgenden wird die Erfindung durch Figuren dargestellt und weiter erläutert. Dabei zeigt In the following the invention is represented by figures and further explained. It shows
Figur 1, eine beispielhafte Kommunikation zwischen Client und Server gemäß des beanspruchten Verfahrens, FIG. 1, an exemplary communication between client and server according to the claimed method,
Figur 2 eine beispielhafte Kommunikation zwischen Client und Server gemäß dem Stand der Technik, FIG. 2 shows an exemplary communication between client and server according to the prior art,
Figur 3 eine Darstellung des Energiebedarfs im Client bei Vorgehen gemäß des Standes der Technik und Figure 3 is a representation of the energy demand in the client in the procedure according to the prior art and
Figur 4 eine Darstellung des Energiebedarfs bei Vorgehen gemäß der beanspruchten Verfahrens . Figur 2 beschreibt zunächst das übliche Vorgehen einer Figure 4 is an illustration of the energy demand in the process according to the claimed method. FIG. 2 first describes the usual procedure of a
Client-Server-Kommunikation. Der Client UA-C sendet eine Anfrage 11, auf die der Server UA-S eine Antwort 12 sendet, Daraufhin sendet der Client UA-C eine zweite Anfrage 13, auf die der Server UA-S eine Antwort 14 sendet, und so fort. Client-server communication. The client UA-C sends a request 11 to which the server UA-S sends a response 12, then the client UA-C sends a second request 13 to which the server UA-S sends a response 14, and so forth.
Dies geschieht insbesondere, damit in dem keepalive Zeitintervall PTI eine Kommunikation zwischen Client UA-C und Server UA-S stattgefunden hat und der Kommunikationskanal nicht aufgrund einer Timeout-Problematik geschlossen wird.
Figur 3 zeigt den Energiebedarf P, den das Endgerät UA-C bei dem gemäß Figur 2 beschriebenen Vorgehen hat, man sieht hier deutlich, dass jeder Sendevorgang 11, 13, 15, 17 einen Energiebedarf Tl, T2, T3, T4 ... aufweist. Es ist somit klar, dass der bei einem mit Energiespeicher versehenen Endgerät der nur beschränkt vorhandene Energievorrat bald aufgebraucht ist. This is done in particular so that in the keepalive time interval PTI communication between client UA-C and server UA-S has taken place and the communication channel is not closed due to a timeout problem. FIG. 3 shows the energy requirement P which the terminal UA-C has in the procedure described in FIG. 2; it can be clearly seen here that each transmission process 11, 13, 15, 17 has an energy requirement Tl, T2, T3, T4 , It is thus clear that in the case of a terminal provided with energy storage, the limited supply of energy will soon be used up.
Im Vergleich dazu geschieht die Versendung der Nachrichten gemäß dem beanspruchten Verfahren in einem kurzen Abstand, in der Figur hier beispielhaft nur für 4 Nachrichten angezeigt, welches keine Einschränkung der beanspruchten Idee darstellen soll sondern lediglich der Übersichtlichkeit der Darstellung dient. In dem darauf folgenden Zeitraum SI kann das Endgerät, UA-C in einen stromsparenden Modus überführt werden, oder so- gar abgeschaltet werden und verbraucht dann keine Energie mehr, wie man in der Figur 4 gut sehen kann, wo der einmalige Energieverbraucht Tx das Senden sämtlicher Nachrichten eines Sendeblocks umfasst. Es folgt ein Berechnungs-Beispiel, welches an einer beispielhaften Anordnung die Stromersparnis kalkuliert. In comparison, the sending of the messages according to the claimed method takes place in a short distance, in the figure shown here only as an example for 4 messages, which is not intended to limit the claimed idea but merely serves the clarity of presentation. In the following period SI, the terminal UA-C can be switched to a power-saving mode or even switched off and then no longer consumes energy, as can be clearly seen in FIG. 4, where the one-time power consumption Tx is transmitting includes all messages of a transmission block. The following is a calculation example, which calculates the power savings on an exemplary arrangement.
Bei einer Keep-Alive Rate (Proxy Timeout Interval, PTI) von 10 Sekunden (das entspricht dem halben Zeitraum eines empi- risch ermittelten Timeout bei Standard-Firewalls und Proxys) und einer angenommen Anzahl von 50 Anfragen in einem Anfragenbündel, könnte somit der Client im Leerlauf ca. At a 10-second proxy timeout interval (that is, half the time span of an empirically determined timeout on standard firewalls and proxies) and an assumed number of 50 requests in a request bundle, the client could idle approx.
490 Sekunden abgeschaltet werden. 490 seconds are switched off.
Bei gleichmäßiger Aktivität und einer Updaterate von 1000 ms könnte der Client immer noch 49 Sekunden abgeschaltet werden. With consistent activity and an update rate of 1000 ms, the client could still be turned off for 49 seconds.
Bei einer angenommen Nachlaufzeit der internen Verarbeitung und der Sendeantenne von 500 ms ergibt sich dann folgendes Verhalten : Assuming a follow-up time of the internal processing and the transmitting antenna of 500 ms, the following behavior then results:
Im ersten Fall, gemäß dem Stand der Technik, sendet der Client 50 Anfragen über 50 Sekunden verteilt, also ungefähr eine Anfrage pro Sekunde.
Die Antwortzeit des Servers liegt im Bereich von 500 ms, somit kann die Antenne nur zu 50 % der Zeit abgeschaltet werden, die interne Verarbeitungseinheit (Nachrichten kodieren, senden, bzw. empfangen, dekodieren) ist permanent aktiv. In the first case, according to the prior art, the client 50 sends queries distributed over 50 seconds, that is, about one request per second. The response time of the server is in the range of 500 ms, so the antenna can be switched off only 50% of the time, the internal processing unit (messages encode, send, receive, decode) is permanently active.
Im zweiten Fall arbeitet der Client gemäß dem erfindungsgemäßen Verfahren in einem 10 Sekunden-Raster. Es werden 50 Anfragen auf einmal eingestellt, diese sind in ca. 1 Sekunde verarbeitet. Danach legt die Antenne, bzw. die Verarbeitungs- einheit sich schlafen. Die interne Verarbeitungseinheit und Antenne werden dann erst zum nächsten Synchronisationspunkt wieder aktiviert. In the second case, the client operates according to the inventive method in a 10 second grid. There are 50 requests set at once, these are processed in about 1 second. Then the antenna or the processing unit goes to sleep. The internal processing unit and antenna are then reactivated only at the next synchronization point.
Als Einsparpotential ergibt sich daraus: The potential for savings results from this:
Potentielle Sleep time im Stromsparmodus: Potential sleep time in power-saving mode:
10 s - 1 s - 0,5 s =8,5 s pro 10 Sekunden-Intervall = 85 % 10 s - 1 s - 0.5 s = 8.5 s per 10 second interval = 85%
Energiesparpotential über ein 50 Sekunden-Intervall: Energy saving potential over a 50 second interval:
Die Leistung im ersten Fall entspricht = The performance in the first case equals =
50 s Leerlauf + 50 s Verarbeitung + 25 s Senden. 50 s idle + 50 s processing + 25 s transmission.
Die Leistung im zweiten Fall entspricht = The performance in the second case equals =
50 s Leerlauf + 15 s Verarbeitung + 15 s Senden.
50 s idle + 15 s processing + 15 s transmission.