TIA CAN Bus S7-1500 Dynamische Adressvergabe

Lukas_57

Member
Beiträge
17
Reaktionspunkte
8
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

folgendes Szenario: Ich habe eine S7-1500 (Sinumerik One) und daran per Profinet ein CAN-Link Modul von Siemens. Daran befinden sich 4 Rotary Drehschalter mit Touchscreen von Grayhill. Diese kommunizieren über den CAN Bus mit der SPS.
Bevor man diese im System nutzen kann, müssen diese eine individuelle sog. Source Address zugewiesen bekommen. Tut man das nicht, haben alle die Standardadresse und lassen sich von der CPU nicht einzeln ansprechen. Feste individuelle Adressen sind jedoch wichtig, damit die Rotaries ihre zugewiesene Funktion am Bedienpult einnehmen können. Diese Adressen sind im Programm bereits fest, das heißt, ein frisch angeschlossener Rotary müsste irgendwie automatisch die Adresse einnehmen, die er aufgrund seiner Funktion benötigt, sonst funktioniert nachher nichts...

Um diesen Taufvorgang bei Erstinbetriebnahme zu erleichtern, habe ich gelesen, dass es ein sogenanntes Dynamic Addressing im in der SAE J1939-81 gibt. Ich frage mich allerdings, wie das mit dem Siemens CAN-Link Modul funktioniert. Dort muss man ja Sende- und Empfangsnachrichten vor-einstellen und ist da wenig flexibel was den Nachrichtenheader angeht.
Hat damit jemand Erfahrung und kann mir vielleicht auf die Sprünge helfen?
Danke und VG
 
Zuletzt bearbeitet:
Hi,

hast du einen CAN Link oder einen J1939 Link im Einsatz?
Letzterer kann das wohl, siehe auch hier (Stichwort Address Claiming) hab das so aber auch noch nie genutzt.

An sonsten besteht immernoch die Möglichkeit per regulärem Kommando (ggf. mit Broadcast?) die Teile umzuadressieren.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo revve,
Ich habe leider "nur" einen CAN Link. Der kann das definitiv nicht?
Werde mir dann wohl mal die Sachen zum J1939 Link anschauen. Vllt kann ich darauf wechseln.

An sonsten besteht immernoch die Möglichkeit per regulärem Kommando (ggf. mit Broadcast?) die Teile umzuadressieren
So ähnlich machen wir es aktuell schon. Muss mir das nochmal genauer anschauen.

Danke schonnmal!
 
also CAN ist ja nicht gleich CAN, im Siemensumfeld hast du eigentlich drei (zugegeben halbherzig) umgesetzte Protokolle:
- CAN (transparent), also "Vanilla" CAN ohne higher level protocols
- CANopen, CAN erweitert um Feldbusfunktionalitäten wie NMT Master, Heartbeats, etc.
- SAE J1939, was mal für LKWs und Baumaschinen war und irgendwie in Siemens' Portfolio gerutscht ist, setzt auch auf "Basic" CAN auf, hat aber auch Erweiterungen die dein CAN Master nicht notwendigerweise kann


Da ja alles auf CAN transparent aufsetzt würde ich sagen wenn du "nur" die Zählwerte auslesen willst ist das machbar, aber Versuch macht wie so oft klug und vielleicht gibts ja doch einen Grund warum Siemens das als eigenes Gerät vertreibt.
Aber alles was Network Management nach J1939-81 ist müsstest du jedenfalls softwareseitig erweitern, wahrscheinlich mittels Sende- und Empfangsproxy und etwas Hirnschmalz, unmöglich ist es nicht, aber schön ist eben anders.

Wenn sonst nix an dem Bus hängt würde es Sinn machen auf das andere Gerät umzusteigen.
 
Der CAN Link kann doch auch Can Open? Kann der Grayhill seine Adressen auch per SDO parametriert bekommen? Ich kenne das von anderen Geräten, die spricht man per Broadcast an und ändert dann per SDO die Adresse. Du musst nur sicherstellen, dass zu dem Zeitpunkt nur das eine Gerät am Bus angeschlossen ist, gegebenenfalls kann man den anderen per Schütz die Spannung wegschalten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn sonst nix an dem Bus hängt würde es Sinn machen auf das andere Gerät umzusteigen.
Danke für deine Infos. Wir nutzen den Modus CAN transparent, dann fällt das dynamic addressing ja eh raus. Die Hardware wechseln kann ich leider nicht, da eigentlich nur die Funktion per Software erweitert werden soll. Es geht um Serienmaschinen, da kann ich die Hardware nicht ändern...
Der CAN Link kann doch auch Can Open? Kann der Grayhill seine Adressen auch per SDO parametriert bekommen? Ich kenne das von anderen Geräten, die spricht man per Broadcast an und ändert dann per SDO die Adresse. Du musst nur sicherstellen, dass zu dem Zeitpunkt nur das eine Gerät am Bus angeschlossen ist, gegebenenfalls kann man den anderen per Schütz die Spannung wegschalten.
Aktuell funktioniet es so ähnlich. Grayhill hat eigene Protokolle, mit denen man die Adresse ändern kann. Muss dann bei neuen Geräten "out-of-the-box" auch einzeln erfolgen. Broadcast ist also auch nicht wirklich eine Hilfe...

Aktuell haben wir es jetzt vorerst mit den custom Befehlen zum Adressieren von Grayhill gelöst. So ist es zwar nicht optimal, aber nutzbar. Scheint mir alles mit zu komplizierten Änderungen verbunden zu sein, um eine Chance zu haben, dass das dynamic addressing funktioniert.
 
Zurück
Oben