TwinCat: Umschalten zwischen zwei Konfigurationen

_Eddi_

Level-1
Beiträge
168
Reaktionspunkte
26
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe ein (relativ komplexes) SPS-Programm mit NC-Achsen usw, und möchte das gerne auf zwei verschiedenen Maschinen laufen lassen (unterschiedliche Klemmen, Anzahl Achsen, etc.)

aktuell habe ich zwei Projekte, da ist es aber schwierig, die beiden Codebasen synchron zu halten, ich hätte lieber ein Projekt, wo man je nach Zielsystem die Konfiguration/Mapping umschalten kann.

hat jemand Ideen, wie man sowas in sinnvollem Aufwand umsetzen könnte?

Kann mir da "Hot Connect" helfen? hat damit jemand Erfahrungen?
 
Da gibt es viele Wege zum Ziel.
Mal so in den Raum geschmissen:
a: Zwei Konfigurationen aber nur ein PLC-Projekt
b: Konfiguration wie schon angedacht so halten dass beide Maschinen abgedeckt werden.
-> moeglich mit HotConnect
-> man kann mit ADS-Befehlen auch equivalent zum UserInterface EtherCAT Devices "Disablen". Also aus der laufenden PLC heraus sagen dass das ein oder andere Gerät physikalisch nicht vorhanden ist. Hierfür muss dann jeweils der EtherCAT über den Init zustand gebracht werden.

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also ich bin nach einer Weile mal dazu gekommen, mit HotConnect herumzuspielen/einzulesen, und bin zu der Überzeugung gelangt, daß das nicht die Lösung für mein Problem sein wird.

HotConnect kann zwar einen Teil der Konfiguration optional machen, aber nicht austauschbar, denn auch bei HotConnect ist die Reihenfolge relevant, d.h. man kann nicht einfach eine HotConnect-Gruppe überspringen und mit der nächsten weitermachen. Eine deaktivierte HotConnect-Gruppe wird auch immer alle weiteren HotConnect-Gruppen deaktivieren.

Aktuell behelfe ich mir dadurch, daß ich in meinem Versionskontrollsystem zwischen Branches umschalte, und die I/O-Konfiguration in eine eigene Datei ausgelagert habe um Konflikte zu minimieren. Das funktioniert aber nicht so gut, weil ich das Mapping nicht in eine separate Datei auslagern kann. Falls jemand herausfindet, wie das geht, würde ich mich über einen Hinweis freuen.
 
Eine deaktivierte HotConnect-Gruppe wird auch immer alle weiteren HotConnect-Gruppen deaktivieren.
Definitiv nicht.
Das funktioniert aber nicht so gut, weil ich das Mapping nicht in eine separate Datei auslagern kann. Falls jemand herausfindet, wie das geht, würde ich mich über einen Hinweis freuen.
Du kannst die Mappings als Datei exportieren/importieren (xml-file). Das sind die Verknüpfungen.

Ansonsten: Die aktuellste TC3-Version (4022.2) erlaubt dir auch in analogie von TC2 eine EA-Interfacebeschreibungsdatei (früher *.tpy, jetzt *.tmc)-Datei zu nutzen.
Damit benoetigst du in den verschiedenen Projekten kein vollständiges PLC-Projekt...

Guga
 
Zuviel Werbung?
-> Hier kostenlos registrieren
HotConnect:
Du speicherst in der HW eine Adresse. In der Config wird diese auch hinterlegt. Der EtherCAT-Master erkennt neue Geräte und identifiziert diese über diese Adresse.
Zudem werden die Telegramme der HotConnect - Gruppe in eine separate SyncUnit gelegt damit diese getrennt werden (Stichwort: WC-State und entsprechende Konsequenzen).

In TwinCAT gibt es die Möglichkeit die Identifizieren nur über die Adresse zu fahren oder aber noch als Zusatz zu sagen dass das Vorgängermodul vom Typ xyz ist (extended Variante - ich kenne keine Applikation die es tatsächlich braucht, man kann sich aber ein Szenario dazu überlegen).

Ich gehe jetzt davon aus das du die HotConnect Adresse auch tatsächlich gesetzt hast und nicht nur die "0" überall belassen hast. Damit könntest du dann auch nur ein Gerät entsprechend nutzen.
Und das setzen der HotConnect-Adresse über die SW (Standard EtherCAT) ist nervig und aufwendig. Dip-Schalter haben hier meiner Meinung nach wirklich Vorteile - speziell im Wartungsfall.
Bei EL-Klemmen (Inseln) macht es physikalisch auch eigentlich nur Sinn die ganze Insel wegzuschalten.....


@ _Eddi_: Jetzt bist du dran zu erklären wie deine Config ist damit du sagst dass das vorhandensein auf eine andere HotConnect-Gruppe haben soll. Gerne auch die EA-Config als Datei...

Guga
 
Seit der Version 4022 kann man in TwinCAT ein Standalone PLC-Projekt anlegen und damit auch unabhängig von jedweder Hardware in einer Quellcode-Datenbank warten... Für die verschiedenen Maschinen legst Du dann "normale" TwinCAT Projekte an und bindest dort die SPS (unter dem Knoten SPS) als Instance (tmc-Datei) ein -> fertig!

Die Verlinkungsinformationen werden in den jeweiligen Projekten hinterlegt. Über die Option "Auto Reload TMI/TMC" wird auch gewährleistet, dass wenn die SPS in ihrem eigenen Projekt neu erzeugt wird, die Instanzen in den beiden Maschinenprojekten automatisch geupdated werden.
 
Sorry fürs Ausgraben,

Guga, ich intererssiere mich für die von dir beschriebene Möglichket Devices per ADS zu disablen.

Da gibt es viele Wege zum Ziel.
Mal so in den Raum geschmissen:
a: Zwei Konfigurationen aber nur ein PLC-Projekt
b: Konfiguration wie schon angedacht so halten dass beide Maschinen abgedeckt werden.
-> moeglich mit HotConnect
-> man kann mit ADS-Befehlen auch equivalent zum UserInterface EtherCAT Devices "Disablen". Also aus der laufenden PLC heraus sagen dass das ein oder andere Gerät physikalisch nicht vorhanden ist. Hierfür muss dann jeweils der EtherCAT über den Init zustand gebracht werden.

Guga

Kannst du mir dazu ein paar infos geben, bspw.:
- Was genau muss geschrieben werden und wer erhält das commando? Der EtherCAT master?
- Entspricht das tatsächlich der funktion "Disable", die auch im SystemManager vorhanden ist? Ich dachte beim aktivieren der Config wird die Bustopologie quasi fix im Master gespeichert - und dort taucht dann das deaktivierte Device gar nicht mehr auf...

Danke und Gruß
sieric
 
Zurück
Oben