FC510x - PCI-Karten für CANopen

Konfiguration: TwinCAT System Manager

Zur Konfiguration der FC510x CANopen PCI Karte dient das TwinCAT System Manager Tool. Der System Manager stellt die Anzahl und Programme der TwinCAT SPS-Systeme, die Konfiguration der Achsregelung und die angeschlossenen E/A-Kanäle als Struktur dar und organisiert die Mappings des Datenverkehrs.

 
 systemmanager
TwinCAT System Manager

Für Applikationen ohne TwinCAT SPS oder NC konfiguriert das TwinCAT System Manager Tool die Programmierschnittstellen für vielfältige Applikationsprogramme:

ActiveX-Control (ADS-OCX) für z. B. Visual Basic, Visual C++, Delphi, etc.
DLL-Interface (ADS-DLL) für z. B. Visual C++ Projekte
Script-Interface (ADS-Script DLL) für z. B. VBScript, JScript, etc.
 

System Manager – Eigenschaften

Verbindung zwischen Server-Prozessabbildern und E/A-Kanälen bitweise
Standard-Datenformate, z. B. Arrays und Strukturen
Benutzerdefinierte Datenformate
fortlaufende Verbindung von Variablen
Drag und Drop
Import und Export auf allen Ebenen
 

Im Folgenden werden das Vorgehen und die Konfigurationsmöglichkeiten im System Manager beschrieben.

 

Kontextmenü

Kontextmenü
 
 

Box Anfügen... <Einfg>

Fügt CANopen Slaves (Boxen) an. Z.Zt. werden folgende Boxen unterstützt (nähere Beschreibung zu den Boxen folgt weiter hinten):

Unterstützte Boxen
Beschreibung
Buskoppler 
Economy Buskoppler 
Buskoppler (Nachfolger von BK5100)
Low-cost Buskoppler
Feldbus Kompakt Box: CANopen Ein/Ausgabebaugruppe in Schutzart IP67
Allgemeines CANopen Gerät oder allgemeines CAN-Gerät (Zugriff über CAN-Schicht 2)
 
 

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

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

 
 

Online Reset

Initiiert einen Online Reset auf dem CANopen Bus.

 
 

Karteireiter FC510x

 
Karteireiter FC510x
 
 

PCI Bus/Slot

Zeigt an in welchem logischen PCI-Slot die Karte gefunden wurde.

 
 

Master-Node-ID

Knotenadresse der FC5100. Wertebereich: 1...127. Bestimmt den Identifier des Master-Heartbeat Telegramms. Darf nicht mit einer Slave-Knotenadresse übereinstimmen. 

 
 

Baudrate

Hier wird die Baudrate eingestellt. Es wird automatisch überprüft ob die angeschlossenen Slaves diese Baudrate auch unterstützen.

 
 

Synchronization Mode

Der Synchronisations-Modus bestimmt die Genauigkeit, mit der das CANopen SYNC Telegramm generiert wird.

Die höchstpriore Task, die mit der FC510x-Karte verknüpft ist, übernimmt die Ansteuerung der CANopen Karte und ist somit mit dem CANopen Bus synchronisiert. Alle anderen Tasks werden asynchron über entsprechende Puffer bedient. Bei allen Betriebsarten kann die Kommunikationsart für jedes Prozessdatenobjekt (PDO) individuell eingestellt werden - ereignisgesteuert oder synchron (im jeweiligen PDO-Reiter). Falls eines der PDOs für eine synchrone Betriebsart konfiguriert wurde, so wird am Anfang des Zyklus ein SYNC-Telegramm gesendet, mit dem sich die Slaves auf den Master-Zyklus synchronisieren können.

Je nach Anforderung an die SYNC-Genauigkeit können unterschiedliche Modi ausgewählt werden. Hierbei ist zu beachten, dass einzelne SYNC Telegramme bei CAN Systemen Prinzip bedingt um eine Telegrammlänge jittern wenn der Bus zum Zeitpunkt des SYNCs belegt ist. Die SYNC-Genauigkeit bezieht sich also in erster Linie auf die Langzeitstabilität. Busknoten, die sich über ein PLL-Verfahren synchronisieren, sind besonders auf gute Langzeitstabilität angewiesen.

 
Synchronization Mode
 
 

Slave

In der Slave Betriebsart erhält die Karte Ihre Zeitbasis von einem SYNC-Master. Der Sync Master wird über das entsprechende Feld angewählt.

Sync Master: PC-Task. Dies ist die Default Einstellung. Der PC gibt mit Hilfe der TwinCAT-Echtzeit die Zeitbasis vor. Je nach Einstellung löst der Task-Start (Default bei TwinCAT NC) bzw. das Task Ende (Default bei TwinCAT SPS) das SYNC Telegramm aus. 
Sync Master: Balanced PC Task. Auch in dieser Betriebsart wird der Sync Zyklus im Mittel mit der Genauigkeit der PC-Zeitbasis erzeugt. Allerdings ist der Abstand zwischen zwei SYNC Telegrammen genauer als beim Sync Master "PC-Task":
Laufzeitunterschiede (etwa durch fallabhängige Programmverzweigungen) werden ausgeglichen,
die FC510x Karte verzögert anstehende Sende-Telegramme bis nach dem SYNC-Telegramm,
die einzelnen SYNC-Abstände werden durch den quarzgenauen Timer der FC510x Karte ermittelt.

Der Karten-Timer wird gegebenenfalls in kleinen Schritten auf den PC-Timer nachjustiert, wenn dieser um den bei "PLL Sync Time" eingestellten Wert vom Karten-Timer abweicht.
Das Sync-Telegramm wird in dieser Betriebsart gegenüber dem Abschluss der TwinCAT Task um die Shift Time verzögert. Die Shift Time sollte in dieser Betriebsart möglichst klein gewählt werden - aber ausreichend groß, damit der Prozessdatenzugriff durch die TwinCAT Task erfolgen kann. Bei der Einstellung der optimalen Shift Time hilft die Funktion "Calculate Equi-Times", die nach Erzeugen der Zuordnungen (Mappings) durch Anklicken des entsprechenden Buttons ausgelöst wird.

 
Synchronization Mode: Slave (Sync Master: Balanced PC Clock)
 
 

Master

In der Master Betriebsart erzeugt die Karte Ihre Zeitbasis lokal, das SNYC-Telegramm ist im Mittel quarzgenau. Der Start der TwinCAT Task wird von der Karte vorgegeben und ist gegenüber dem SYNC Telegramm um die Shift Time verzögert. In dieser Betriebsart ist die Shift Time möglichst groß zu wählen. Bei der Einstellung der optimalen Shift Time hilft die Funktion "Calculate Equi-Times", die nach Erzeugen der Zuordnungen (Mappings) durch Anklicken des entsprechenden Buttons ausgelöst wird.

 
Synchronization Mode: Master
 
 

Cycle-Time

Hier wird die Zykluszeit der zugehörigen höchstprioren Task angezeigt. Die Anzeige wird aktualisiert sobald das Mapping erzeugt wird.

 
 

Watchdog Time

Hier kann ein Watchdog aktiviert werden, der dazu führt, dass bei einem Absturz des PCs die FC510x in den STOP-Zustand geht und auch alle projektierten Slaves in diesen Zustand überführt.

 
 

Sync-Cycle Multiplier

CANopen SYNC Cycle Time = (Task) Cycle-Time x Sync-Cycle Multiplier. Häufig werden bei CANopen ereignisgesteuerte PDO-Kommunikation und zyklisch synchrone PDO-Kommunikation kombiniert. Um schnell auf ein Ereignis reagieren zu können muss die TwinCAT Task Zyklus-Zeit kleiner sein als die CANopen SYNC Zyklus Zeit. Wird der Sync-Cycle Multiplier auf Werte >1 eingestellt, so wird die TwinCAT Task entsprechend mehrfach aufgerufen bevor das SYNC Telegramm erneut gesendet wird.

 
 

Sync-Cycle Time

Hier wird die Zyklus Zeit des CANopen Sync-Telegramms angezeigt. Sie ergibt sich aus der Task-Zykluszeit der höchstprioren Task, deren Prozessdaten mit der Karte verknüpft sind, und aus dem Sync-Cycle Multiplier.

 
 

Sync-Tx-PDO Delay

Direkt nach dem SYNC Telegramm senden die synchronisierten Slaves ihre Eingangsdaten bzw. Istwerte. Die FC510x kann das Senden der Ausgangsdaten bzw. Sollwerte (TxPDOs aus Sicht der Karte) verzögern, um den Telegramm-Burst direkt nach dem SYNC zu minimieren. Mit dem Parameter Sync-Tx-PDO Delay wird diese Verzögerung in Prozent der SYNC-Zykluszeit eingestellt.

Beispiel

Task Cycle Time = 2000 µs, Sync-Cycle Multiplier = 5, Sync Tx-PDO Delay =40. Alle 2 ms können ereignisgesteuerte PDOs von der SPS Task verarbeitet werden, der CANopen Sync Cycle beträgt 10 ms, 4 ms (=40 % von 10 ms) nach dem SYNC sendet die FC510x ihre synchronen PDOs.

 
 

Search...

Hierüber werden alle vorhandenen FC510x-Kanäle gesucht, und es kann der gewünschte ausgewählt werden. Bei einer FC5102 erscheinen beide Kanäle A und B, die sich logisch wie zwei FC5101-Karten verhalten.

 
 

Hardware Configuration...

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

 
 

Upload Configuration

Hiermit wird das CANopen Netz gescannt und alle gefunden Geräte werden dem Device (der FC510x) hinzugefügt (es darf keine Box angefügt sein). Bei Beckhoff-Boxen wird die Konfiguration genau ausgelesen, bei Fremdgeräten werden die PDO Konfiguration und das Identity Objekt gelesen und ausgewertet.

 
 

Verify Configuration

Erlaubt den Vergleich der erwarteten (eingetragenen) Netzwerk-Konfiguration mit den tatsächlich im Netz vorhandenen Geräten. Es werden die Daten aus dem CANopen Identity Objekt ausgelesen und verglichen. Bei Beckhoff Boxen werden die angeschlossenen Busklemmen bzw. Erweiterungsmodule ausgelesen und verglichen (in Vorbereitung).

 
 

Firmware

Hier wird die aktuelle Firmware-Version der FC510x angezeigt.

 
 

Firmware Update...

Hierüber kann die Firmware der FC510x-Karte aktualisiert werden. Achtung: Das TwinCAT System muss hierzu gestoppt sein.

 
 

Karteireiter ADS

Die FC510x ist ein ADS-Device mit einer eigenen Net-ID, die hier verändert werden kann. Alle ADS-Dienste (Diagnose, azyklische Kommunikation), die an die FC510x gehen, müssen die Karte mittels dieser Net-ID adressieren.

 
 

Karteireiter Box States

 
Karteireiter Box States

Hier wird eine Übersicht aller aktuellen Box-States angezeigt.

 
 

Karteireiter DPRAM (Online)

Siehe unter "Online - Anzeige des DPRAMs" in der System Manager Dokumentation.

 
 

Diagnose-Eingänge

Die FC510x verfügt automatisch über verschiedene Diagnosevariablen, die den Zustand der Karte und des CANopen-Netzwerks beschreiben:

FC510x - Diagnosevariablen

cycleCounter: wird am Ende jedes Firmware Zyklus inkrementiert, sodass man mit dieser Variable feststellen kann, ob der letzte Zyklus beendet war, bevor die Task gestartet wurde

error: Zeigt die Anzahl der Slaves an, deren Box-State ungleich null ist. Nur wenn dieser Wert ungleich 0 ist, muss der BoxState der Slaves überprüft werden

actualCycleTime: zeigt die aktuelle Zykluszeit in 4/25 µs an. Diese Variable wird nur aktualisiert, falls alle Slaves im Datenaustausch sind (also error gleich 0 ist)

DiagFlag: Zeigt an, ob sich die Diagnoseinformationen der Karte geändert haben, die dann mit ADS-Read ausgelesen werden können. Dazu ist die Net-ID der FC510x, die Port-Nummer 200 und die IndexGroup 0xF100 anzugeben. Der IndexOffset und die Länge beziehen sich dann auf die Diagnosedaten. (Hinweis: die Box States stehen bei den Boxen als Variable auch direkt zur Verfügung.)

Offset 1-127: BusStatus-Liste, je Stationsadresse 1-127 ein Byte, das den Status der Station enthält (s. BoxState bei den CANopen-Boxen) 

Global State: Verschiedene Diagnose und Statusanzeigen der FC510x. Das Byte in GlobalState(0) zeigt den Status der Karte in Bezug auf das TwinCAT System an: RUN, RESET, OFFLINE und STOP werden unterschieden. GlobalState(2) gibt Informationen über den Zustand des CAN Controllers: "CAN Warning Limit erreicht" und "Bus-Off" werden angezeigt. Warning Limit erreicht bedeutet dass der Sende- oder Empfangsfehlerzähler des CAN Controllers den Wert 96 überstiegen hat; BusOff bedeutet dass der CAN Controller aufgrund zu vieler CAN Fehler (Error Frames) nicht mehr am Busverkehr teilnimmt. In diesem Fall liegt ein schwerwiegender physikalischer Fehler im CAN-Netz vor. (z. B. zu wenige oder zu viele Abschlusswiderstände, mindestens ein Teilnehmer mit falscher Baudrate, Kurzschluss, etc.) Der Zustand Bus-Off kann nur durch einen Reset der Karte verlassen werden. Details über weitere Global State Daten siehe Kommentar im "Online"-Reiter.

LastAdsError: zeigt den Fehlercode des letzten aufgetretenen ADS-Zugriffsfehlers an - z. B. wenn versucht wurde, die Diagnosedaten eines deaktivierten Knotens zu lesen.

CycleFailedCounter: zählt die Anzahl der Firmware Zyklen, die nicht beendet werden konnten, bevor die zugehörige Task wieder das Prozessabbild lesen bzw. schreiben wollte. Falls dieser Zähler inkrementiert wird, so ist die Taskzykluszeit zu klein gewählt für die aktuelle Netzwerkkonfiguration.

BusLoad: zeigt die aktuelle Busbelastung in % an. Die Buslast ist ein wichtiges Auslegungskriterium für CAN Netzwerke. Dargestellt wird ein Mittelwert über 100 ms.