EP3418833A1 - Method and assembly for enabling access from a first computer to a virtual machine of a second computer - Google Patents

Method and assembly for enabling access from a first computer to a virtual machine of a second computer Download PDF

Info

Publication number
EP3418833A1
EP3418833A1 EP17176913.6A EP17176913A EP3418833A1 EP 3418833 A1 EP3418833 A1 EP 3418833A1 EP 17176913 A EP17176913 A EP 17176913A EP 3418833 A1 EP3418833 A1 EP 3418833A1
Authority
EP
European Patent Office
Prior art keywords
computer
rdp
virtual machine
connection
application
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.)
Granted
Application number
EP17176913.6A
Other languages
German (de)
French (fr)
Other versions
EP3418833B1 (en
Inventor
Wolfgang Füsslein
Tobias Gaugler
Felix KOHLER
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to EP17176913.6A priority Critical patent/EP3418833B1/en
Priority to CN201810611076.6A priority patent/CN109101314B/en
Priority to US16/011,895 priority patent/US11188356B2/en
Publication of EP3418833A1 publication Critical patent/EP3418833A1/en
Application granted granted Critical
Publication of EP3418833B1 publication Critical patent/EP3418833B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31156Network structure, internet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31198VPN virtual private networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31246Firewall
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31457Factory remote control, monitoring through internet
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33284Remote diagnostic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Definitions

  • PLCs programmable logic controllers
  • HMI human machine interface
  • the software required for the operation of the programmable logic controllers and the HMI devices is created with an engineering system and loaded directly from this or by means of the programming device already described on the target hardware.
  • the engineering system is typically either installed on the programmer or connected to the programmer, particularly via a network connection.
  • the known engineering systems are set up to access the programmable logic controllers or the operating and monitoring devices directly by means of a local interface of the computer on which they run.
  • a remote operator session need to be created to use the remotely installed engineering system, but connections must still be made to the engineering system can simultaneously exchange data with the programmable logic controllers or HMI devices.
  • RDP Remote Desktop Protocol
  • a virtual channel of the remote desktop connection is to be used to make the communication relationships of the hardware interfaces of the programming device via the network connection of the virtual machine with the engineering system available as if the named communication relationships and Channels local relationships of the virtual machine.
  • the Remote Desktop Protocol can only provide hardware-based services such as keyboard service, mouse service, printer service, and direct hardware interfaces such as USB ports to the RDP server, which is the remote-controlled computer can provide access to the corresponding preconfigured communication services of the client computer, according to the invention by the "tunneling" of the specific communication relationships between the virtual machine and the engineering system direct, secure access to the peripheral connected to the programmer and thus to the to be programmed programmable logic controllers or control and monitoring devices given.
  • the fact that the information of the communication relations are completely transferred within the remote desktop connection in a virtual channel, no further ports in firewalls must be unlocked, but it is sufficient that the practically always functional remote desktop connection can be established.
  • a method for accessing at least one application installed on a virtual machine of a second computer via a network connection, wherein a programming device of an industrial automation system is used as the first computer, wherein the programming device by means of an automation network with at least one industrial controller wherein, by means of the programming device (PG) and by means of an interface connection, the at least one application accesses the at least one industrial controller, and wherein in a first step from the first computer to the virtual machine, a remote desktop protocol connection is established ,
  • the interface connection is established in a second step from the virtual machine to the first computer via a virtual channel of the remote desktop protocol connection, the at least one application using the interface connection at least one communication relationship of the first computer to the at least one industrial controller as a local communication relation of the application is provided.
  • an arrangement with a first computer and a second computer is proposed with a virtual machine, wherein at least one application is installed on the virtual machine, wherein the first computer is a programming device of an industrial automation device, the programming device by means of an automation network with at least one industrial Control, wherein by means of the programming device and by means of an interface connection, the at least one application accesses the at least one industrial controller, and wherein an access of the first computer is provided on the at least one application via a network connection, wherein it is provided that in a first Step from the first computer to the virtual machine a remote desktop protocol connection is established.
  • the software for managing the information of the interface connection to be transmitted via the virtual channel is installed prior to the first step on the first computer and on the virtual machine.
  • This makes it possible to automatically establish the interface connection via the virtual channel after initiation of the Remote Desktop Protocol connection, without a user having to configure it manually.
  • the at least one communication relationship with the at least one industrial controller is detected by the software installed on the first computer ("Cloud Connector") and made accessible by means of the virtual channel (RDP-VC) of the software installed on the second computer, and the software installed on the second computer makes this at least one communication relation of the application accessible.
  • the software installed on the first and the second computer (“cloud connector") is identical and can act as server or client depending on the configuration, but different versions of the software for the first and for the second computer are possible.
  • first and the second computer each have an operating system, each with an operating system extension (eg "S7DOS” of Siemens AG), wherein the software installed on the first computer to the operating system extension of the first computer and the on the second computer installed software are connected to the operating system extension of the second computer.
  • the virtual channel or other virtual channel of the remote desktop connection is used to access the at least one application to a server service of the first computer or another computer.
  • a server service can in particular advantageously be a service for providing licenses, in particular for licenses for using the at least one application.
  • Connections to other servers, in particular to alarm servers can also be established via the virtual channel or other virtual channels of the remote desktop connection, which can then be used by the application like a locally provided server or service.
  • an engineering system for industrial automation arrangements is used, in particular a portal application for access to a large number of engineering services (eg "TIA Portal” from Siemens AG).
  • TIA Portal a portal application for access to a large number of engineering services
  • FIG. 1 schematically a personal computer PC is shown, which is a workplace for an operator, the personal computer PC is designed by a corresponding application as a programming device PG for an industrial automation device.
  • a programming device PG for an industrial automation device.
  • a local hardware interface in particular a suitable interface for automation networks such.
  • Profibus, Profinet, Industrial Ethernet or others is the personal computer PC and thus the programming device PG thus established connected to a programmable logic controller PLC and a HMI device;
  • PLC programmable logic controller
  • HMI device programmable logic controller
  • the personal computer PC (“first computer”) is also advantageous via another hardware interface, eg. As an Ethernet interface or a wireless interface, connected to another network, such as an intranet or the Internet.
  • the personal computer PC and thus the programming device PG can exchange data with another, second computer via this network connection, this further, second computer having a virtual machine VM, as an application on the virtual machine VM an engineering software TIAP (eg "TIA Portal” of Siemens AG) expires.
  • the engineering software TIAP (also called “engineering system”) serves the planning and in particular the programming of industrial components, in particular the programmable logic controller PLC and the HMI control and monitoring device.
  • the personal computer PC uses the Users the personal computer PC with the programmer PG to access the functionality of the engineering software TIAP over a network, such as the Internet.
  • the engineering software TIAP runs completely on the virtual machine VM and is used via a terminal service from the remote location of the personal computer PC.
  • a terminal connection is first established by the personal computer PC to the virtual machine VM, in the present case, a connection RDP-C according to the remote desktop protocol Microsoft. This is illustrated in the figures by arrows with the inscription "1. Create RDP connection”.
  • connection RDP-C By means of the connection RDP-C, it is already possible for the user to operate the engineering software TIAP remotely, that is, some local services of the personal computer PC such. As the keyboard service, the mouse service, the printer service over the connection RDP-C act on the virtual machine VM and in return screen outputs of the virtual machine VM are output to the personal computer PC.
  • On the second computer is the extension in the event that the application directly with an automation device, eg with a programmable logic controller PLC should communicate, also responsible for providing the communication relationship via a local hardware interface of the second computer, ie, that neither the application of the second computer nor the programmer, so an application of the first computer directly access to local hardware interfaces, but always by means of the respective operating system extension.
  • This is in contrast to a direct "mapping" of hardware interfaces to the virtual machine VM, which would then make these interfaces visible to all applications installed there, which is not desirable for reasons of security, among other things.
  • the client component of the software CC now automatically establishes another connection ("CC connection") to its counterpart (server component) of the personal computer PC.
  • the FIG. 2 shows this process in a detailed view.
  • the software CC uses for the further connection ("CC connection”) a virtual channel, which is provided by an add-on module of the RDP functionality (RDP server, RDP client), namely the "Virtual Channel Plugin".
  • RDP-VC Remote Desktop Protocol - Virtual Channel
  • the resulting connection is connected on the side of the virtual machine VM to the local host interface ("Local Host") and is there in the form of a local hardware interface, in particular in the form of a local Ethernet interface, the operating system extension (“ S7DOS ”) and thus indirectly the engineering software TIAP.
  • S7DOS operating system extension
  • the virtual connection RDP-VC is also connected to a local hardware interface by means of the software CC, namely to the local extension of the operating system ("S7DOS") and thus indirectly the connection (hardware interface) to the local automation network to which the programmable logic controller PLC and the HMI are connected.
  • the software CC or its server portion of the personal computer PC is thus an access of the engineering software TIAP to be programmed target hardware PLC, HMI possible.
  • ALM Automation License Manager
  • a user at the personal computer PC and thus the programming device PG thus formed in the configuration of the software CC can configure that an RDP connection is to be used.
  • a connection between the server portion and the client portion of the software CC, a so-called “CC connection” is automatically established back to the personal computer PC or programmer PG.
  • another "tunneled" connection for using a license manager ALM from the virtual machine VM to the programming device PG or a license server ALM installed there can be set up automatically.
  • the virtual connection RDP-VC can also be used for other services such as time service, file service etc.
  • RDP connections which are usually functional or released in public networks as well, and thus possible or “tunnelled” virtual ones RDP channels (using the "Virtual Channel Plugin")
  • additional connections within the RDP connection can be established automatically and preconfigured.
  • no further changes to security settings, especially opening additional ports in firewalls, will be necessary. From the user's point of view, it is only necessary to establish exactly one connection to the virtual machine VM by means of the "Remote Desktop Protocol" connection.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Manufacturing & Machinery (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Programmable Controllers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Verfahren und Anordnung zum Zugriff eines Programmiergeräts (PG) einer industriellen Automatisierungsanordnung auf zumindest eine auf einer virtuellen Maschine (VM) eines Computers installierte Anwendung über eine Netzwerkverbindung, wobei das Programmiergerät (PG) mit zumindest einer industriellen Steuerung (PLC) verbunden ist, wobei mittels des Programmiergerätes (PG) und mittels einer Schnittstellenverbindung die Anwendung auf die industrielle Steuerung (PLC) zugreift, und wobei in einem ersten Schritt von dem Programmiergerät (PG) zu der virtuellen Maschine (VM) eine Remote-Desktop-Protocol-Verbindung (RDP-C) aufgebaut wird. Dabei wird in einem zweiten Schritt von der virtuellen Maschine (VM) zu dem Programiergerät (PG) über einen virtuellen Kanal (RDP-VC) der Remote-Desktop-Protocol-Verbindung (RDP-C) der Anwendung zumindest eine Kommunikationsbeziehung des Programmiergeräts (PG) zu der industriellen Steuerung (PLC) als eine lokale Kommunikationsbeziehung der Anwendung zur Verfügung gestellt. Aus Anwendersicht muss nur noch mittels des Remote-Desktop-Protocols (RDP-C) genau eine Verbindung zu der virtuellen Maschine (VM) aufgebaut werden, wobei die benötigten Rückkanäle automatisch aufgebaut werden können und wobei keine Sicherheitseinstellungen in Firewalls oder Routern verändert werden müssen.Method and arrangement for accessing a programming device (PG) of an industrial automation system to at least one application installed on a virtual machine (VM) of a computer via a network connection, wherein the programming device (PG) is connected to at least one industrial controller (PLC), by means of the programming device (PG) and accesses the application via an interface connection to the industrial controller (PLC), and wherein in a first step from the programming device (PG) to the virtual machine (VM) a remote desktop protocol connection (RDP) C) is built. In this case, in a second step from the virtual machine (VM) to the programmer (PG) via a virtual channel (RDP-VC) of the remote desktop protocol connection (RDP-C) of the application at least one communication relationship of the programmer (PG ) to the industrial controller (PLC) as a local communication relation of the application. From the user's point of view, only the Remote Desktop Protocol (RDP-C) needs to establish exactly one connection to the virtual machine (VM), whereby the required return channels can be set up automatically and no security settings need to be changed in firewalls or routers.

Description

Die Erfindung betrifft ein Verfahren zum Zugriff eines ersten Computers auf zumindest eine auf einer virtuellen Maschine eines zweiten Computers installierte Anwendung gemäß dem Oberbegriff des Patentanspruchs 1, und eine Anordnung mit einem ersten Computer und einem zweiten Computer mit einer virtuellen Maschine gemäß dem Oberbegriff des Patentanspruchs 8.The invention relates to a method for accessing a first computer to at least one application installed on a virtual machine of a second computer according to the preamble of patent claim 1, and to an arrangement having a first computer and a second computer having a virtual machine according to the preamble of patent claim 8 ,

In industriellen Automatisierungsanordnungen werden gebräuchlicherweise speicherprogrammierbare Steuerungen (PLC-Programmable Logic Controller) oder Bedien- und Beobachtungsgeräte (HMI - Human Machine Interface) betrieben, die für ihre Verwendung mit einer Software programmiert werden müssen. Zur Programmierung dieser Geräte und zu deren Wartung werden in den Automatisierungsnetzwerken sogenannte Programmiergeräte eingesetzt, die beispielsweise aus einem Personal-Computer mit einer entsprechenden Kontrollsoftware bestehen. Diese sind über eine proprietäre Netzwerkverbindung, dem Automatisierungsnetzwerk, mit den speicherprogrammierbaren Steuerungen, Bedien- und Beobachtungsgräten und anderen aktiven Automatisierungskomponenten verbunden.Industrial automation arrangements commonly operate programmable logic controllers (PLCs) or human machine interface (HMI) devices that must be programmed for use with software. For programming these devices and for their maintenance so-called programming devices are used in the automation networks, which consist for example of a personal computer with appropriate control software. These are connected via a proprietary network connection, the automation network, with the programmable logic controllers, control and monitoring devices and other active automation components.

Die für den Betrieb der speicherprogrammierbaren Steuerungen und der Bedien- und Beobachtungsgeräte erforderliche Software wird mit einem Engineering-System erstellt und direkt von dieser oder mittels des bereits beschriebenen Programmiergerätes auf die Ziel-Hardware geladen. Oft ist das Engineering-System klassischerweise entweder auf dem Programmiergerät installiert, oder aber mit dem Programmiergerät verbunden, insbesondere über eine Netzwerkverbindung.The software required for the operation of the programmable logic controllers and the HMI devices is created with an engineering system and loaded directly from this or by means of the programming device already described on the target hardware. Often, the engineering system is typically either installed on the programmer or connected to the programmer, particularly via a network connection.

Die für eine solche Konstellation erforderliche geografische oder räumliche Nähe zwischen dem Programmiergerät und dem Engineering-System ist insbesondere bei größeren Automatisierungsanordnungen oder gar standortübergreifend oft nicht gegeben. Insbesondere ist es oft erforderlich, dass das Programmiergerät und das Engineering-System über ein Weitverkehrsnetzwerk, also ein Intranet oder das Internet, miteinander kommunizieren. Dies ist insbesondere dann der Fall, wenn die Dienstleistung des Engineerings oder Teile davon, beispielsweise das Kompilieren, als ein Dienst in einem öffentlichen Netz bereitgestellt werden; in diesem Zusammenhang spricht man auch von einer "Cloud". Bei solchen Konstellationen ist das Engineering-System oft nicht direkt auf einem Computer installiert, sondern in einer virtuellen Maschine, was wesentliche Vorteile bei der Bereitstellung und Skalierung eines Dienstes mit sich bringt.The geographic or spatial proximity required by such a constellation between the programmer and the engineering system is often not given especially for larger automation arrangements or even across locations. In particular, it is often necessary for the programming device and the engineering system to communicate with one another via a wide area network, ie an intranet or the Internet. This is particularly the case when the engineering service or parts thereof, for example compiling, are provided as a service in a public network; In this context, one speaks of a "cloud". In such constellations, the engineering system is often not directly installed on a computer, but in a virtual machine, which brings significant benefits in providing and scaling a service.

Nachteilig an der geschilderten Verteilung der Systeme und der damit verbundenen Notwendigkeit der Kommunikation über ein Weitverkehrsnetzwerk, insbesondere das Internet, ist die Tatsache, dass eine Vielzahl von einzelnen Verbindungen zwischen dem Programmiergerät und der virtuellen Maschine mit dem Engineering-System etabliert werden müssen. Grund dafür ist unter anderem, dass die bekannten Engineering-Systeme dazu eingerichtet sind, direkt mittels einer lokalen Schnittstelle des Computers, auf dem sie ablaufen, auf die speicherprogrammierbaren Steuerungen bzw. auf die Bedien- und Beobachtungsgeräte zuzugreifen. Sofern nun ein Bediener, der ein lokales Programmiergerät benutzt, auf die Funktionen des Engineering-Systems zugreifen möchte, muss also nicht nur eine Fern-Bedienungssitzung zur Benutzung des entfernt installierten Engineering-Systems geschaffen werden, sondern es müssen weiterhin Verbindungen dafür bereitgestellt werden, dass das Engineering-System gleichzeitig Daten mit den speicherprogrammierbaren Steuerungen bzw. Bedien- und Beobachtungsgeräten austauschen kann.A disadvantage of the described distribution of the systems and the associated need for communication over a wide area network, especially the Internet, is the fact that a large number of individual connections between the programming device and the virtual machine with the engineering system must be established. One of the reasons for this is that the known engineering systems are set up to access the programmable logic controllers or the operating and monitoring devices directly by means of a local interface of the computer on which they run. Thus, if an operator using a local programmer wishes to access the functions of the engineering system, not only does a remote operator session need to be created to use the remotely installed engineering system, but connections must still be made to the engineering system can simultaneously exchange data with the programmable logic controllers or HMI devices.

Während die reine Benutzung des entfernt installierten Engineering-Systems mittels eines gebräuchlichen "Fernsteuer-Protokolls" geschieht, insbesondere mittels des Remote-Desktop-Protocols (RDP) der Firma Microsoft, ist es für den gleichzeitig notwendigen Zugriff des Engineering-Systems mit der Ziel-Hardware notwendig, weitere Kommunikationskanäle über das Weitverkehrsnetzwerk (Internet) zu etablieren. Dazu ist es gebräuchlich, sowohl auf dem Computer mit der virtuellen Maschine und dem darauf ablaufenden Engineering-System als auch auf dem Computer mit dem Programmiergerät jeweils eine Steuerungssoftware zu installieren, die entsprechende Kanäle verwaltet und die entsprechenden Informationen über das Weitverkehrsnetzwerk austauscht. In Anlehnung auf die beschriebene Verfügbarkeit der Dienste in dem Netzwerk ("Cloud") wird diese zusätzliche Software auch als "Cloud-Connector" bezeichnet.While the pure use of the remotely installed engineering system by means of a common "remote control protocol" happens, in particular by means of the Remote Desktop Protocols (RDP) Microsoft, it is necessary for the simultaneous access of the engineering system with the target hardware to establish additional communication channels over the wide area network (Internet). For this purpose, it is customary to install both on the computer with the virtual machine and the running on the engineering system as well as on the computer with the programming device each control software that manages appropriate channels and exchanges the corresponding information over the wide area network. Based on the described availability of the services in the network ("cloud"), this additional software is also referred to as "cloud connector".

Eine Beschreibung des Remote Desktop Protocol (RDP) ist in https://msdn.microsoft.com/en-us/library/aa383015(d=printer).aspx angegeben.A description of Remote Desktop Protocol (RDP) is given at https://msdn.microsoft.com/en-us/library/aa383015(d=printer).aspx.

Kurz gesagt muss beim Einsatz von virtuellen Maschinen in einer privaten Netzwerkumgebung ("Cloud") in Verbindung mit einer realen Automatisierungshardware, die an einem Bedienplatz (Programmiergerät, Personal-Computer) angeschlossen ist, ein Anwender manuell mehrere Verbindungen unterschiedlichen Typs zwischen dem "realen" Personal-Computer (Programmiergerät) und der virtuellen Maschine (Engineering-System) aufbauen. Dies ist in der Regel ein sehr komplexer Vorgang, da die üblichen Sicherheitsmechanismen der dabei verwendeten Netzwerktechnik, insbesondere von Routern und anderen aktiven Netzwerkkomponenten, in der Regel so konfiguriert sind, dass solche Verbindungen nicht aufgebaut werden können bzw. das zum Aufbau der Verbindungen entsprechende Freischaltungen in der Sicherheitstechnik, insbesondere in den sogenannten "Firewalls", konfiguriert werden müssen. Insbesondere bei der Verwendung von öffentlichen Netzwerken, beispielsweise dem Internet, ist es manchmal so gut wie unmöglich, die entsprechend benötigten virtuellen Kanäle ("Ports") durchgängig freizuschalten.In short, when using virtual machines in a private network environment ("cloud") in conjunction with real-world automation hardware attached to an operator station (programming device, personal computer), a user must manually connect multiple connections of different types between the "real" ones. Personal computer (programming device) and the virtual machine (engineering system). This is usually a very complex process, since the usual security mechanisms of the network technology used in this case, in particular of routers and other active network components, are generally configured so that such connections can not be established or the corresponding connections for establishing the connections in security technology, especially in the so-called "firewalls" must be configured. In particular, when using public networks, such as the Internet, it is sometimes almost impossible to continuously unlock the corresponding required virtual channels ("ports").

Es ist also eine Aufgabe der vorliegenden Erfindung, die notwendige mehrkanalige Kommunikation zwischen der virtuellen Maschine und dem Programmiergerät auch in Netzwerken mit strengen Sicherheitsanforderungen zu gewährleisten.It is therefore an object of the present invention to ensure the necessary multi-channel communication between the virtual machine and the programming device even in networks with strict security requirements.

Die erfindungsgemäße Lösung der Aufgabe macht sich zunutze, dass das bereits beschriebene Remote-Desktop-Protocol für die Fernsteuerung von Computern über ein Netzwerk nur wenige, in der Regel ohnehin schon freigegebene Ports verwendet. Erfindungsgemäß soll ein virtueller Kanal (virtual channel) der Remote-Desktop-Verbindung dazu verwendet werden, die Kommunikationsbeziehungen der Hardware-Schnittstellen des Programmiergerätes über die Netzwerkverbindung der virtuellen Maschine mit dem Engineering-System genauso zur Verfügung zu stellen, als wären die benannten Kommunikationsbeziehungen und -kanäle lokale Beziehungen der virtuellen Maschine. Während klassischerweise das Remote-Desktop-Protocol nur Hardware-gestützte Dienste wie Tastatur-Dienst, Mouse-Dienst, Drucker-Dienst und direkte Hardware-Schnittstellen wie z.B. USB-Ports dem RDP-Server, also dem ferngesteuerten Computer, zur Verfügung stellen kann und keinen Zugriff auf die entsprechenden vorkonfigurierten Kommunikationsdienste des Client-Computers anbieten kann, wird erfindungsgemäß durch die "Tunnelung" der speziellen Kommunikationsbeziehungen zwischen der virtuellen Maschine und dem Engineering-System ein direkter, sicherer Zugriff auf die an dem Programmiergerät angeschlossene Peripherie und damit auch auf die zu programmierenden speicherprogrammierbaren Steuerungen bzw. Bedien- und Beobachtungsgeräte gegeben. Dadurch, dass die Informationen der Kommunikationsbeziehungen komplett innerhalb der Remote-Desktop-Verbindung in einem virtuellen Kanal übertragen werden, müssen keine weiteren Ports in Firewalls freigeschaltet werden, sondern es genügt, dass die praktisch immer funktionsfähige Remote-Desktop-Verbindung etabliert werden kann. Es wird also nicht einfach die Schnittstelle, über die mit der PLC kommuniziert wird, in der virtuellen Maschine mit dem Engineering-System angezeigt bzw. in die virtuelle Maschine "gemappt", vielmehr wird jegliche über diese Schnittstelle mögliche Kommunikation über diese Schnittstelle in der virtuellen Maschine ermöglicht - z.B. PROFIBUS, DCP, etc. Das ist ein Unterschied zu beispielsweise einer per RDP in die virtuelle Maschine gemappten USB-Schnittstelle, über die auch beispielsweise USB-Ethernet Adapter oder PROFIBUS-Adapter gemappt werden könnten. Die speziellen Informationen und Konfigurationen zur Nutzung der Schnittstelle verbleiben also seitens des Programmiergerätes, an dem die PLC angeschlossen ist. Außerdem sind die den Kommunikationsbeziehungen unterlagerten Hardware-Schnittstellen durch dieses Vorgehen nicht allgemein in der virtuellen Maschine sichtbar (z.B. in einem Geräte-Manager des Betriebssystems), sondern exklusiv durch die Engineering-Software nutzbar.The solution according to the invention makes use of the fact that the remote desktop protocol already described for the remote control of computers via a network uses only a few, in general already released ports. According to the invention, a virtual channel of the remote desktop connection is to be used to make the communication relationships of the hardware interfaces of the programming device via the network connection of the virtual machine with the engineering system available as if the named communication relationships and Channels local relationships of the virtual machine. Classically, the Remote Desktop Protocol can only provide hardware-based services such as keyboard service, mouse service, printer service, and direct hardware interfaces such as USB ports to the RDP server, which is the remote-controlled computer can provide access to the corresponding preconfigured communication services of the client computer, according to the invention by the "tunneling" of the specific communication relationships between the virtual machine and the engineering system direct, secure access to the peripheral connected to the programmer and thus to the to be programmed programmable logic controllers or control and monitoring devices given. The fact that the information of the communication relations are completely transferred within the remote desktop connection in a virtual channel, no further ports in firewalls must be unlocked, but it is sufficient that the practically always functional remote desktop connection can be established. So it is not just the interface that is communicated with the PLC, displayed in the virtual machine with the engineering system or "mapped" in the virtual machine, but rather any of this interface possible communication via this interface in the virtual machine - eg PROFIBUS, DCP, etc. This is a difference to, for example, a USB interface mapped into the virtual machine via RDP, via which, for example, USB Ethernet adapters or PROFIBUS adapters are also mapped could. The special information and configurations for using the interface thus remain on the part of the programming device to which the PLC is connected. In addition, the hardware interfaces underlying the communication relationships are not generally visible in the virtual machine (eg in a device manager of the operating system), but can be used exclusively by the engineering software.

Die Aufgabe wird insbesondere durch ein Verfahren gemäß Patentanspruch 1 und durch eine Anordnung gemäß Patentanspruch 8 gelöst.The object is achieved in particular by a method according to patent claim 1 and by an arrangement according to patent claim 8.

Dabei wird ein Verfahren zum Zugriff eines ersten Computers auf zumindest eine auf einer virtuellen Maschine eines zweiten Computers installierte Anwendung über eine Netzwerkverbindung vorgeschlagen, wobei als der erste Computer ein Programmiergerät einer industriellen Automatisierungsanordnung verwendet wird, wobei das Programmiergerät mittels eines Automatisierungsnetzwerkes mit zumindest einer industriellen Steuerung verbunden ist, wobei mittels des Programmiergerätes (PG) und mittels einer Schnittstellenverbindung die zumindest eine Anwendung auf die zumindest eine industrielle Steuerung zugreift, und wobei in einem ersten Schritt von dem ersten Computer zu der virtuellen Maschine eine Remote-Desktop-Protocol-Verbindung aufgebaut wird. Dabei wird in einem zweiten Schritt von der virtuellen Maschine zu dem ersten Computer über einen virtuellen Kanal der Remote-Desktop-Protocol-Verbindung die Schnittstellenverbindung aufgebaut, wobei der zumindest einen Anwendung mittels der Schnittstellenverbindung zumindest eine Kommunikationsbeziehung des ersten Computers zu der zumindest einen industriellen Steuerung als eine lokale Kommunikationsbeziehung der Anwendung zur Verfügung gestellt wird. Dadurch muss aus Anwendersicht nur noch mittels des Remote-Desktop-Protocols genau eine Verbindung zu der virtuellen Maschine aufgebaut werden, wobei die benötigten Rückkanäle automatisch aufgebaut werden können und wobei keine Sicherheitseinstellungen in Firewalls oder Routern verändert werden müssen.In this case, a method is proposed for accessing at least one application installed on a virtual machine of a second computer via a network connection, wherein a programming device of an industrial automation system is used as the first computer, wherein the programming device by means of an automation network with at least one industrial controller wherein, by means of the programming device (PG) and by means of an interface connection, the at least one application accesses the at least one industrial controller, and wherein in a first step from the first computer to the virtual machine, a remote desktop protocol connection is established , In this case, the interface connection is established in a second step from the virtual machine to the first computer via a virtual channel of the remote desktop protocol connection, the at least one application using the interface connection at least one communication relationship of the first computer to the at least one industrial controller as a local communication relation of the application is provided. As a result, from the user's perspective, only the remote desktop protocol must be used to establish exactly one connection to the virtual machine, whereby the required return channels can be set up automatically and no security settings in firewalls or routers have to be changed.

Die Aufgabe wird außerdem durch eine Anordnung gelöst, in der das geschilderte Verfahren zur Anwendung kommt. Dabei wird eine Anordnung mit einem ersten Computer und einem zweiten Computer mit einer virtuellen Maschine vorgeschlagen, wobei auf der virtuellen Maschine zumindest eine Anwendung installiert ist, wobei der erste Computer ein Programmiergerät einer industriellen Automatisierungsanordnung ist, wobei das Programmiergerät mittels eines Automatisierungsnetzwerkes mit zumindest einer industriellen Steuerung verbunden ist, wobei mittels des Programmiergerätes und mittels einer Schnittstellenverbindung die zumindest eine Anwendung auf die zumindest eine industrielle Steuerung zugreift, und wobei ein Zugriff des ersten Computers auf die zumindest eine Anwendung über eine Netzwerkverbindung vorgesehen ist, wobei vorgesehen ist, dass in einem ersten Schritt von dem ersten Computer zu der virtuellen Maschine eine Remote-Desktop-Protocol-Verbindung aufgebaut wird. Dabei ist weiter vorgesehen, dass in einem zweiten Schritt von der virtuellen Maschine zu dem ersten Computer über einen virtuellen Kanal der Remote-Desktop-Protocol-Verbindung der zumindest einen Anwendung zumindest eine Kommunikationsbeziehung des ersten Computers zu der industriellen Steuerung als eine lokale Kommunikationsbeziehung zur Verfügung gestellt wird. Mittels einer solchen Anordnung können die bereits anhand des Verfahrens diskutierten Vorteile erzielt werden.The object is also achieved by an arrangement in which the described method is used. Here, an arrangement with a first computer and a second computer is proposed with a virtual machine, wherein at least one application is installed on the virtual machine, wherein the first computer is a programming device of an industrial automation device, the programming device by means of an automation network with at least one industrial Control, wherein by means of the programming device and by means of an interface connection, the at least one application accesses the at least one industrial controller, and wherein an access of the first computer is provided on the at least one application via a network connection, wherein it is provided that in a first Step from the first computer to the virtual machine a remote desktop protocol connection is established. It is further provided that in a second step from the virtual machine to the first computer via a virtual channel of the remote desktop protocol connection of the at least one application at least one communication relationship of the first computer to the industrial controller as a local communication relationship available is provided. By means of such an arrangement, the advantages already discussed with reference to the method can be achieved.

Vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens sind in den abhängigen Patentansprüchen angegeben. Die dabei beschriebenen Merkmale und Vorteile können sowohl einzeln, als auch in Kombination miteinander verwirklicht werden. Die Ausgestaltungen des erfindungsgemäßen Verfahrens gelten sinngemäß auch für die erfindungsgemäße Anordnung.Advantageous embodiments of the method according to the invention are specified in the dependent claims. The features and advantages described here can be realized both individually and in combination with each other. The Embodiments of the method according to the invention apply mutatis mutandis to the inventive arrangement.

Vorteilhaft wird vor dem ersten Schritt auf dem ersten Computer und auf der virtuellen Maschine je eine Software zur Verwaltung der über den virtuellen Kanal zu übertragenden Informationen der Schnittstellenverbindung installiert. Damit ist es möglich, nach einer Initiierung der Remote-Desktop-Protocol-Verbindung die Schnittstellenverbindung über den virtuellen Kanal automatisch aufzubauen, ohne dass ein Benutzer diese manuell konfigurieren muss. Dabei wird durch die auf dem ersten Computer installierte Software ("Cloud Connector") die zumindest eine Kommunikationsbeziehung zu der zumindest einen industriellen Steuerung detektiert und mittels des virtuellen Kanals (RDP-VC) der auf dem zweiten Computer installierten Software zugreifbar gemacht, und die auf dem zweiten Computer installierte Software macht diese zumindest eine Kommunikationsbeziehung der Anwendung zugreifbar. Vorteilhaft ist die auf dem ersten und dem zweiten Computer installierte Software ("Cloud Connector") identisch und kann je nach Konfiguration als Server oder als Client wirken, allerdings sind auch unterschiedliche Versionen der Software für den ersten und für den zweiten Computer möglich. In einer vorteilhaften Variante weisen der erste und der zweite Computer jeweils ein Betriebssystem mit jeweils einer Betriebssystem-Erweiterung (z.B. "S7DOS" der Siemens AG) auf, wobei die auf dem ersten Computer installierte Software an die Betriebssystem-Erweiterung des ersten Computers und die auf dem zweiten Computer installierte Software an die Betriebssystem-Erweiterung des zweiten Computers angebunden sind.Advantageously, prior to the first step on the first computer and on the virtual machine, software for managing the information of the interface connection to be transmitted via the virtual channel is installed. This makes it possible to automatically establish the interface connection via the virtual channel after initiation of the Remote Desktop Protocol connection, without a user having to configure it manually. In this case, the at least one communication relationship with the at least one industrial controller is detected by the software installed on the first computer ("Cloud Connector") and made accessible by means of the virtual channel (RDP-VC) of the software installed on the second computer, and the software installed on the second computer makes this at least one communication relation of the application accessible. Advantageously, the software installed on the first and the second computer ("cloud connector") is identical and can act as server or client depending on the configuration, but different versions of the software for the first and for the second computer are possible. In an advantageous variant of the first and the second computer each have an operating system, each with an operating system extension (eg "S7DOS" of Siemens AG), wherein the software installed on the first computer to the operating system extension of the first computer and the on the second computer installed software are connected to the operating system extension of the second computer.

Vorteilhaft wird der virtuelle Kanal oder ein anderer virtueller Kanal der Remote-Desktop-Verbindung zum Zugriff der zumindest einen Anwendung auf einen Serverdienst des ersten Computers oder eines anderen Computers verwendet. Ein solcher Serverdienst kann insbesondere vorteilhaft ein Dienst zur Bereitstellung von Lizenzen, insbesondere für Lizenzen zur Nutzung der zumindest einen Anwendung, sein. Weiterhin können über den virtuellen Kanal oder andere virtuelle Kanäle der Remote-Desktop-Verbindung auch Verbindungen zu anderen Servern, insbesondere zu Alarm-Servern, aufgebaut werden, die dann wie ein lokal zur Verfügung gestellter Server oder Dienst von der Anwendung verwendet werden können.Advantageously, the virtual channel or other virtual channel of the remote desktop connection is used to access the at least one application to a server service of the first computer or another computer. Such a server service can in particular advantageously be a service for providing licenses, in particular for licenses for using the at least one application. Furthermore you can Connections to other servers, in particular to alarm servers, can also be established via the virtual channel or other virtual channels of the remote desktop connection, which can then be used by the application like a locally provided server or service.

Vorteilhaft wird als die zumindest eine Anwendung ein Engineering-System für industrielle Automatisierungsanordnungen verwendet, insbesondere eine Portal-Anwendung zum Zugriff auf eine Vielzahl von Engineering-Diensten (z. B. "TIA-Portal" der Siemens AG).Advantageously, as the at least one application, an engineering system for industrial automation arrangements is used, in particular a portal application for access to a large number of engineering services (eg "TIA Portal" from Siemens AG).

Ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens wird nachfolgend anhand der Zeichnung erläutert. Es dient gleichzeitig zur Erläuterung einer erfindungsgemäßen Anordnung.An embodiment of the method according to the invention will be explained below with reference to the drawing. It also serves to explain an arrangement according to the invention.

Dabei zeigen:

Figur 1
in einer schematischen Darstellung ein Programmiergerät mit einer angebundenen speicherprogrammierbaren Steuerung, wobei das Programmiergerät mittels einer Remote-Desktop-Verbindung mit einer virtuellen Maschine mit einem Engineering-System verbunden ist, und
Figur 2
in einer schematischen Darstellung den Informationsfluss und den Aufbau der virtuellen Schnittstellenverbindung der Remote-Desktop-Verbindung der Anordnung aus Figur 1.
Showing:
FIG. 1
in a schematic representation of a programming device with a connected programmable logic controller, wherein the programming device is connected by means of a remote desktop connection with a virtual machine with an engineering system, and
FIG. 2
in a schematic representation of the information flow and the structure of the virtual interface connection of the remote desktop connection of the arrangement FIG. 1 ,

In der Figur 1 ist schematisch ein Personal-Computer PC dargestellt, welcher ein Arbeitsplatz für eine Bedienperson ist, wobei der Personal-Computer PC durch eine entsprechende Anwendung als ein Programmiergerät PG für eine industrielle Automatisierungsanordnung ausgestaltet ist. Mit einer lokalen Hardware-Schnittstelle, insbesondere eine für Automatisierungsnetzwerke geeignete Schnittstelle wie z. B. Profibus, Profinet, Industrial Ethernet oder andere, ist der Personal-Computer PC und somit das damit eingerichtete Programmiergerät PG mit einer speicherprogrammierbaren Steuerung PLC und einem Bedien- und Beobachtungsgerät HMI verbunden; diese Geräte stehen stellvertretend für eine Vielzahl unterschiedlicher Automatisierungskomponenten.In the FIG. 1 schematically a personal computer PC is shown, which is a workplace for an operator, the personal computer PC is designed by a corresponding application as a programming device PG for an industrial automation device. With a local hardware interface, in particular a suitable interface for automation networks such. As Profibus, Profinet, Industrial Ethernet or others, is the personal computer PC and thus the programming device PG thus established connected to a programmable logic controller PLC and a HMI device; These devices are representative of a multitude of different automation components.

Der Personal-Computer PC ("erster Computer") ist weiterhin vorteilhaft über eine weitere Hardware-Schnittstelle, z. B. eine Ethernet-Schnittstelle oder eine WLAN-Schnittstelle, mit einem weiteren Netzwerk verbunden, beispielsweise ein Intranet oder das Internet. Grundsätzlich kann über diese Netzwerkverbindung der Personal-Computer PC und damit das Programmiergerät PG mit einem weiteren, zweiten Computer Daten austauschen, wobei dieser weitere, zweite Computer eine virtuelle Maschine VM aufweist, wobei als eine Anwendung auf der virtuellen Maschine VM eine Engineering-Software TIAP (z.B. "TIA Portal" der Siemens AG) abläuft. Die Engineering-Software TIAP (auch "Engineering-System" genannt) dient dabei der Planung und insbesondere auch der Programmierung von industriellen Komponenten, insbesondere der speicherprogrammierbaren Steuerung PLC und des Bedien- und Beobachtungsgeräts HMI.The personal computer PC ("first computer") is also advantageous via another hardware interface, eg. As an Ethernet interface or a wireless interface, connected to another network, such as an intranet or the Internet. In principle, the personal computer PC and thus the programming device PG can exchange data with another, second computer via this network connection, this further, second computer having a virtual machine VM, as an application on the virtual machine VM an engineering software TIAP (eg "TIA Portal" of Siemens AG) expires. The engineering software TIAP (also called "engineering system") serves the planning and in particular the programming of industrial components, in particular the programmable logic controller PLC and the HMI control and monitoring device.

Die Engineering-Software TIAP ist dabei nicht nur dazu eingerichtet, die für den Betrieb der speicherprogrammierbaren Steuerung PLC bzw. des Bedien- und Beobachtungsgerätes HMI erforderliche Software zu erstellen, also einen Editor zu der Erstellung des Programms und einen Compiler etc. zur Generierung des ausführbaren Codes zu betreiben, sondern auch, um über eine lokale Kommunikationsbeziehung, die beispielsweise eine lokale Hardware-Schnittstelle zu dem Automatisierungs-Netzwerk verwendet, den erzeugten ausführbaren Code und andere Daten auf die entsprechende Ziel-Hardware (PLC, HMI) zu übertragen. Während dazu in der Vergangenheit häufig die Engineering-Software TIAP lokal auf dem Personal-Computer PC mit der direkten Anbindung an die Ziel-Hardware (PLC, HMI) installiert worden ist, ist es häufig gewünscht, den "Dienst" des Engineerings in einem Netzwerk zur Verfügung zu stellen; man spricht auch von "Cloud-Engineering". Dabei verwendet der Benutzer den Personal-Computer PC mit dem Programmiergerät PG, um auf die Funktionalität der Engineering-Software TIAP über ein Netzwerk, beispielsweise das Internet, zuzugreifen. Bei der hier vorliegenden Ausführungsform ist dabei vorgesehen, dass die Engineering-Software TIAP komplett auf der virtuellen Maschine VM abläuft und über einen Terminal-Dienst von dem entfernten Standort des Personal-Computers PC aus verwendet wird.The TIAP engineering software is not only set up to create the software required for operating the programmable logic controller PLC or the HMI, ie an editor for creating the program and a compiler etc. for generating the executable But also to transmit the generated executable code and other data to the appropriate destination hardware (PLC, HMI) via a local communication relationship using, for example, a local hardware interface to the automation network. While in the past the engineering software TIAP has often been installed locally on the personal computer PC with the direct connection to the target hardware (PLC, HMI), it is often desired to "engineer" the service in a network to provide; One speaks also of "cloud engineering". It uses the Users the personal computer PC with the programmer PG to access the functionality of the engineering software TIAP over a network, such as the Internet. In the present embodiment, it is provided that the engineering software TIAP runs completely on the virtual machine VM and is used via a terminal service from the remote location of the personal computer PC.

Dazu wird zunächst von dem Personal-Computer PC zu der virtuellen Maschine VM eine Terminal-Verbindung etabliert, und zwar im vorliegenden Fall eine Verbindung RDP-C gemäß dem Remote-Desktop-Protocol der Firma Microsoft. Dies ist in den Figuren durch Pfeile mit der Beschriftung "1. Create RDP connection" dargestellt.For this purpose, a terminal connection is first established by the personal computer PC to the virtual machine VM, in the present case, a connection RDP-C according to the remote desktop protocol Microsoft. This is illustrated in the figures by arrows with the inscription "1. Create RDP connection".

Mittels der Verbindung RDP-C ist es nun bereits möglich, dass der Benutzer die Engineering-Software TIAP fernbedient, d.h., dass einige lokale Dienste des Personal-Computers PC wie z. B. der Tastatur-Dienst, der Mouse-Dienst, der Drucker-Dienst über die Verbindung RDP-C auf die virtuelle Maschine VM wirken und im Gegenzug Bildschirmausgaben der virtuellen Maschine VM auf dem Personal-Computer PC ausgegeben werden.By means of the connection RDP-C, it is already possible for the user to operate the engineering software TIAP remotely, that is, some local services of the personal computer PC such. As the keyboard service, the mouse service, the printer service over the connection RDP-C act on the virtual machine VM and in return screen outputs of the virtual machine VM are output to the personal computer PC.

Auf dem Personal-Computer PC und auf der virtuellen Maschine VM ist jeweils noch eine Software CC ("Cloud-Connector") installiert, wobei die Software CC sowohl eine Server-Komponente als auch eine Client-Komponente aufweist. Es sei hier exemplarisch angenommen, dass auf der virtuellen Maschine VM die Client-Komponente und auf dem Personal-Computer PC die Server-Komponente der Software CC verwendet wird; von dieser Konvention kann jedoch auch abgewichen werden. Die Software CC ist dabei jeweils an eine Betriebssystem-Erweiterung (z.B. "S7DOS" der Siemens AG) des jeweiligen Computers angebunden. Diese Betriebssystem-Erweiterung stellt dem Programmiergerät PG des ersten Computers die Kommunikationsbeziehungen zu den Automatisierungsgeräten bereit. Auf dem zweiten Computer ist die Erweiterung für den Fall, dass die Anwendung direkt mit einem Automatisierungsgerät, z.B. mit einer speicherprogrammierbare Steuerung PLC, kommunizieren soll, ebenfalls zur Bereitstellung der Kommunikationsbeziehung über eine lokale Hardware-Schnittstelle des zweiten Computers zuständig, d.h., dass weder die Anwendung des zweiten Computers noch das Programmiergerät, also eine Anwendung des ersten Computers, direkt auf lokale Hardware-Schnittstellen zugreifen, sondern immer mittels der jeweiligen Betriebssystem-Erweiterung. Dies steht im Gegensatz zu einem direkten "mapping" von Hardware-Schnittstellen zu der virtuellen Maschine VM, die diese Schnittstellen dann allen dort installierten Anwendungen sichtbar machen würde, was u.a. aus Sicherheitsgründen nicht gewünscht ist.In each case a software CC ("cloud connector") is installed on the personal computer PC and on the virtual machine VM, the software CC having both a server component and a client component. It is assumed here by way of example that the client component is used on the virtual machine VM and the server component of the software CC on the personal computer PC; However, it is also possible to deviate from this convention. The software CC is in each case connected to an operating system extension (eg "S7DOS" from Siemens AG) of the respective computer. This operating system extension provides the programming device PG of the first computer with the communication relationships to the automation devices. On the second computer is the extension in the event that the application directly with an automation device, eg with a programmable logic controller PLC should communicate, also responsible for providing the communication relationship via a local hardware interface of the second computer, ie, that neither the application of the second computer nor the programmer, so an application of the first computer directly access to local hardware interfaces, but always by means of the respective operating system extension. This is in contrast to a direct "mapping" of hardware interfaces to the virtual machine VM, which would then make these interfaces visible to all applications installed there, which is not desirable for reasons of security, among other things.

In einem nächsten Schritt baut nun die Client-Komponente der Software CC eine weitere Verbindung ("CC connection") automatisch zu ihrem Gegenstück (Server-Komponente) des Personal-Computers PC auf.In a next step, the client component of the software CC now automatically establishes another connection ("CC connection") to its counterpart (server component) of the personal computer PC.

Die Figur 2 zeigt in einer detaillierten Sicht diesen Vorgang. Die Software CC benutzt für die weitere Verbindung ("CC connection") einen virtuellen Kanal, der von einem Zusatzmodul der RDP-Funktionalität (RDP-Server, RDP-Client) zur Verfügung gestellt wird, nämlich das "Virtual Channel Plugin". Diese zusätzliche Verbindung ist in der Figur 2 mit dem Bezugszeichen RDP-VC ("Remote Desktop Protocol - Virtual Channel") bezeichnet. Die dabei entstandene Verbindung wird auf Seiten der virtuellen Maschine VM an die lokale Host-Schnittstelle ("Local Host") angebunden und steht dort in Form einer lokalen Hardware-Schnittstelle, insbesondere in Form einer lokalen Ethernet-Schnittstelle, der Betriebssystem-Erweiterung ("S7DOS") und somit indirekt der Engineering-Software TIAP zur Verfügung. Dies bedeutet, dass die somit in die virtuelle Maschine des zweiten Computers "verlängerte" Kommunikationsbeziehung des ersten Computers nicht allen Anwendungen des zweiten Computers zur Verfügung steht, sondern nur den auf der Erweiterung ("S7DOS") aufgesetzten Anwendungen (hier: Engineering-System TIAP).The FIG. 2 shows this process in a detailed view. The software CC uses for the further connection ("CC connection") a virtual channel, which is provided by an add-on module of the RDP functionality (RDP server, RDP client), namely the "Virtual Channel Plugin". This extra connection is in the FIG. 2 designated by the reference symbol RDP-VC ("Remote Desktop Protocol - Virtual Channel"). The resulting connection is connected on the side of the virtual machine VM to the local host interface ("Local Host") and is there in the form of a local hardware interface, in particular in the form of a local Ethernet interface, the operating system extension (" S7DOS ") and thus indirectly the engineering software TIAP. This means that the communication relationship of the first computer thus "extended" into the virtual machine of the second computer is not available to all applications of the second computer, but only to the applications placed on the extension ("S7DOS") (here: engineering system TIAP ).

Auf Seiten des Personal-Computers PC bzw. des damit gebildeten Programmiergerätes PG wird die virtuelle Verbindung RDP-VC mittels der Software CC ebenfalls an eine lokale Hardware-Schnittstelle angebunden, nämlich an die lokale Erweiterung des Betriebssystems ("S7DOS") und somit indirekt an die Verbindung (Hardware-Schnittstelle)zum lokalen Automatisierungsnetzwerk, mit dem auch die speicherprogrammierbare Steuerung PLC und das Bedien- und Beobachtungsgerät HMI angeschlossen sind. Mittels der Software CC bzw. deren Serveranteil des Personal-Computers PC ist somit ein Zugriff der Engineering-Software TIAP auf die zu programmierende Ziel-Hardware PLC, HMI möglich. Weiterhin ist es optional möglich, über die virtuelle Verbindung RDP-VC andere Server an die Engineering-Software TIAP anzubinden, insbesondere einen Lizenz-Server ALM (Automation License Manager).On the part of the personal computer PC or the programming device PG formed therewith, the virtual connection RDP-VC is also connected to a local hardware interface by means of the software CC, namely to the local extension of the operating system ("S7DOS") and thus indirectly the connection (hardware interface) to the local automation network to which the programmable logic controller PLC and the HMI are connected. By means of the software CC or its server portion of the personal computer PC is thus an access of the engineering software TIAP to be programmed target hardware PLC, HMI possible. Furthermore, it is optionally possible to connect other servers to the engineering software TIAP via the virtual connection RDP-VC, in particular a license server ALM (Automation License Manager).

Zur Bedienung kann ein Anwender an dem Personal-Computer PC und somit dem damit gebildeten Programmiergerät PG in der Konfiguration der Software CC konfigurieren, dass eine RDP-Verbindung verwendet werden soll. Bei jedem Aufbau einer RDP-Verbindung zur virtuellen Maschine VM wird eine Verbindung zwischen dem Server-Anteil und dem Client-Anteil der Software CC, eine sogenannte "CC-Verbindung", automatisch zurück zum Personal-Computer PC bzw. Programmiergerät PG aufgebaut. Optional kann automatisch eine weitere "getunnelte" Verbindung zur Nutzung eines Lizenz-Managers ALM von der virtuellen Maschine VM zum Programmiergerät PG bzw. einen dort installierten Lizenz-Server ALM aufgebaut werden. Dies hat den Vorteil, dass keine Lizenzen in der virtuellen Maschine VM eingespielt bzw. bevorratet werden müssen und macht eine automatische Konfiguration der Lizenzen möglich. Die virtuelle Verbindung RDP-VC kann auch für andere Dienste wie Zeit-Service, Datei-Service etc. verwendet werden.For operation, a user at the personal computer PC and thus the programming device PG thus formed in the configuration of the software CC can configure that an RDP connection is to be used. Each time an RDP connection is established to the virtual machine VM, a connection between the server portion and the client portion of the software CC, a so-called "CC connection", is automatically established back to the personal computer PC or programmer PG. Optionally, another "tunneled" connection for using a license manager ALM from the virtual machine VM to the programming device PG or a license server ALM installed there can be set up automatically. This has the advantage that no licenses must be recorded or stored in the virtual machine VM and makes an automatic configuration of the licenses possible. The virtual connection RDP-VC can also be used for other services such as time service, file service etc.

Durch die Nutzung der in aller Regel auch in öffentlichen Netzwerken funktionstüchtigen bzw. freigegebenen RDP-Verbindungen und den damit möglichen bzw. darin "getunnelten" virtuellen RDP-Kanälen (mittels des "Virtual Channel Plugin") können zusätzliche Verbindungen innerhalb der RDP-Verbindung automatisch und vorkonfiguriert aufgebaut werden. Darüber hinaus werden keine weiteren Veränderungen an Sicherheitseinstellungen, insbesondere Öffnen zusätzlicher Ports in Firewalls, notwendig. Aus Anwendersicht muss nur noch per "Remote-Desktop-Protocol"-Verbindung genau eine Verbindung zur virtuellen Maschine VM aufgebaut werden.By using the RDP connections, which are usually functional or released in public networks as well, and thus possible or "tunnelled" virtual ones RDP channels (using the "Virtual Channel Plugin"), additional connections within the RDP connection can be established automatically and preconfigured. In addition, no further changes to security settings, especially opening additional ports in firewalls, will be necessary. From the user's point of view, it is only necessary to establish exactly one connection to the virtual machine VM by means of the "Remote Desktop Protocol" connection.

Claims (8)

Verfahren zum Zugriff eines ersten Computers (PC) auf zumindest eine auf einer virtuellen Maschine (VM) eines zweiten Computers installierte Anwendung über eine Netzwerkverbindung,
wobei als der erste Computer (PC) ein Programmiergerät (PG) einer industriellen Automatisierungsanordnung verwendet wird, wobei das Programmiergerät (PG) mittels eines Automatisierungsnetzwerkes mit zumindest einer industriellen Steuerung (PLC) verbunden ist,
wobei mittels des Programmiergerätes (PG) und mittels einer Schnittstellenverbindung die zumindest eine Anwendung auf die zumindest eine industrielle Steuerung (PLC) zugreift, und wobei in einem ersten Schritt von dem ersten Computer (PC) zu der virtuellen Maschine (VM) eine Remote-Desktop-Protocol - RDP - Verbindung (RDP-C) aufgebaut wird, dadurch gekennzeichnet,
dass in einem zweiten Schritt von der virtuellen Maschine (VM) zu dem ersten Computer (PC) über einen virtuellen Kanal (RDP-VC) der Remote-Desktop-Protocol - RDP - (RDP-C) Verbindung der zumindest einen Anwendung zumindest eine Kommunikationsbeziehung des ersten Computers (PC) zu der industriellen Steuerung (PLC) als eine lokale Kommunikationsbeziehung zur Verfügung gestellt wird.
Method for accessing at least one application installed on a virtual machine (VM) of a second computer via a network connection by a first computer (PC),
wherein as the first computer (PC) a programming device (PG) of an industrial automation device is used, wherein the programming device (PG) is connected by means of an automation network with at least one industrial controller (PLC),
wherein by means of the programming device (PG) and by means of an interface connection the at least one application accesses the at least one industrial controller (PLC), and wherein in a first step from the first computer (PC) to the virtual machine (VM) a remote desktop Protocol - RDP - connection (RDP-C) is constructed, characterized
that in a second step by the virtual machine (VM) to the first computer (PC) via a virtual channel (RDP-VC) of the remote desktop protocol - RDP - (RDP-C) connecting the at least one application of at least one communication relationship of the first computer (PC) to the industrial controller (PLC) as a local communication relation.
Verfahren nach Patentanspruch 1,
dadurch gekennzeichnet,
dass vor dem ersten Schritt auf dem ersten Computer (PC) und auf der virtuellen Maschine (VM) je eine Software (CC) zur Verwaltung der über den virtuellen Kanal (RDP-VC) zu übertragenden Informationen der Kommunikationsbeziehung installiert wird.
Method according to claim 1,
characterized,
in that prior to the first step on the first computer (PC) and on the virtual machine (VM), a software (CC) for managing the information of the communication relationship to be transmitted via the virtual channel (RDP-VC) is installed.
Verfahren nach Patentanspruch 2,
dadurch gekennzeichnet,
dass durch die auf dem ersten Computer installierte Software (CC) die zumindest eine Kommunikationsbeziehung zu der zumindest einen industriellen Steuerung detektiert und mittels des virtuellen Kanals (RDP-VC) der auf dem zweiten Computer installierten Software (CC) zugreifbar gemacht wird, und
dass die auf dem zweiten Computer installierten Software (CC) diese zumindest eine Kommunikationsbeziehung der Anwendung zugreifbar macht.
Method according to claim 2,
characterized,
that the software (CC) installed on the first computer detects the at least one communication relationship with the at least one industrial controller and is made accessible by means of the virtual channel (RDP-VC) of the software (CC) installed on the second computer, and
that are installed on the second computer software, this makes at least one communication session of the application accessible (CC).
Verfahren nach Patentanspruch 3,
dadurch gekennzeichnet,
dass der erste und der zweite Computer jeweils ein Betriebssystem mit jeweils einer Betriebssystem-Erweiterung aufweisen, wobei die auf dem ersten Computer installierte Software (CC) an die Betriebssystem-Erweiterung des ersten Computers und die auf dem zweiten Computer installierte Software (CC) an die Betriebssystem-Erweiterung des zweiten Computers angebunden sind.
Method according to claim 3,
characterized,
that the first and the second computer each have an operating system, each with an operating system extension, wherein the software installed on the first computer (CC) to the operating system extension of the first computer and installed on the second computer software (CC) to the Operating system extension of the second computer are connected.
Verfahren nach einem der vorhergehenden Patentansprüche,
dadurch gekennzeichnet,
dass der virtuelle Kanal (RDP-VC) oder ein anderer virtueller Kanal (RDP-VC) der Remote Desktop Verbindung - RDP - (RDP-C) zum Zugriff der zumindest einen Anwendung auf einen Serverdienst des ersten Computers (PC) verwendet wird.
Method according to one of the preceding claims,
characterized,
in that the virtual channel (RDP-VC) or another virtual channel (RDP-VC) of the remote desktop connection - RDP - (RDP-C) is used to access the at least one application to a server service of the first computer (PC).
Verfahren nach Patentanspruch 5,
dadurch gekennzeichnet,
dass als der Serverdienst ein Dienst zur Bereitstellung von Lizenzen, insbesondere für Lizenzen zur Nutzung der zumindest einen Anwendung, verwendet wird.
Method according to claim 5,
characterized,
in that the server service used is a service for providing licenses, in particular for licenses for using the at least one application.
Verfahren nach einem der vorhergehenden Patentansprüche,
dadurch gekennzeichnet,
dass als die zumindest eine Anwendung ein Engineering-System (TIAP) für industrielle Automatisierungsanordnungen verwendet wird.
Method according to one of the preceding claims,
characterized,
in that as the at least one application an engineering system (TIAP) is used for industrial automation arrangements.
Anordnung mit einem ersten Computer (PC) und einem zweiten Computer mit einer virtuellen Maschine (VM),
wobei auf der virtuellen (VM) Maschine zumindest eine Anwendung installiert ist,
wobei der erste Computer (PC) ein Programmiergerät (PG) einer industriellen Automatisierungsanordnung ist, wobei das Programmiergerät (PG) mittels eines Automatisierungsnetzwerkes mit zumindest einer industriellen Steuerung (PLC) verbunden ist,
wobei mittels des Programmiergerätes (PG) und mittels einer Schnittstellenverbindung die zumindest eine Anwendung auf die zumindest eine industrielle Steuerung (PLC) zugreift, und
wobei ein Zugriff des ersten Computers (PC) auf die zumindest eine Anwendung über eine Netzwerkverbindung vorgesehen ist,
wobei vorgesehen ist, dass in einem ersten Schritt von dem ersten Computer (PC) zu der virtuellen Maschine (VM) eine Remote-Desktop-Protocol - RDP - (RDP-C) Verbindung aufgebaut wird,
dadurch gekennzeichnet, dass
weiter vorgesehen ist, dass
in einem zweiten Schritt von der virtuellen Maschine (VM) zu dem ersten Computer (PC) über einen virtuellen Kanal (RDP-VC) der Remote-Desktop-Protocol - RDP - (RDP-C) Verbindung der zumindest einen Anwendung zumindest eine Kommunikationsbeziehung des ersten Computers (PC) zu der industriellen Steuerung (PLC)als eine lokale Kommunikationsbeziehung zur Verfügung gestellt wird.
Arrangement with a first computer (PC) and a second computer with a virtual machine (VM),
wherein at least one application is installed on the virtual machine (VM),
the first computer (PC) being a programming device (PG) of an industrial automation system, the programming device (PG) being connected to at least one industrial controller (PLC) by means of an automation network,
wherein by means of the programming device (PG) and by means of an interface connection, the at least one application accesses the at least one industrial controller (PLC), and
wherein access of the first computer (PC) to the at least one application is provided via a network connection,
wherein it is provided that in a first step from the first computer (PC) to the virtual machine (VM) a Remote Desktop Protocol - RDP (RDP-C) connection is set up,
characterized in that
further provided is that
in a second step from the virtual machine (VM) to the first computer (PC) via a virtual channel (RDP-VC) the Remote Desktop Protocol - RDP (RDP-C) connection of the at least one application at least one communication relation of the first computer (PC) to the industrial controller (PLC) as a local communication relationship is provided.
EP17176913.6A 2017-06-20 2017-06-20 Method and assembly for enabling access from a first computer to a virtual machine of a second computer Active EP3418833B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP17176913.6A EP3418833B1 (en) 2017-06-20 2017-06-20 Method and assembly for enabling access from a first computer to a virtual machine of a second computer
CN201810611076.6A CN109101314B (en) 2017-06-20 2018-06-13 Method and apparatus for enabling a first computer to access a virtual machine of a second computer
US16/011,895 US11188356B2 (en) 2017-06-20 2018-06-19 Method and arrangement to access a first computer on a virtual machine of a second computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP17176913.6A EP3418833B1 (en) 2017-06-20 2017-06-20 Method and assembly for enabling access from a first computer to a virtual machine of a second computer

Publications (2)

Publication Number Publication Date
EP3418833A1 true EP3418833A1 (en) 2018-12-26
EP3418833B1 EP3418833B1 (en) 2021-04-07

Family

ID=59093451

Family Applications (1)

Application Number Title Priority Date Filing Date
EP17176913.6A Active EP3418833B1 (en) 2017-06-20 2017-06-20 Method and assembly for enabling access from a first computer to a virtual machine of a second computer

Country Status (3)

Country Link
US (1) US11188356B2 (en)
EP (1) EP3418833B1 (en)
CN (1) CN109101314B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113614716A (en) * 2019-03-27 2021-11-05 三菱电机株式会社 License transfer tool, program, and license transfer system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3882766A1 (en) 2020-03-20 2021-09-22 Siemens Aktiengesellschaft Method and assembly for managing automation programs for industrial automation platforms

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1283632A2 (en) * 2001-08-10 2003-02-12 IniNet AG Method and arrangement for the transfer of data
DE102012205907A1 (en) * 2012-04-11 2013-10-17 Trumpf Werkzeugmaschinen Gmbh + Co. Kg System and method for machine maintenance
EP2801941A1 (en) * 2013-05-09 2014-11-12 Rockwell Automation Technologies, Inc. Using cloud-based data for virtualization of an industrial automation environment with information overlays

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
CN102571895B (en) * 2010-12-08 2015-04-01 中国电信股份有限公司 Method and system of accessing virtual machine remotely
DE102011007761A1 (en) * 2011-04-20 2012-10-25 Trumpf Werkzeugmaschinen Gmbh + Co. Kg System and method for secure file transfer
US20140372508A1 (en) * 2013-06-14 2014-12-18 Andrew T. Fausak Native client tunnel service for client-server communication
CN104113542A (en) * 2014-07-18 2014-10-22 国家电网公司 Application virtualization method based on remote desktop protocol (RDP)
US9628810B1 (en) * 2015-11-02 2017-04-18 Dell Products L.P. Run-length encoded image decompressor for a remote desktop protocol client in a standards-based web browser
CN105487916B (en) * 2015-11-24 2018-11-20 上海君是信息科技有限公司 A kind of secure virtual machine reinforcement means under desktop cloud environment
CN105426230A (en) * 2015-12-09 2016-03-23 湖南昇云科技有限公司 Method and system for automatically modifying computer names for system under KVM virtualization platform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1283632A2 (en) * 2001-08-10 2003-02-12 IniNet AG Method and arrangement for the transfer of data
DE102012205907A1 (en) * 2012-04-11 2013-10-17 Trumpf Werkzeugmaschinen Gmbh + Co. Kg System and method for machine maintenance
EP2801941A1 (en) * 2013-05-09 2014-11-12 Rockwell Automation Technologies, Inc. Using cloud-based data for virtualization of an industrial automation environment with information overlays

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MICROSOFT CORP.: "Remote Desktop Services virtual channels (Windows)", 12 October 2016 (2016-10-12), XP055404584, Retrieved from the Internet <URL:https://web.archive.org/web/20161012091543/https://msdn.microsoft.com/en-us/library/aa383509(v=vs.85).aspx> [retrieved on 20170907] *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113614716A (en) * 2019-03-27 2021-11-05 三菱电机株式会社 License transfer tool, program, and license transfer system

Also Published As

Publication number Publication date
EP3418833B1 (en) 2021-04-07
CN109101314A (en) 2018-12-28
CN109101314B (en) 2022-01-11
US11188356B2 (en) 2021-11-30
US20180365039A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
EP3705955B1 (en) Method for secure communication between a field device for automation technology and a terminal and system for secure communication between a field device and a terminal
EP3480672B1 (en) Method for identifying and indicating operator access to process objects and operator system
EP1540433A2 (en) System for virtual process interfacing via a remote desktop protocol (rdp)
DE102012205907B4 (en) System and method for machine maintenance
DE10251523A1 (en) System and method for providing data and services for devices, and device that uses the data and services provided
EP1431877A2 (en) Parameterizing-/diagnostic system for a field device
EP3542232A1 (en) Control system for an industrial automation facility and method for programming and operating such a control system
WO2018036708A1 (en) Gateway and method for connecting a data source system to an it system
EP3418833B1 (en) Method and assembly for enabling access from a first computer to a virtual machine of a second computer
EP1682952B1 (en) Method for maintaining field devices used for process automation technology by means of a maintenance computer
EP2375636A1 (en) Device and method for configuring a bus system
EP2304558B1 (en) System and method for remote communication between a central computer and a machine controller
DE102010040055B4 (en) System for communication of several clients with several field devices in automation technology
EP2226693A1 (en) Programming device for projecting a communication connection between automation components in an industrial automation assembly
EP2333624A1 (en) Method and device for configuring a component in an industrial automation device
EP3106950B1 (en) Tool system for an assembly plant and method for a tool system for an assembly plant
DE102005007477B4 (en) Programmable control for machine and / or plant automation with standard control and safety functions and communication with a safety I / O and method for operating the programmable controller
EP3798878B1 (en) System and method for secure execution of an automation program in a cloud computation environment
WO2012143480A1 (en) System and method for securely transferring files
EP2618522A1 (en) Method for computer-based design of an automation system
EP3479538B1 (en) Security apparatus having a key memory bound to a specific location, system, and method
EP3620869A1 (en) Method and conversion components for data exchange between two systems with different security concepts for functional safety
EP3133448B1 (en) Method and device for programming and controlling hydraulic devices
DE102004017698A1 (en) Supervisory control and data acquisition system for network control system, has data acquisition components e.g. blocking devices, switching assignments and markings and usages of foreign vendors that are in respective integration platforms
EP4123396A1 (en) Technique for implementing visualization for an automation system with a programmable controller

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20190625

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20201208

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1380513

Country of ref document: AT

Kind code of ref document: T

Effective date: 20210415

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 502017009958

Country of ref document: DE

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG9D

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20210407

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210707

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210809

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210707

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210807

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210708

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 502017009958

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20210630

26N No opposition filed

Effective date: 20220110

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20210707

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210620

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LI

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210630

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210620

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210707

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210630

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210807

Ref country code: AL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20210630

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: IT

Payment date: 20220623

Year of fee payment: 6

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20220621

Year of fee payment: 6

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20170620

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: DE

Payment date: 20220630

Year of fee payment: 7

REG Reference to a national code

Ref country code: AT

Ref legal event code: MM01

Ref document number: 1380513

Country of ref document: AT

Kind code of ref document: T

Effective date: 20220620

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: AT

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20220620

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20210407

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: FR

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20230630