Beckhoff FC7501/FC7502

Die FC7501 ist eine einkanalige und die FC7502 eine zweikanalige passive SERCOS Karte (SERCOS = SEriell Realtime COmmunication System) mit PCI Interface. Sie kann sowohl als Sercos Master und-/oder als Sercos Slave betrieben werden. Es wird das Sercos Asic SERCON816 verwendet, dass neben 2 und 4MBaud auch 8 und 16MBaud unterstützt. Z.Zt. sind die verwendeten Sender und Empfänger noch nicht für 16 MBaud spezifiziert, so dass diese Eigenschaft noch nicht garantiert werden kann.

Kontextmenü

Beckhoff FC7501/FC7502 1:

Box Anfügen... <Einfg>

Fügt SERCOS -Teilnehmer ("Boxen") an. Eine Liste aller unterstützten Boxen finden sie unter: Übersicht.

Gerät Löschen... <Entf>

Entfernt die FC750x Feldbuskarte und alle untergeordneten Elemente aus der E/A Konfiguration.

Online Reset

Initiiert einen Online Reset auf den Sercos Master, d.h. ein Phasenumschalten auf Phase 0 und dann wieder auf die davor aktuelle Phase.

Karteireiter "FC7500"

Beckhoff FC7501/FC7502 2:

PCI Slot/Irq: Zeigt an, in welchem logischen PCI-Slot die Karte gefunden wurde und welcher IRQ ihr zugewiesen wurde. Der IRQ wird nicht benutzt.

Suchen...: Hierüber werden alle gesteckten FC750x-Kanäle gesucht, und es kann der gewünschte ausgewählt werden. Bei einer FC7502 erscheinen beide Kanäle A und B, die sich logisch wie zwei FC7501-Karten verhalten.

PCI-Cfg...: Hiermit kann die Adresse der FC750x in den unteren Memory-Bereich (unterhalb von 1 MB) des PCs eingestellt werden.

Bus absuchen...: Hiermit wird der Sercos Ring gescannt und alle gefundenen Geräte werden dem Device hinzugefügt. Bei Beckhoff-Boxen wird die Konfiguration genau ausgelesen.

Datenrate: Hier wird die Sercos Baudrate eingestellt. Auswählbar sind 2MBaud, 4MBaud, 8MBaud und 16MBaud.

Sendeleistung: Hier wird die Sendeleistung des Transmitters in Abhängigkeit der dort verwendeten Lichtwellenleiterlänge eingestellt.

Betriebsart: Die FC750x kann sowohl als Sercos Master als auch als Sercos Slave verwendet werden. In beiden Betriebsarten kann die Karte als Synchron Master (der PC und andere synchrone Geräte werden erhalten vom Sync Master ihren Takt) oder als Synchron Slave (die Karte, bzw. der Kartenkanal, erhält das Sync Signal vom anderen Kanal oder über das Flachbandkabel von einer anderen Karte) verwendet werde. Innerhalb eines PCs ist nur ein Synchron Master möglich. Werden bei einer FC7502 beide Kanäle verwendet, dann kann nur der A-Kanal (der Kanal, der näher am Motherboard ist) als Sync Master verwendet werden.

Startup auf Phase 4: Wenn angewählt, wird bei jedem TwinCAT Start versucht den Sercos Bus in Phase 4 und damit in den zyklischen Datenaustausch zu versetzen. Ist diese Option nicht angewählt verbleibt die Karte in Phase 2 und muss später per ADS z.B. von der SPS in Phase 4 versetzt werden.

Überprüfe Timing: Wenn angewählt, wird in jedem Zyklus das exakte Echtzeitverhalten beim Zugriff auf die Karte überwacht und bei Verletzungen (Istwerte werden zu früh gelesen oder Sollwerte werden zu spät geschrieben) wird ein entsprechender Zähler, der in den Prozessdaten zu finden ist, inkrementiert. Die Überwachung benötigt nur sehr wenig Performance, so dass sie in normalen Anwendungen ohne Nachteile mitlaufen kann. In Anwendungen mit sehr kurzer Zykluszeit und Performance Engpässen kann sie dagegen abgeschaltet werden.

Watchdog: Das verwendete Sercos Asic SERCON816 besitzt einen Hardware Watchdog, der den regelmäßigen Zugriff des PC's überwacht und bei ausbleibenden Zugriffen die Phase 0 aktiviert. Hier kann angegeben werden wie viele Zyklen Toleranz der Watchdog erlaubt. Mit einer Toleranz von 0 wird der Watchdog deaktiviert.

NC Zugriffszeit: Hier wird angegeben, wie lange die NC benötigt, um pro Zyklus die Istwerte zu lesen und die Sollwerte zu schreiben. Dieser Wert wird nur für die interne Zeitschlitzberechnung verwendet um bereits im Vorfeld mögliche Zeitschlitzprobleme (vergl. Check Timing Errors) zu erkennen.

NC Shift Zeit: Mit Hilfe der NC Shift Zeit kann der Zeitpunkt, an dem die NC anfängt die Istwerte zu lesen verschoben werden. Dieser Wert gibt die Anzahl der µs nach dem letzen AT an. Der Defaultwert von 50µs stellt im Normalfall sicher, dass auch bei geringem Jitter des Echtzeitsystems die ATs, und damit die Istwerte, sicher beim Master angekommen sind, bevor die NC zugreift. Wenn mehr als ein Sercos Ring verwendet wird, muss dieser Wert eventuell angepasst werden, da der NC Zugriff für alle Ringe gleichzeitig erfolgt, das letzte AT des jeweiligen Ringes auf Grund der angeschlossenen Teilnehmer aber zu unterschiedlichen Zeiten eintrifft. Da die Sercos Ringe auf dem Bus hardwaremäßig synchronisiert sind gilt folgende Regel: Die NC Shift Zeit sollte bei allen Ringen so eingestellt werden, das die resultierende Zeit tNcAccess (siehe Timing) bei allen Ringen etwa gleich ist. Außerdem sollte die NC Shift Zeit bei keinem Ring wesentlich kleiner als etwa 20 µs betragen.

Cycle-Time(3-4): Hier wird die Zykluszeit der zugehörigen höchstprioren Task angezeigt , diese wird in den Phasen 3 und 4 verwendet .

Cycle-Time(0-2): Hier wird die Zykluszeit in den Phasen 0 bis 2 angegeben, die für den Hochlauf des Busses verwendet werden.

Die nachfolgenden Werte ermöglichen die interne Zeitschlitzberechnung zu beeinflussen, um bei Kommunikationsproblemen oder Auslastungsproblemen noch einige µs zu verändern. Dieses sollte aber nur durchgeführt werden, wenn entsprechendes Sercos Know-how vorliegt und die Einflüsse abgeschätzt werden können.

JT1 User: Der eingestellte Wert verändert den intern bei der Zeitschlitzberechnung errechneten Jitter JT1.

JT2 User: Der eingestellte Wert verändert den intern bei der Zeitschlitzberechnung errechneten Jitter JT2.

JTSCyc User: Der eingestellte Wert verändert den intern bei der Zeitschlitzberechnung errechneten Jitter JTSCyc.

T3 User: Der eingestellte Wert verändert die intern bei der Zeitschlitzberechnung errechnete Zeit T3.

T4 User: Der eingestellte Wert verändert die intern bei der Zeitschlitzberechnung errechnete Zeit T4.

Karteireiter "Timing (Online/Offline)"

Beckhoff FC7501/FC7502 3:

Der Timing-Karteireiter informiert über interne Details der Zeitschlitzberechnung. Da für die Zeitschlitzberechnung auch Parameter aus den Teilnehmern ausgelesen werden und in Berechnung mit eingehen, wird zwischen einem Online und Offline-Modus unterschieden. Im Offline-Modus (TwinCAT ist gestoppt) werden Defaultwerte für die normalerweise aus den Teilnehmern ausgelesenen Timingwerte verwendet, so dass diese Berechnung geringfügig von den tatsächlich verwendeten Werten abweichen kann. Für eine recht gute Abschätzung des Bustimings reicht die Offline-Berechnung in der Regel jedoch aus. Im Online-Modus (TwinCAT ist gestartet und der Sercos Bus muss in Phase 3 oder 4 sein) werden die exakten Werte angezeigt und geben dem fachkundigen Anwender genaueste Informationen über das Timing auf dem Bus.

Die Grafik im unteren Teil gibt einen guten Überblick über die erzeugte Buslast bzw. über die noch vorhandenen Kapazitäten. Zwischen den beiden roten Master Steuer Telegrammen (MST) wird ein Sercos Zyklus dargestellt. Nach dem MST senden die Teilnehmer als erstes ihre Antriebstelegramme (grün) und nach der NC Shift Zeit beginnt die NC Zugriffszeit (gestrichelter Bereich), in der die NC die Istwerte übernimmt und neue Sollwerte übergibt. Der nachfolgende freie Bereich bis zum Master Daten Telegramm (MDT, blau) kennzeichnet noch "frei Buslast" und könnte für weitere Teilnehmer bzw. zusätzliche Daten der vorhandenen Teilnehmer genutzt werden.

Kurz hinter dem MDT wird vom Master bereits ein weiteres MST gesendet und damit der nächste Zyklus gestartet. Die Zeiten T3 und T4 geben an, wann die Teilnehmer alle gleichzeitig die Sollwerte übernehmen bzw. die Istwerte erfassen sollen.

Karteireiter "Online"

Beckhoff FC7501/FC7502 4:

Über den Online-Reiter kann die aktuelle Phase des Sercos Ringes ermittelt und verändert werden. Drei rote Striche "---" als Phasenangabe deuten auf einen nicht geschlossenen Ring hin. Eine Phasenangabe der Art "2->3" zeigt an, dass gerade eine Phasenumschaltung aktiv ist, die unter Umständen länger dauern kann.

SERCOS basiert auf der Lichtwellenleitertechnik (LWL) und hat ein sehr deterministisches Zeitverhalten. Um dieses Zeitverhalten zu erreichen, werden während der Initialisierung im mehreren Phasen Parameter zwischen Master und Antrieb ausgetauscht. Die Bedeutung der einzelnen Phasen wird in der folgenden Tabelle dargestellt.

Phase

Beschreibung

0

- Es wird in dieser Phase überprüft, ob der Lichtwellenleiterring physikalisch geschlossen ist

1

- Die Adressen der Antriebe im Ring werden auf Eindeutigkeit überprüft. Jeder Antrieb muss dabei den Empfang, eines an ihn gerichteten Telegramms, bestätigen.

2

- Jeder Antrieb tritt in azyklischen Datenaustausch mit dem Master. Dabei werden die im Antrieb hinterlegten Zeiten für die Zeitschlitzberechnung abgefragt.

- Der Master berechnet die Zeitschlitze und schreibt die spezifischen Werte zurück in den jeweiligen Antrieb

- Falls Startup-Parameter angegeben sind, werden diese jetzt in den Antrieb heruntergeschrieben

3

- Das berechnete Timing ist ab jetzt aktiv

- Prozessdaten sind noch nicht aktiv / gültig

4

- Prozessdaten sind ab jetzt gültig

- Über Ctrl/Stat Bits kann der Antrieb nun in Regelung versetzt werden
- Die Initialisierung ist abgeschlossen

Karteireiter "DPRAM (Online)"

Siehe unter "Online - Anzeige des DPRAMs". Nahtlos im Anschluss an das DPRAM des SERCON816 sind die Register des Asics ab Adresse 0x1000 zu sehen.

Diagnose Eingänge

Die FC750x verfügt automatisch über verschiedene Diagnosevariablen, die den Zustand der Karte und des Sercos Ringes beschreiben:

Beckhoff FC7501/FC7502 5:

ActualPhase: Es wird die aktuelle Phase des Sercos Ringes angezeigt.

RequestedPhase: Es wird die aktuell angeforderte Phase (z.B. von der SPS) angezeigt. Die Karte bzw. der Treiber versucht gerade diese Phase zu aktivieren.

SystemState: Gibt genaueren Aufschluss über die momentane Phase:
0xE001 = Phase 0
0xE002 = Phase 1
0xE003 = Phase 2
0xE004 = Phase 3
0xE005 = Phase 4
0xE008 = Break
0xE011 = Phase switch 0 -> 1
0xE012 = Phase switch 1 -> 2
0xE013 = Phase switch 2 -> 3
0xE014 = Phase switch 3 -> 4

SystemError: zeigt den aktuellen Fehler an:
0x0000 = No error
0x8005 = Drive addresses are incorrect
0x8006 = HS-timeout (service channel)
0x8007 = Double AT-failure
& 0x8009 = LWL-bus is interrupted
0xD002 = Switch from 2->3 failure (S-0-0127)
0xD003 = Switch from 3->4 failure (S-0-0128)
0xF001 = Configuration error (actual/nominal channel)
0xF002 = Error in the time slot calculation
0xF003 = Incorrect phase setting by the NC
0xF004 = Internal error
0xF005 = Error lifecounter
0xF008 = Double MDT-failure
0xF009 = Double MST-failure
0xF00A = Sync-In signal failure

TTimingErrorCnt1/b>: Ein Zähler, der inkrementiert wird, wenn die NC zu spät neue Sollwerte liefert ('Überprüfe Timing" muss angewählt sein).

TimingErrorCnt2reme: Ein Zähler, der inkrementiert wird, wenn die NC zu früh auf die Istwerte zugreift ('Überprüfe Timing" muss angewählt sein).

RDistErrorCnter zerstört empfangene Telegramme zählt (vergl. RDIST im Reference Manual des SERCON816). Ursache könnte eine falsche Baudrate sein.

FibBrErrorCnt: Ein Fehlerzähler, der zerstört empfangene Telegramme zählt (vergl. FIBBR im Reference Manual des SERCON816). Ursache könnte eine falsche Baudrate sein.

RErrErrorCnt: Ein Fehlerzähler, der verlorene oder zum falschen Zeitpunkt empfangene Telegramme zählt (vergl. RERR im Reference Manual des SERCON816).

MstLateErrorCnt: Ein Fehlerzähler, der zu spät empfangene MSTs zählt (vergl. MSTLATE im Reference Manual des SERCON816).

MstEarlyErrorCnt: Ein Fehlerzähler, der zu früh empfangene MSTs zählt (vergl. MSTEARLY im Reference Manual des SERCON816).