VPN-Tunnel
Über TeamViewer kann ich ja nur den Rechner fernsteuern. Auf meinem rechner ist WinCC installiert, auf dem rechner Vor Ort nicht. Gibt es eine Möglichkeit die Daten von dem fernzusteuernden rechner in mein WinCC zubekommen, sodass ich einen Online Trend aufnehmen kann?
Das sollte gehen, ich habe soetwas ähnliches vor ein paar Wochen selbst mit Temviewer eingerichtet. Dort ging es aber nur um die Möglichkeit der Programmänderung in der SPS, diese im Status zu beobachten, bzw. mit WinCC-Flex. eine neue Projektierung auf ein TP zu übertragen.
Voraussetzungen:
- das ferne Netzwerk ist in einem anderen Sub-Netz als Dein lokales. Also das Ferne zum Beisspiel 192.168.2.0, lokal 192.168.1.0. bei einer angenommenen Netmask von 255.255.255.0. Sind beide im gleichen Subnetz, funktioniert es nicht.
- es gibt einen fernen PC mit TeamViewer und VPN-Erweiterung (o.a.), dieser PC hängt mit einer Netzwerkkarte am Netzwerk mit der SPS (im weiteren SPS-Netz genannt), mit einer zweiten an einem Netzwerk über das man ins Internet gelangen kann.
- auf allen Ethernet-SPS-Komponenten die Du erreichen willst, also CPs, TPs, ... ist als Gateway die IP-Adresse der Netzwerkkarte vom SPS-Netz des fernen PCs eingetragen.
Vorgehensweise:
Der Ferne PC muß routen können, bei Win-XP prof ist dazu ist in der Registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
IPEnableRouter=1
zu setzen. Evtl. ist der PC danach neu zu booten.
Auf deinem lokalen PC startest Du nun Teamviewer, machst eine normale Fernwartung auf und startest wenn die steht zusätzlich die VPN-Erweiterung. In dem Fenster werden Dir die beiden IP-Adressen der Enden des VPN-Tunnels angezeigt. Es gibt Deine Seite und die Ferne (wenn ich mich recht erinnere 7.X.X.X oder so.) soweit ich das beobachtet habe, sind diese auch jedesmal wieder die Gleichen. In dem Teamviewer-Fenster gibt es die Möglichkeit einen Testping zu senden. Teste das, bevor das nicht klappt brauchst Du nicht weiter machen. Evtl. testweise die Firewall deaktivieren.
Jetzt öffnest Du eine Eingabeaufforderung ("cmd"). Leider habe ich grade kein Windows greifbar, ich hoffe ich erinnere mich richtig. Dort gibst Du den Befehl "route print" ein. In der Interface-Liste sollte die virtuelle VPN-Verbindung auftauchen. Von dieser merkst Du Dir den Interface-Namen (sowas wie 2 oder 0x2), sie steht in der ersten Spalte der Liste. Dann gibst Du folgenden Befehl ein:
route add 192.168.2.0 MASK 255.255.255.0 7.1.2.3 METRIC 3 IF 0x2
Dabei ist:
192.168.2.0 das SPS-Netz
255.255.255.0 die Netzwerkmask des SPS-Netzes
7.1.2.3 die IP des fernen Endes des VPN-Tunnels
METRIC 3 die Anzahl der Hops, die genaue Zahl ist unkritisch.
IF 0x2 der Interfacename des virtuellen VPN-Adapters, den TeamViewer angelegt hat.
Die wirklichen Parameter mußt Du natürlich Deinen Gegebenheiten anpassen.
Damit sagst Du Deinem lokalem PC, das er alles was an das SPS-Netz geschickt werden soll, an den fernen PC über den VPN-Tunnel senden soll. Aus diesem Grund muß das SPS-Netz auch einen anderen IP-Bereich haben als Dein lokales Netz, sonst würde Dein lokaler PC die Pakete auf seiner Netzwerkkarte ausgeben, wo sie die SPS nie erreichen können. Die Route wird übrigens automatisch entfernt, wenn die VPN-Verbindung geschlossen wird.
Das wars, danach solltest Du die ferne SPS anpingen können. Um Bausteine zu übertragen, oder die SPS im Status zu beobachten mußt Du im Simatic-Manager unter Extras->... den virtuellen VPN-Adapter als Kommunikationsschnittstelle eintragen. Wenn Du nun noch Deinem WinCC an passender Stelle sagst über welchen Kanal es die SPS-erreicht sollte auch das funktionieren. Mit WinCC kenne ich mich nicht weiter aus, evtl. übernimmt ja es die Einstellungen aus dem SimaticManager.
Es liest sich ein wenig kompliziert, kommt dafür aber ohne zusätzliche Hardware und Port-Weiterleitungen auf der Gegenseite aus. Und eine Teamviewer-Lizenz hat man eh. ;-)
Falls ich dem ein oder anderem zu oft "TeamViewer" geschrieben habe, der verstehe dieses nur als Platzhalter für ein Tool seiner Wahl um einen VPN-Tunnel aufzumachen.
Bis dann