FC510x - PCI-Karten für CANopen

FC510x als Bus Monitor

Die FC5101 bzw. FC5102 kann ab Firmware-Version 1.00 und TwinCAT 2.8 (Build 740) statt als Master bzw. Slave auch als CANopen-Monitor eingesetzt werden.

So kann z. B. der zweite Kanal der FC5102 für diesen Zweck genutzt werden, wobei der erste Kanal weiterhin als CANopen Master oder Slave fungiert, oder umgekehrt. In diesem Fall müssen beide Kanäle an das gleiche CAN Netzwerk angeschlossen werden (Der Datenaustausch innerhalb der Karte ist nicht vorgesehen, da dieser nicht rückwirkungsfrei erfolgen könnte).

Die von der FC510x aufgezeichneten Telegramme werden von der mit der FC510x verknüpften Task in einem Ring-Puffer zwischengespeichert, auf die gespeicherten Telegramme kann dann per ADS zugegriffen werden. Es gibt ein CANopen-Monitor-Programm (CANMON) mit Filter und Trigger-Möglichkeiten von Beckhoff als Free-Ware (siehe http://www.beckhoff.com im Download Bereich).

 

Einfügen FC510x als CANopen Monitor

Kontextmenü Gerät anfügen: CANopen Monitor einfügen

 
Einfügen FC510x als CANopen Monitor

Danach muss der entsprechende Kanal (PCI-Speicheradresse) ausgewählt werden.

 
 

Verknüpfen der FC510x mit einer Task

Der Zugriff auf die Monitor-Daten erfolgt aus der TwinCAT-Echtzeit beim Start einer Task. Daher muss eine zusätzliche Task im System Manager angelegt werden, die mindestens eine UINT16-Eingangsvariable enthält, die mit einer der Variablen der FC510x zu verknüpfen ist. 

 
Verknüpfen der FC510x mit einer Task

Die Verknüpfung dient nur dazu, dass aus der Echtzeit mit der Zykluszeit der Task auf die FC510x zugegriffen werden kann. Die Zykluszeit der zusätzlichen Task ist abhängig von der Baudrate wie folgt einzustellen:

Baudrate
Zykluszeit der zusätzlichen Task
1 MBaud
<= 10 ms
800 kBaud
<= 12 ms
500 kBaud
<= 20 ms
250 kBaud
<= 40 ms
125 kBaud
<= 80 ms
100 kBaud
<= 100 ms
50 kBaud
<= 200 ms
20 kBaud
<= 500 ms
10 kBaud
<= 1000 ms

Weiterhin ist die Check-Box Auto-Start zu setzen (s. Bild oben).

 
 

Karteireiter FCxxxx-Monitor

 
Karteireiter FCxxxx-Monitor

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

Search...: Hierüber werden alle gesteckten 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...: Hier kann die Hardware-Versionsnummer der FC510x angezeigt werden

Firmware: Hier wird die aktuelle Firmware-Version der FC510x angezeigt.

Firmware Update...: Hierüber kann die Firmware der FC510x-Karte aktualisiert werden.

Baudrate: Hier wird die CAN-Baudrate eingestellt.

Ring-Puffer: Hier wird die Größe des Ring-Puffers eingestellt, außerdem ist die Aufzeichnungsdauer für die eingestellte Ring-Puffer-Größe bei voller Buslastung angegeben.

Auto-Start: Wenn die Check-Box Auto-Start angeklickt ist, wird die Monitor-Aufzeichnung beim TwinCAT-Start gestartet, andernfalls muss der Start per ADS (via Monitor-Software) erfolgen.

 
 

Monitor Software

Die Monitor Software holt die Trace-Daten aus der FC510x Karte ab und legt sie als File auf dem gewünschten Massenspeicher ab. Zusätzlich zum eigentlichen Monitor-Programm (CAN-Monitor.exe) wird lediglich die DLL (TcRouterHelper.dll) benötigt. Diese hat im gleichen Verzeichnis wie das Monitor-Programm zu liegen.

Nach dem Start des Monitor-Programmes muss die Device-ID des FC5101-Kanals ausgewählt werden, der für das Monitoring verwendet wird.

 
CAN-Monitor - Aufruf der Optionen

Es öffnet sich das folgende Fenster:

 
CAN-Monitor - Optionen

Device-ID: Hier ist diejenige ID einzutragen, die vom System Manager dem FC510x-Monitor-Kanal zugeteilt wurde:

 
Eintragen der Device-ID

Storing: Hier kann die Größe des Ringpuffer-Speichers für die Bildschirmausgabe (Display) und für die Dateiausgabe (File) eingestellt werden.

Display: Hier kann ein Filter für die Display-Ausgabe angegeben werden.

Trigger: Es können Trigger-Bedingungen angegeben werden, bei denen die Messung gestoppt werden soll. So kann beispielsweise bei Auftreten eines Fehlers ein bestimmter, sonst unbenutzter Ausgang gesetzt und auf dieses Bit im RxPDO der Ausgangsbaugruppe getriggert werden.

Post Trigger: Hier kann eingestellt werden, wie viele Telegramme nach Auftreten der Triggerbedingung noch aufgezeichnet werden sollen. Die Telegrammanzahl vor Auftreten der Triggerbedingung ist nur durch die eingestellte Pufferspeichergröße beschränkt.

Trigger und Display-Filter funktionieren so, dass bei der Auswahl der Identifier (ID) bzw. der Datenbytes (Data) nur diejenigen Bits berücksichtigt werden, bei denen die Maske 1 ist. Es werden dann diese Bits auf Übereinstimmung mit den in Value angegebenen Werten überprüft. Die Defaulteinstellung (Maske ID = 0x7FF und Maske Daten = 0x00) schlägt also zu, wenn der in Value ausgewählte Identifier (ID), unabhängig von den Daten, erkannt wird. Wenn bei Value ein Identifier (ID) größer 0x7FF (z. B. 0x800, Default) eingetragen wird, ist der Filter bzw. Triggerabgeschaltet (disabled).

Beispiel:
Die Messung soll nach 250 Telegrammen gestoppt werden, nachdem das Bit 0 im 2. Datenbyte des Telegramms mit Identifier 0x201gleich 1 ist. Hierzu ist folgendes einzutragen:

Eintragen von 250 Telegrammen
 
 

Start der Aufzeichnung

TwinCAT muss gestartet sein, und eine Variable einer zyklischen Task (z. B. die Auto-Start-Task) muss mit der Dummy Variable der FC510x im Monitoring Mode verknüpft sein. Nun kann die Aufzeichnung durch Anklicken des grünen Ampel-Symbols gestartet werden.

Starten der Aufzeichnung

Falls der Aufstart-Vorgang eines weiteren CANopen Kanals im System aufgezeichnet werden soll, so ist die Check Box "Auto-Start" im Karteireiter FC-Monitor des System Managers anzuwählen. Die Karte puffert dann bis zu 25000 CAN Nachrichten. Die Aufzeichnung via Monitor-Software muss dann lediglich gestartet werden, bevor der Puffer der CAN Karte überläuft.

 
 

Stopp der Aufzeichnung

Zum Beenden der Aufzeichnung ist das rote Ampel-Symbol anzuklicken. Es öffnet sich folgender Dialog:

Stoppen der Aufzeichnung

Es werden automatisch zwei Trace Files erzeugt: ein ASCII File mit der Endung *.mon, das mit jedem Text-Editor lesbar ist. Zusätzlich wird ein File mit der Endung *.ASC erzeugt, das mit dem CANalyzer® Tool der Firma Vector Informatik eingelesen und weiterverarbeitet werden kann.

 
 

Beispiel-Trace

Dargestellt ist der Beginn eines CANopen Boot-Ups mit zwei Knoten (Node ID 1 und Node ID 50).

Number Time(100 µs) Telegram
0 0.0638 Id: 000 Len: 2 Data: 82 00
1 0.0649 Id: 632 Len: 8 Data: 40 00 10 00 00 00 00 00
2 0.0653 Id: 601 Len: 8 Data: 40 00 10 00 00 00 00 00
3 2.0722 Id: 632 Len: 8 Data: 80 00 00 00 00 00 04 05
4 2.0725 Id: 601 Len: 8 Data: 80 00 00 00 00 00 04 05
5 2.2686 Id: 732 Len: 1 Data: 00
6 2.7440 Id: 701 Len: 1 Data: 00
7 4.0802 Id: 632 Len: 8 Data: 40 00 10 00 00 00 00 00
8 4.0806 Id: 601 Len: 8 Data: 40 00 10 00 00 00 00 00
9 4.0813 Id: 5b2 Len: 8 Data: 43 00 10 00 91 01 02 00
10 4.0823 Id: 632 Len: 8 Data: 40 18 10 01 00 00 00 00
11 4.0826 Id: 581 Len: 8 Data: 43 00 10 00 91 01 07 00
12 4.0835 Id: 601 Len: 8 Data: 40 18 10 01 00 00 00 00
13 4.0838 Id: 5b2 Len: 8 Data: 43 18 10 01 02 00 00 00
14 4.0848 Id: 632 Len: 8 Data: 23 00 14 01 32 02 00 00
15 4.0853 Id: 581 Len: 8 Data: 43 18 10 01 02 00 00 00
16 4.0863 Id: 601 Len: 8 Data: 23 00 18 01 81 01 00 00