# Problem libnodave über Ethernet



## Tupo13 (27 Oktober 2005)

Hallo, 

habe da mal eine Frage und hoffe, dass mir jemand helfen kann.

Ist es möglich mit libnodave auch mit SPSen (CPs) zu kommunizieren die keine IP-Adressen sondern nur Mac-Adressen haben?

Da Ethernet ja  Macadressen verwendet muss Libnodave sie ja irgendwo herhaben. Ich denke mal aus einem ARP-Request mit der eingegebenen IP-Adresse?

Gibt es die möglichkeit gleich mit der Macadresse zu initialisieren?

vielen Dank im voraus

Gruß


----------



## seeba (27 Oktober 2005)

Tupo13 schrieb:
			
		

> Hallo,
> 
> habe da mal eine Frage und hoffe, dass mir jemand helfen kann.
> 
> ...



Du meinst Baugruppen die nur das reine ISO-Protokoll unterstützen? Das geht soweit ich informiert bin nicht mit libnodave, denn die lib braucht ISO over TCP!


----------



## Tupo13 (27 Oktober 2005)

Genau das meine ich

-danke für deine schnelle Antwort


----------



## bimota (27 Oktober 2005)

Hallo,

um mit dem ISO-Protokoll zu kommunizieren benötigt man einen betriebssystemabhängigen Treiber für eben dieses Protokoll.

Aus kompatibilitätsgründen (alle paar Monate/Jahre neues Betriebssystem) ist es daher ratsam das mit einer seperaten Hardware zu lösen. 
Also ein Ethernet-Gateway welches das ISO-Protokoll auf TCP umsetzt. Damit können dann alle üblichen Softwarelösungen auf CP's mit ISO-Protokoll zugreifen. Im Internet lassen sich einige Anbieter solcher Geräte finden.


----------



## Zottel (27 Oktober 2005)

Das hat schon einer gefragt, vor 6-7 Wochen. Er hat mir auch Aufzeichnungen von Ethereal geschickt und ich war schon angefangen, aber er hat dann nicht mehr nachgefragt und so ist es eingeschlafen...
Erstens: ARP nützt dir da gar nix. Wenn pures ISO realisiert würde, müßtest du die MAC-Adresse statt der IP-Adresse angeben.
Zweitens: Ich hatte keine Lust mehr, weil das eh nur für ein paar uralte CPs relevant zu sein scheint, die nix anderes können.
Ich habe keinen CP, nur eine unvollständige Simulation unter Linux. Also ist meine einzige Chance:
1. Das Senden eines solchen Pakets zu implementieren und gucken, ob es so aussieht wie in Ethereal. Ich habe das unter Windows mal so gemacht. Irgendwo gabs in den header files vvon winsock auch mal das Wort ISO, aber ich habe lieber das ganze Paket "selbst gebaut" und den Versand des "rohen" Paketes durch eine Bibliothek namens winpcap machen lasssen, die zu Ethereal gehört.
2. Den Empfang unter Linux implementieren oder die CP-Simulation nach Windows portieren.
3. Nachdem Senden und Empfang in beideen Richtungen "ordentlich" aussieht, es einem CP-Besitzer zum Testen zuschicken.
4. Korrigieren, wieder zuschicken
Die Schritte 2 -4 (a4-4?) wären halt noch zu tun, aber lohnt sich das?


----------



## Rainer Hönle (27 Oktober 2005)

Zottel schrieb:
			
		

> Die Schritte 2 -4 (a4-4?) wären halt noch zu tun, aber lohnt sich das?



Ich glaube nicht. Auch bei ACCON-AGLink verwenden wir nur RFC1006 und nicht das reine ISO-Protokoll. Dieses wird auch von den neuen Baugruppen nicht mehr unterstützt, ist nicht routingfähig, benötigt einen zum OS passenden Packetdriver etc. Wenn jemand eine solche Lösung unbedingt benötigt, gibt es (zumindest für Windows) so etwas bei Inat.


----------



## Tupo13 (27 Oktober 2005)

@ Zottel



> Ich hatte keine Lust mehr, weil das eh nur für ein paar uralte CPs relevant zu sein scheint, die nix anderes können.



Na ja eigentlich kann man das bei jeder Siemens SPS einstellen. 

Ob sich das lohnt, weiß ich nicht, wollte nur in meinem Programm in dem ich libnodave benutze auch diese Möglichkeit der Kommunikation einbeziehen. Da es wohl einige Arbeit für dich macht wird es sich wohl nicht lohnen. 


Danke für eure schnellen Antworten
Gruß


----------



## Zottel (27 Oktober 2005)

Tupo13 schrieb:
			
		

> Na ja eigentlich kann man das bei jeder Siemens SPS einstellen.


Ich kann mir aber schwer vorstellen, daß es jemand einstellen will, auf Geräten auf denen er auch TCP/IP nutzen kann.


----------



## bimota (27 Oktober 2005)

Das wäre auch unnötig. 
Etwas anderes zur Implementierung:
Soviel ich weiss, wird bei ISO das Protokoll ISO 8073 direkt über Ethernet verwendet, also ohne IP. 
Gibt es da bei neueren Windowssystemen (z.B. XP mit SP 2) nicht Probleme bei der Raw-Socket Programmierung? (Sicherheitseinstellungen)
So eine Implementierung wäre dann nur unter Linux machbar und verfügbar.


----------



## Zottel (27 Oktober 2005)

bimota schrieb:
			
		

> Gibt es da bei neueren Windowssystemen (z.B. XP mit SP 2) nicht Probleme bei der Raw-Socket Programmierung? (Sicherheitseinstellungen)


Die winpcap-Bibliothek tat es bei mir auf win2k Sp4. Ich war als Administrator eingeloogt.
Ich sage voraus es funktioniert genau dann wenn auch Ethereal funktioniert.
Ohne XP zu kennen, soweit ich weiß bedeutet dort eine Anmeldung als Administrator nicht mehr, daß man automatisch mit allen Rechten arbeitet. Einige muß man sich erst selbst einräumen.


----------

