Variable Verbindung von Steuerungen ohne Konfigurationsaufwand

NieZuSpaet

Level-2
Beiträge
153
Reaktionspunkte
20
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,
ich benötige mal einige Ideen, wie ich sowas am besten umsetzen kann:
wir planen, unsere Fördertechnik modular aufzubauen. Ziel soll es sein, jedes Modul mit einer eigenen SPS / Controller schlau zu machen. Soweit so einfach.
Jetzt müssen die einzelnen Module noch gewisse Daten mit dem Vorgänger und dem Nachfolger-Modul austauschen. Das soll natürlich unabhängig von der Anordnung der einzelnen Module und ohne weiteren Konfigurationsaufwand geschehen.
Als Beispiel: Ich habe drei Module A –B – C in Reihe aufgebaut. Modul A bekommt von einer übergeordneten Steuerung Teile-Informationen, reicht diese dann an B weiter, B dann an C. Morgen werden die Module z.B. in der Reihenfolge C – B – A aneinander gereiht. Jetzt bekommt natürlich Modul C die Daten der übergeordneten Steuerung und reicht sie an B weiter, B dann an A.
Und hier fehlt mir die passende Idee: wie und mit welchem Bus kann ich die Module verbinden, so dass über die Verbindung klar ist, welches Modul vor und welches nach einem jeweiligen Modul steht. Alle Bussysteme, die mir in den Sinn kommen, arbeiten immer mit Adressen. Ich benötige aber eine Verbindung, wo z.B. über den Port klar ist, was der Eingang oder was der Ausgang ist.
Als Steuerung habe ich erst einmal Beckhoff oder Wago im Visier, bin aber auch offen für andere Vorschläge.

Gruß

Holger
 
Hallo Holger,

mit Ethercat könnte es klappen:

Auto-Increment:
Mit der Auto-Increment-Adressierung kann jeder Slave anhand
seiner Position im Kommunikationsring adressiert werden. Dabei inkrementiert
jeder Slave das 16-Bit-Adressfeld während des Telegrammdurchlaufs; adressiert
ist der Slave, der ein Adressfeld mit dem Wert 0 empfängt. Will die Steuerung den
zehnten Teilnehmer im Ring ansprechen, sendet sie ein Telegramm mit Auto-Increment-
Adressierung mit dem Startwert 9, der pro Teilnehmer um eins inkrementiert
wird. Die Auto-Increment-Adressierung wird in der Regel nur in der
Startup-Phase benutzt, in der der Master Stationsadressen an die Slaves verteilt.
Danach können sie unabhängig von ihrer Position im Ring adressiert werden.
Diese Vorgehensweise bietet den Vorteil, dass bei den Slaves keine Stationsadressen
manuell einzustellen sind. Ein nachträgliches Einfügen von Slaves führt
nicht zu neuen Adressen.

Quelle: https://www.ethercat.org/pdf/ethercat_d.pdf

Gruß Michael
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

werden die Daten immer im nächsten Modul verarbeitet oder gibt es auch Daten die für das Übernächste Modul bestimmt sind?

Ich hab mal ein ähnliches Problem bei Stationen auf einem Rundtisch gehabt - modularer Aufbau, Module tauschbar, Prozessinformationen müssen weitergegeben werden. Am Ende war es eine recht umfangreiches Programm, welches über eine Fallunterscheidung den Aufbau des Tisches "auslesen" konnte. Die einzelnen Module wurden per Steckverbindung an den Tisch verbunden. Über Codier-Brücken im Stecker konnte die übergelagerte SPS erkennen, welches Modul wo gesteckt ist und welche Arbeitsschritte sie für das aktuelle Produkt braucht.
Soweit ich verstanden habe möchtet ihr auf diese Art einer übergeordneten Steuerung verzichten - daher folgende Idee:

Ihr könntet die Maschienen mit Ethernet Point-to-point vernetzen und Netzwerkvariablen anlegen, eine Liste, nennen wir sie mal "NetVar_in" wird nur gelesen, die zweite "NetVar_out" nur geschrieben. In dem jeweiligen Modul wird der Inhalt von NetVar_in nach NetVar_out kopiert. Ich stelle mir das in etwa so vor:
Variablen Block 1 für Modul A wird in Modul A verarbeitet, in allen anderen nur "durchgeschoben", analog dazu Block 2, wo die veränderten Variablen von Modul A geschrieben werden.
Modul B verarbeitet Block 2, schreibt in Block 3 und schiebt alle anderen Variablen nur durch.

So bekämt ihr eine klare Datenflußrichtung und seid immer noch flexibel im Aufbau. Wenn ihr Steuerungen mit zwei Ethernetanschlüssen habt könnt ihr die sogar alle gleich einstellen, also Port 1 192.168.0.1, Port zwei 192.168.0.2, wenn ihr dann die Ports zu den jeweiligen Schnittstellen der Module führt, also 1 an den Eingang 2 an den Ausgang und die Steuerungen direkt miteinander vernetzt ohne Switch sollte dieser Aufbau eigentlich recht universell sein. Das einzige was damit nicht geht, ist den Materialfluß der Anlage umzudrehen, aber das war auch nicht teil der Aufgabenstellung, oder?
 
Danke schon mal für die Antworten.
Ja, die Daten gehen immer nur von einem Modul zum Nächsten.
Eure Beiden Varianten hören sich schon mal vielversprechend an. Vor allem die Adressierung via Auto-Increment ist das, was ich gesucht habe. Muss jetzt mal gucken, ob ich einen kleinen Controller von Beckhoff bekommen kann. Oder zwei oder drei... EtherCat ist ja quasi deren Netz.
@Morymmus: hast du die Point-to-Point Ethernet gemacht? Mit welchen Steuerungen?
Werde morgen im Büro mal weiter forschen. Die Richtung ist schon mal gut.
Schönen Abend noch
Gruß
Holger
 
Bei mir war es damals eine Eaton XC-CPU, die hat nur einen Lan-Anschluss, da es auch in jeder Einheit eine Visualisierung gab (Eaton XV-) war in jedem Schaltschrank ein Mini-4er-Switch.

Gesendet von meinem T6pro mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei Siemens würde mir hier spontan ein PN/PN-Koppler einfallen... Gibts sowas nicht auch für EtherCat ???
Gut, hab auf die Schnelle jetzt nix gefunden, dein Vorhaben würde aber auch sicherlich mit z.B. Anybus X-gateways von HMS gehen...

MfG Fabsi
 
Bei Siemens würde mir hier spontan ein PN/PN-Koppler einfallen... Gibts sowas nicht auch für EtherCat ???
Gut, hab auf die Schnelle jetzt nix gefunden, dein Vorhaben würde aber auch sicherlich mit z.B. Anybus X-gateways von HMS gehen...

MfG Fabsi

Wie willst du mit Profinet eine dynamische Zuordnung erreichen?

Buskoppler würde mit Profibus vielleicht funktionieren.
Auf Fördertechnikmodul immer die gleiche Adresse. Auf der Linienseite die Adressen steigend entsprechend der Position.
Somit geht der Modultausch zumindest ohne Notebook durch Umstellen der DIP-Schalter.

Gruß
Blockmove
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Von welcher Zahl an Modulen reden wir denn maximal hintereinander circa ? Ist dein Wunsch nur hinstellen, Bus dran Spannung und los oder bekommen diese noch weiter Verknüpfungen auf Hardware Basis wie bspw Star/Stopp, Notaus oder etwas in dieser Art ?
Sind die Module sonst alle Baugleich ? Handelt es sich also 3..6mal um die selbe Anlage, die heute mal mit zwei Anlagen verbunden wird und an Position 1 steht und Morgen an einer Anlage aus fünf Gruppen an Position vier ? Oder sind es verschiede Baugruppen in Verschiedenen Größen die an sich auch noch unterschiedliche Funktionen aufweisen ?
Ist der Aufwand machbar/praktikabel das jemand nach dem vernetzen und "Hochfahren" einmal an jeder Anlage vorbei geht und zwar von ein zu zwei zu drei... und einmal eine Art Init-Taste drückt und die Anlage dann erkennt ich bin jetzt Nummer Zwei ?

Grüße
 
@Dr.MirakulixX: Wie viele Module es werden, ist noch nicht klar. Ich denke, wenn ich es dynamisch adressiert bekomme, gibt mir der Bus die max. Anzahl der Module vor. Am Besten wäre es, hinstellen, Bus und Spannung dran und los. Aber um eine sinnvolle Not-Halt-Verknüpfung werde ich auch nicht herumkommen.
Alle anderen Informationen sollen dann von Modul zu Modul über die Vernetzung gehen.
Die Module sind in ihrer Funktion schon unterschiedlich. Anfangs aber vielleicht nur 3 oder 4 verschiedene. Es wird auch bestimmt nicht täglich umgebaut, sodass eine Art Init-Funtkion möglich wäre. Am Liebsten wäre es mir aber, wenn die Module es selbst erkennen, dass sie anders angeordnet sind. Oder ich mache halt nach Spannungswiederkehr direkt einen INIT-Lauf. Ob ich es mit einem Taster anstoße oder nach dem Hochfahren der Steuerungen ist ja einerlei. Die Variante mit der Auto-Increment-Adressierung kommt meiner Vorstellung schon recht nah...
Gruß
Holger
 
Wenn du quasi mit einem Taster den Init einleitest wäre das ja eine Alternative falls das mit der Autoinkrementierung nicht klappt.
Gedacht hatte ich das in etwa so :
Anlage 1 bekommt gesagt du bist jetzt 1 (zB Wahlschalter) und du drückst Init. Anlage 1 speichert sich den Wert, ich bin 1 und schreibt dieses um 1 inkrementiert in eine Netzvar. Nun drückst du bei Anlage 2 Init. Diese fragt dann Hallo welche Position habe ich ? Ok ! 2, gespeichert und wert wird erhöht und weitergereicht.
Aber gebe dir recht wenn du ein Bus findest der das alleine kann ist das deutlich schöner.
 
Zurück
Oben