# Mehrere gleiche AMS-Net-ID per TC-ADS abfragen?



## TobiasS (19 Mai 2011)

Hallo und guten Tag allerseits,

bislang habe ich das Problem nicht gehabt, aber jetzt stehe ich davor und es gibt keine Lösung... (?!)

Wir haben mehrere Anlagen die mit gleichen IPs (und AMS-Net-ID´s) ausgestattet sind. Da einige Teile in gewisser Konstellation immer untereinander vom Anlagenbediener ausgetauscht werden müssen, also von einer Anlage zur anderen, muss dass auch so bleiben. Ganz konkret wollen wir in diesem Fall (mehrere Fälle  ) per TC-ADS von AMS-NET-ID '192.168.2.14.1.1' Variabelen abfragen.


Angeschlossen sind die lokalen Netze der Anlage jeweils über einen Router (alle mit anderen WAN IPs). Per Forwarding werden alle Verbindungsanfragen an 192.168.2.14 weitergeleitet. Also generell kann man also jetzt von aussen auf die 192.168.2.14 zugreifen, da der Router entsprechend die Netze (WAN zu LAN) verbindet.


Also zu Wartungszwecken reicht es so, da ich ja dafür nicht mehrer Routen mit der gleichen AMS-Net-ID gleichzeitig haben muss. 


Wenn ich jetzt aber mit einem eigenen Programm per TwinCAT ADS Variabelen abfragen will, dann benötige ich zum Verbinden ja die 'AMS-Net-Id' ... wenn die aber alle gleich sind? Also andere IP, aber gleiche AMS-Net-ID? Wie lässt sich das realisieren?





Ich danke den Gurus hier schonmal im Vorraus  


:TOOL:



Bis dann,


----------



## cas (19 Mai 2011)

bei den nicht benutzten den Stecker ziehen  ?

tschuldigung...

MfG CAS


----------



## TobiasS (20 Mai 2011)

Naja, aber ich sagte ja gleichzeitig, weil es nicht mehr nur zu wartunsgzwecken sein soll? Und stecker ziehen oder nicht, macht auch keinen unterschied. Sind ja noch hinter anderen IP´s verteckts, die AMS-Net-ID´s. Es geht darum, das es mehrere routen zu verschiedenen endgeräten gibt, die mit gleicher AMS-Net-Id laufen aber unterschiedliche IPs haben und jeweils hinter einem router stecken.

Aber ich seh schon, ich muss wohl für die CX-Geräte eine Anwendung schreiben die selbst die informationen nach aussen veröffentlicht.

Beckhoff ist eben doch nur halb so gut ...


----------



## trinitaucher (20 Mai 2011)

TobiasS schrieb:


> Es geht darum, das es mehrere routen zu verschiedenen endgeräten gibt, die mit gleicher AMS-Net-Id laufen aber unterschiedliche IPs haben und jeweils hinter einem router stecken.


ADS ist als Protokoll dem IP übergeordnet. Ich denke nicht, dass es geht.

Meine Erfahrung zeigt auch, dass es immer Probleme gibt, wenn zwei Rechner die gleiche NetId haben.


----------



## tom_x (20 Mai 2011)

TobiasS schrieb:


> Wir haben mehrere Anlagen die mit gleichen IPs (und AMS-Net-ID´s) ausgestattet sind.






TobiasS schrieb:


> Es geht darum, das es mehrere routen zu verschiedenen endgeräten gibt, die mit gleicher AMS-Net-Id laufen aber unterschiedliche IPs haben und jeweils hinter einem router stecken.



 


Also ein ADS-Routing gibts schon, allerdings muss der Gateway ein TwinCat-Rechner sein.

http://infosys.beckhoff.com/index.php?content=../content/1031/tcremoteaccess/html/tcremoteaccess_sample_adsroutingviagatewaypc.html&id=10044

http://infosys.beckhoff.com/index.php?content=../content/1031/tcsystemmanager/basics/TcSysMgr_RemoteTarget_Def.htm&id=

Bleibt aber immer noch das Problem, dass die Ziel-NetId's gleich sind. Es gibt im System Manager unter "System-Konfiguration/Routing Einstellungen/NetId Management" eine Option "Use Relative NetIds", welche leider nirgends beschrieben ist (zumindest bei meinem 2.10). Vielleicht geht damit was, musst du mal beim Support anfragen. Im Prinzip bräuchtest du ja eine Art virtueller ID, hinter der sich eine ganze Route verbirgt.


----------



## Neals (21 Mai 2011)

Tja... da musst dir wohl die Spezifikation von ADS anschauen und nen eigenen Router oder ähnliches schreiben, der die NetID's umsetzt. Vergleichbar mit einem Internet-Router, der die internen LAN IP's umsetzt auf die globale WAN IP.


----------



## TobiasS (23 Mai 2011)

tom_x schrieb:


> Also ein ADS-Routing gibts schon, allerdings muss der Gateway ein TwinCat-Rechner sein.
> 
> http://infosys.beckhoff.com/index.php?content=../content/1031/tcremoteaccess/html/tcremoteaccess_sample_adsroutingviagatewaypc.html&id=10044
> 
> ...





Ich kann die Verwirrung klären, *tom_X*. Die Anlagen haben gleiche IPs, und gleiche net-ids. Sitzen aber jeweils hinter einem Router. Daher haben diese nach außen hin verschiedene IPs aber gleiche net-ids. (Es ist jeweils nur das Gerät '192.168.2.14' hinter dem router erreichbar). Soweit also für Wartungszwecke ausreichend, solang ich nur mit einem Gerät "Gleichzeitig" kommunizieren will (TwinCAT ADS).


*tom_X*, was sind denn "Relative NetIds" ?


Danke schonmal,

schönen Montag noch


----------



## TobiasS (23 Mai 2011)

Um nochmal den Link zum ADS-Routing aufzugreifen. So wie ich das verstanden habe müssen danach aber ebenfalls hinter dem router alle Net-Ids unterschiedlich sein. Es läuft ja alles auf ebene der Net Ids. Das ADS routing funktioniert also nur dann, wenn hinter dem router-PC die AMS-Net ID´s alle unterschiedlich sind. Wären in meinem Layout aber alle gleich. Es sei denn ich mache an jede Anlage einen PC, der dann Lokal als Router dient ... haha, da werden mich alle für verrückt erklären.

Aber danke für die Anregung.

Im Beckhoff bsp. ist das Endgerät das die Verbindung aufbauen will ein "Service-Notebook". Sobald ich aber anstelle eines Service-Notebooks einen Server setze der via TwinCAT ADS zu mehreren Steuerungen (gleiche AMS-Net Id) gleichzeitig aufbauen soll, geht das nicht, da die kommunikation via AMS-Net-Id geregelt wird.

Siehe Anhang "layout.jpg"


----------



## gloeru (23 Mai 2011)

*Vlan?*

Eine weitere prüfenswerte Möglichkeit wären VLAN (Virtuelle LANs). Da könntest du jeder Rechner in ein eigenes VLAN stellen. Vermutlich brauchst du aber am Leitrechner genau so viele Netzwerkkarten wie VLANs!

Grundsätzlich(!) können IP-Rahmen geroutet werden. Dazu muss auf dem Router entweder Port-Forwarding oder NAT aktiviert sein. (Oder manchmal auch Virtueller Server genannt)

Nachteil davon ist, dass du für den Zugriff vom Server her die IP des Routers wählen musst... 

Wenns wirklich nicht anders geht, frage mal einen Netzwerkadmin!


----------



## TobiasS (24 Mai 2011)

Moin moin,

wir haben mehrere VLANs, der "Server" der die Daten abfragen soll steckt auch in so einem. Daher die ".136.xxx" adressen, unser "normales lan" wäre '192.168.8 bis .14 .x'

Genau wie du es sagst, auf den Routern ist DMZ eingestellt, also alle anfragen vom WAN (Server-Side) werden im LAN an 192.168.2.14 weitergegeben. Das klappt ja auch. Aber, wie Du schon sagst, für den Zugriff auf die Endgeräte muss dann die IP des Routers verwendet werden. Wenn ich also am Server eine neue Static-Route einrichte dann ist diese wie folgt: "IP: 192.168.136.199, Net-Id: 192.168.2.14.1.1". Wenn ich aus meinem eigene Programm also eine Verbindung aufbauen will, muss ich dazu als 'Ziel' die Net-Id angeben, das klappt, so lange ich nur ein 'Ziel mit 192.168.2.14.1.1' habe. 



-Also die TwinCAT-ADS-DLL müsste so von Beckhoff überarbeitet werden, dass nicht nur per Net-Id sondern auch per  IP bzw. mit hilfe von einem "Routen-Name" oder so etwas eine Verbindung aufgebaut werden kann.

- Oder ich muss halt auf den CX-Steuerungen ein Programm laufen lassen das mir nach eigenst gemachtem Protokoll die gewünschten Arbeiten ausführt und Daten nach aussen hin bringt, also ohne Beckhoff ADS.

Ich machs nach 2ter Variante ... wird wohl am sichersten zum Erfolg führen.


----------



## tom_x (24 Mai 2011)

TobiasS schrieb:


> Ich kann die Verwirrung klären, *tom_X*. Die Anlagen haben gleiche IPs, und gleiche net-ids. Sitzen aber jeweils hinter einem Router. Daher haben diese nach außen hin verschiedene IPs aber gleiche net-ids. (Es ist jeweils nur das Gerät '192.168.2.14' hinter dem router erreichbar). Soweit also für Wartungszwecke ausreichend, solang ich nur mit einem Gerät "Gleichzeitig" kommunizieren will (TwinCAT ADS).



Alles klar.



TobiasS schrieb:


> *tom_X*, was sind denn "Relative NetIds" ?


Tja, das ist die Frage. Ich finde nirgends eine Dokumentation dieser Option. Es wäre halt interessant, was sich dahinter verbirgt (vielleicht eine Art Mapping) und ob das im Zusammenhang mit deinem Problem irgendwas bringen würde. Das kann aber nur Beckhoff selbst beantworten.


----------

