Persistente Daten auf Klemmen speichern

PatrickSt

Level-2
Beiträge
53
Reaktionspunkte
23
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich stehe gerade vor folgender Herausforderung und wollte mal wissen, ob ihr so etwas auch schon umgesetzt habt und wenn ja, wie?

Wir produzieren keine großen Maschinen mit festen Schaltschränken, sondern haben kleine Zentraleinheiten mit EtherCAT-Switchen und verschiedenen angeschlossenen Geräten. Diese Geräte sind mobil und können teilweise an unterschiedlichen Stellen der Anlage angeschlossen werden. Wenn Kunden mehrere Anlagen von uns haben, dann ist auch ein Tausch zwischen den Anlagen möglich.

Jetzt wüsste ich auf Steuerungsseite natürlich gerne mit welchem Gerät ich es denn genau zu tun habe. Zum einen, damit ich Betriebsstunden zählen kann, zum anderen aber auch, wenn das Gerät irgendwelche Eigenheiten haben sollte, auf die die Steuerung reagieren soll. (ja, ich weiß, ein Tausch zwischen Anlagen macht das ganze schwierig)
Ich will also irgendwie unsere Seriennummer auf dem Gerät speichern, sodass ich sie im Betrieb wieder auslesen kann.

Mein Ansatz wäre, dass ich das im EEPROM des EK1100 des Geräts speichere. Da gib es auch das Register 12, in dem man ein "Station Alias" speichern kann. Da habe ich werte von 0-65000. Das ist zwar schon mal was, aber die ganze Seriennummer ist leider noch mal 4 Ziffern länger.

Leider konnte ich bisher nicht so recht rausfinden, welche Register denn noch Frei wären. Es gibt zwar noch den "User RAM" (ab Register 0F80), aber ich find nicht raus, wofür der ist. Kann man da etwas reinschreiben ohne was kaputt zu machen?

Oder habt ihr ähnliche Anforderungen, setzt das ganze aber ganz anders um?

Vielen Dank für eure Hilfe und Anregungen.
 
Zuletzt bearbeitet:
Ich habe an einem solchen Konzept schon einmal mit gewirkt, und da gab es ganz grob formuliert folgendes Konzept:

Jeder Anlagenteil hat eine eigene kleine Steuerung die nur für diesen Anlagenteil zuständig ist
Safety ist auch pro Station mit Schnittstelle über Harting-Stecker gelöst worden
Eine zentrale Steuerung pro "Maschinenverbund" hat mit den jeweiligen Anlagenteilen kommuniziert, über eine festgelegte Datenstruktur.
So war jeder Anlagenteil "gleich" ansprechbar für Grundfunktionen, und wenn über diese Grundfunktion hat der Anlagenteil seine Sonderfunktionen "preisgegeben" und die zentrale Steuerung konnte diese dann gesondert ansprechen.

Das klingt erstmal mega komplex, hat aber meiner Meinung nach einen entscheidenen Vorteil:

Jeder Anlagenteil funktioniert in sich, ist einzeln testbar, wartbar, austauschbar und auch debugbar.

Durch die immer gleichen Schnittstellen sowohl in Hardware als auch in Software war die Implementierung von neuen und das Austauschen von bestehenden Anlagenteilen sehr einfach.

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie haben auch eine Anwendung mit auswechselbaren Maschinenmodulen. Die Module haben nur pneumatische Komponenten, ein paar Servomotoren und EtherCAT P IOs. Relevante Betriebs- und Identifikationsdaten speichern wir auf einem DSU100 IO-Link Speicher von ifm.
 
Schau dir mal die EL6080 an.
Ah, super, vielen Dank. Die Klemme kannte ich noch nicht. Die merke ich mir mal für die Zukunft.

Jedes Modul mit einer eigenen Steuerung wäre bei uns ein Overkill, die Module sind teilweise nur 5 Klemmen "groß". Und IO-Link haben wir nicht überall in Verwendung.

Leider scheinen die Buskoppler selbst nicht dafür gemacht zu sein (oder zumindest so verwendet zu werden).
 
Oder ganz herkömmlich 8Bit über den Stecker Codieren. Kostet dich an der Zentralsteuerung gerade mal 8 Eingänge und würde 255 Teilnehmer ermöglichen!
 
Ob und welchen Speicherbereich ein EtherCAT-Hardware-Hersteller nicht nutzt sodass du ihn zweckentfremden kannst (um ein paar statische Daten abzuspeichern) kann dir nur der jeweilige HW-Hersteller sagen. Ich glaube aber nicht das die HW-Hersteller da auskunftsfreudig sind was ich auch verstehe. Wäre in etwas so wie wenn du den Motorraum deines Autos als zusätzlichen Gepräckraum nutzt.

Insofern: Saubere Lösung wäre tatsächlich die EL6080. Da kann man dann auch noch ein paar mehr Daten ablegen.
Der StationAlias ist nutzbar (und ich kenne auch Leute die diesen Bereich "zweckentfremden"). Du könntest deine Seriennummer somit auf zwei aufeinanderfolgende Klemmen splitten...
Ach ja - Register 0x12 (Station Alias) kannst du aus dem SPS Programm nur mit einem Klimmzug beschreiben (über das SII Logical Interface ins EEPROM schreiben incl einer Polynom8-Berechnung) da der Wert beim Aufstarten von eben diesem EEPROM in das Register 0x12 geschrieben wird.
Oder aber manuell über das GUI von TwinCAT o.ä.

So nebenbei.
Wobei ich es kurios finde das du nicht den EK1101 mit HotConnect nutzt um deine Module zu identifizieren. Wie erkennt deine Anlage (Steuerung) denn welches Modul angestöpselt ist ohne das Projekt zu verändern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ob und welchen Speicherbereich ein EtherCAT-Hardware-Hersteller nicht nutzt sodass du ihn zweckentfremden kannst (um ein paar statische Daten abzuspeichern) kann dir nur der jeweilige HW-Hersteller sagen. Ich glaube aber nicht das die HW-Hersteller da auskunftsfreudig sind was ich auch verstehe. Wäre in etwas so wie wenn du den Motorraum deines Autos als zusätzlichen Gepräckraum nutzt.

Insofern: Saubere Lösung wäre tatsächlich die EL6080. Da kann man dann auch noch ein paar mehr Daten ablegen.
Der StationAlias ist nutzbar (und ich kenne auch Leute die diesen Bereich "zweckentfremden"). Du könntest deine Seriennummer somit auf zwei aufeinanderfolgende Klemmen splitten...
Ach ja - Register 0x12 (Station Alias) kannst du aus dem SPS Programm nur mit einem Klimmzug beschreiben (über das SII Logical Interface ins EEPROM schreiben incl einer Polynom8-Berechnung) da der Wert beim Aufstarten von eben diesem EEPROM in das Register 0x12 geschrieben wird.
Oder aber manuell über das GUI von TwinCAT o.ä.

So nebenbei.
Wobei ich es kurios finde das du nicht den EK1101 mit HotConnect nutzt um deine Module zu identifizieren. Wie erkennt deine Anlage (Steuerung) denn welches Modul angestöpselt ist ohne das Projekt zu verändern.
Danke für die Info. Die Idee mit den zwei Klemmen hatte ich auch schon.
Hat die Unschönheit, dass nicht bei allen Modulen die Klemme nach dem Koppler identisch ist und man dann halt manchmal auf einer analogen Eingangsklemme, manchmal auf einer Kommunikationsklemme den zweiten Teil der Seriennummer hat.
Ich werde da noch mal in mich gehen ;)

Das Eintragen kann ich problemlos über die GUI machen, soll ja eh nur einmal im Produktionsprozess passieren.

Mit HotConnect habe ich auch mal rumgespielt. Hatte dann aber einen unbeabsichtigten Nebeneffekt, den auch der EK1101 haben müsste:
Der Ort, an dem ein Modul angeschlossen wird (Alle Module werden per Beckhoff-Hybrid-Stecker (z.B. ZK7206-BP00) angeschlossen) soll über den Verwendungszweck und die Variablenverknüpfungen entscheiden.
Ich habe also an einer Anlage z.B. zwei Pumpen, die je auf einem Wagen angebracht sind. Alle Elektronik ist mit auf dem Wagen. Ein Kabel geht dorthin, wo der Wagen für die Seite 1 angeschlossen werden soll, ein Kabel geht dorthin, wo der Wagen für die Seite 2 angeschlossen werden soll.
Die Kabel sind fest verlegt, die Wagen kommen zur Reinigung in einen anderen Raum.
Ob ein Wagen bei der Rückkehr wieder dahin kommt wo er vorher war oder getauscht wird, das weiß ich nicht.

Bei Hot Connect hatte ich dann das Problem, dass die ID des Kopplers dann auf einmal bestimmt hat, wie er sich verhalten hat. Wenn ich also den Wagen für die Seite 1 am Kabel für Seite 1 hatte, dann war alles gut, hatte ich ihn am Kabel für die Seite 2, dann waren die Variablen aber immer noch mit dem SPS-Baustein für die Seite 1 verknüpft. Und das ist nicht das, was ich haben wollte.

Und dieses "Problem" (kann ja in vielen Fällen ein Feature sein, bei mir aber eher nicht) habe ich nicht, wenn ich es über den Station Alias mache.

Hat natürlich den Effekt, dass ich an einem Kabel immer dasselbe Modul anschließen muss, also keinen Pumpenwagen dort anschließen kann, wo sonst eigentlich etwas anderes hingehört (sonst Meldet der Bus, dass er eine andere Klemme erkannt hat, als die, die er erwatet hätte).
Aber das soll eh niemand tut, außerdem haben eh viele Module ihren eigenen Stecker (24V, 48V, 230V, etc.) und werden über die Codierung des Steckers unterschieden.

Ich hoffe das macht es klarer.
 
Jedes Modul mit einer eigenen Steuerung wäre bei uns ein Overkill, die Module sind teilweise nur 5 Klemmen "groß".
Die „kleinsten“ Beckhoff-Steuerungen sind inzwischen auch schon recht günstig.
Eigenständige Stationen könnten das Projekt deutlich vereinfachen – sofern die Schnittstellen dadurch ebenso einheitlich werden. Die ganze Station könnte wahrscheinlich autark in Betrieb genommen werden.

Einzige Hürde wäre das „Einsammeln“ der verteilten Daten – was bei einem guten Konzept auch nur einmalig entwickelt werden muss und dann beliebig portierbar ist.
 
Zurück
Oben