CANopen Master/Slave DLL
Transcription
CANopen Master/Slave DLL
-9CANopen Master/Slave DLL open-Slave erstellt werden. Übersicht Die CANopen Master/Slave DLL stellt alle für eine CANopen konforme Kommunikation notwendigen Dienste entsprechend dem Kommunikationsprofil CiA 301 V 4.1 bereit. Sie erlaubt eine einfache und schnelle Entwicklung von Master und Slave Geräten und kann ein oder mehrere CAN-Linien in einem Gerät bedienen. Die CANopen Master/Slave DLL stellt die folgenden CANopen-Dienste zur Verfügung. Anwendung Die CANopen Master/Slave DLL fasst die CANopen-Dienste und den CANopen-Treiber in einer DLL zusammen und nutzt den Layer-2-Treiber zur Kommunikation mit der CAN-Hardware. Zur einfachen Handhabung durch den Anwender wird für jede unterstützte CAN-Hardware eine speziell angepasste CANopen Master/Slave DLL bereitgestellt. Die CANopen Master/Slave DLL kann einfach zu der Applikation gelinkt werden, welche dann die CANopen-Dienste direkt nutzen kann. APPLICATION APPLICATION CANopen-DLL CANopen-DLL Object Dictionary [1000] [1001] void main(void) { .. iniDevice(); initCANopenLib( &objDir, objEntries); initCAN(125); .. } Beschreibung CANopen Services pointer to object dictionary lls s ca o s i t n c ion n t u c f fun ck a b l cal CANopen Driver initialization Layer-2-Driver-DLL Die CANopen Master/Slave DLL kann von mehreren Programmen zur gleichen Zeit auf dem gleichen Computer benutzt werden, falls der Layer-2-Treiber dies unterstützt. Die Anwendungsmöglichen für die CANopen Master/Slave DLL sind vielfältig. Mit den Master-Funktionen lassen sich in komfortabler Art und Weise Steuerungs-, Service- oder Testprogramme auf PCs erstellen, welche über die volle CANopen-Funktionalität verfügen. Für Simulations- und Testzwecke lässt sich mit den Slave-Funktionen binnen kürzester Zeit ein CANopen-Slave entwickeln. Mit dem CANopen Design Tool ist das Objektverzeichnis mit wenigen Klicks erstellt und bei der Nutzung der mitgelieferten Templates kann ohne eine Zeile Code zu schreiben ein einfacher CAN- SDO Server SDO Client SDO Segmented Transfer SDO Block Transfer Program Download PDO Consumer PDO Producer MPDO Consumer MPDO Producer Dynamic Mapping Bitwise Mapping Nodeguarding Master Lifeguarding Heartbeat Consumer Heartbeat Producer EMCY Consumer EMCY Producer Time Consumer Time Producer SYNC Consumer SYNC Producer NMT Slave NMT Master NMT StartUp-Manager 128 128 ✓ ✓ ✓ 512 512 ✓ ✓ ✓ ✓ ✓ ✓ 128 ✓ 128 ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ Kommunikationsanfragen von anderen Geräten sowie notwendige zeitzyklische Prozesse und Time-Out Überwachungen werden von der CANopen Master/Slave DLL selbständig realisiert. Dabei wird immer die Korrektheit der Anfragen geprüft (Zugriffrechte, Datentypen etc.). Nach dem Abschluß der Kommunikation bzw. bei Fehlerzuständen wird die Applikation über dienstbezogene Callback-Funktionen informiert. In diesen Callback-Funktionen können entsprechende Reaktionen von der Applikation ausgeführt werden. Das Objektverzeichnis (OV) ist so ausgelegt, dass es Referenzen auf die Variablen der Anwenderapplikation enthält. Somit können Variablen in bereits existierender Software ohne Veränderung des Applikationskodes in das Objektverzeichnis aufgenommen werden. -9- 2011/2012 www.port.de Zusätzliche CANopen-Dienste Zustätzlich zu der CANopen-Grundfunktionalität stellt die CANopen Master/Slave DLL die folgenden Dienste bereit. CiA-301 SDO Block Transfer Der SDO Transfer basiert auf dem Client/ServerModell mit einer Bestätigung nach jedem Transfer. Die Übertragung großer Datenblöcke nimmt eine längere Zeit in Anspruch. Deshalb wurde dafür ein weiterer SDO-Mode definiert, der sogenannte SDOBlocktransfer. Bei Verwendung des Block Transfers erfolgt die Übertragung ohne den großen Overhead. Jeder Block besteht aus einer Sequenz von z.B. 127 CAN Telegrammen. Die Datensequenz enthält lediglich eine Sequenznummer und die Daten. CiA 301 Multiplexed PDO’s Wenn eine Applikation eine große Menge von Daten mit den gleichen Eigenschaften hat, kann ein spezieller PDO-Typ verwendet werden, ein sogenanntes Multiplexed PDO (MPDO). MPDO’s übertragen mit jedem Telegramm den Index und den Sub-Index der entsprechenden Daten. Die Datenlänge kann deshalb maximal 4 Byte betragen. Der übertragene Index und Sub-Index kann sowohl Index und Sub-Index des Objektverzeichnisses des Producers (MPDO Source Addressing Mode) als auch das des Consumers (MPDO Destination Addressing Mode) sein. Lieferumfang CANopen DLL Zum Lieferumfang der CANopen Master/Slave DLL gehören verschiedene Beispielprogramme, die den Einsatz der unterschiedlichen Dienste erläutern. Alle Beispiele enthalten eine vollständige Implementierung eines CANopen Gerätes einschliesslich des Objektverzeichnisses sowie des Applikationskodes und können sofort kompiliert werden. Neben dem ausführlich dokumentierten Referenzhandbuch steht ein ca. 225 Seiten umfassendes UserManual (auch in Papierform, BOD Verlag, ISBN 3-83344621-8) als Dokumentation der CANopen Master/Slave DLL zur Verfügung. Die CANopen Master/Slave DLL wird ständig weiter entwickelt und an Kundenwünsche angepasst. Dafür stellen wir unseren Kunden einen Update Service bereit. Lizenzbedingungen (Auszug) Die Lizenz ist eine Einzelplatzlizenz, welche den Lizenznehmer zur Nutzung der CANopen Master/Slave DLL auf einem Computer berechtigt. Die Weitergabe der Software an Dritte bzw. die Implementierung durch den Lizenznehmer in Produkte Dritter ist nicht gestattet. Bestellinformation 0910/10 0910/12 0564/90 0571/10 Unterstützte Hardware Aktuell werden PCs und Embedded-PCs mit dem Betriebsystem Windows 9x, NT und XP unterstüzt. Die CANopen Master/Slave DLL ist für folgende Hardwareplattformen verfügbar. • CPC - Interfacebaugruppen von EMS Wünsche • Kvaser CANlib - Interfacebaugruppen von Kvaser Wir erweitern ständig die Palette der von uns unterstützten Treiber. Sollte Ihre Hardware trotzdem nicht dabei sein, machen wir Ihnen gerne ein Angebot für die Erstellung einer angepassten CANopen Master/Slave DLL. -10- 2011/2012 www.port.de CANopen-DLL Master/Slave CPC CANopen-DLL Master/Slave Kvaser CANlib CANopen-LIB User Manual (Paperback) CANopen-LIB Wartungsvertrag Ingenieurdienstleistungen port bietet Ingenieurdienstleistungen und Schulungen zu folgenden Tätigkeitsfeldern an: • CAN und CAN-basierend Protokolle: CANopen, J1939 • Industrial Ethernet Protokolle: POWERLINK, EtherNet/IP, EtherCAT PROFINET • Geräteentwicklung nach CANopen-Geräteprofilen • VHDL-basierende Lösungen für den industriellen Einsatz • Applikationsspezifische Implementierung und Erweiterungen • Embedded LINUX Entwicklungen Hinweis Marken- und Produktnamen sind Warenzeichen oder registrierte Warenzeichen der jeweiligen Unternehmen. Dieses Produkt wird kontinuierlich weiterentwickelt. port behält sich deshalb das Recht vor, technische Änderungen jederzeit ohne Vorankündigung vornehmen zu können. port GmbH Regensburger Straße 7b D-06132 Halle/Saale +49 345 777 55 0 [email protected] -11- 2011/2012 www.port.de