CANopen Commandline Tool for Linux

Download: CANopen Commanline Tool for Linux

Description

The CANopen Commanline Tool is a text-based program to request CANopen services from CANopen devices on the command line by entering commands at the program´s prompt or processing them from a batch file.

The syntax for these commands is taken from the CANopen specification CiA DS-309/3 (Interfacing CANopen with TCP/IP – ASCII Mapping). The program is build on the UVS CANopen Master library, which exists for several microcontrollers and even for some CAN interface boards from different vendors and for different operating systems. Here the CANopen Commandline Tool uses the BerliOS SocketCAN on Linux operating systems. It runs well with a PEAK PCAN-USB-Dongle on Debian Etch and on a MPC5200B evaluation board with an Embedded Linux. Furthermore the program offers a gateway function for interfacing CANopen with TCP/IP.

The program allows reading and writing of individual parameter values of any connected CANopen device. Due to the fact, that the UVS CANopen Master library is not a complete CANopen stack, some limitations must be taken into account. But the missing CANopen services can be build up manually from the CAN layer 2 commands of the program.

Syntax

Usage: can_open <interface> [<option>...]
Options:
 -g, --gateway=<port>  operate in gateway mode on <port>
 -i, --id=<node-id>    node-id of CANopen Master (default=-1)
     --net=<network>   set default network number (default=1)
     --node=<node-id>  set default node-id (default=1)
     --echo            echo input stream to output stream
     --prompt          prefix input stream with a prompt
     --syntax          show input syntax and exit
 -h, --help            display this help and exit
     --version         show version information and exit
Examples:
 1. Local mode:     can_open <socket-can> --prompt
 2.1 Gateway mode:  can_open <socket-can> --gateway <port> --echo
 2.2 Remote mode:   can_open <ip-addr>:<port> --prompt
In local mode and in remote mode press ^D to leave the interactive input.
In gateway mode press ^C to close the port and exiting the program.

Summary

Program CANopen Commanline Tool (Linux)
Current Version Version 0.2.34 of February 25, 2009
Documentation README, Syntaxbeschreibung and program options --help and --syntax
License UVS Freeware License (without warranty or support)
Standards CANopen Specifications: CiA DS-301, CiA DS-309. IEEE 802.3, RFC 2045
Drivers BerliOS SocketCAN, PEAK Linux driver
Category Industrial Communication, CANopen, SocketCAN, TCP/IP
Operating System Linux (2.6.x)
Older Versions http://www.uv-software.com/files/downloads/socketCAN/can_open/

CANopen-over-TCP/IP Client

Download: CANopen-over-TCP/IP Client for Windows

Description

This little program is for accessing a CANopen-over-TCP/IP gateway (e.g. the UVS CANopen Commandline Tool in gateway mode) from a Windows console.

With this text-based program you can access any CANopen device connected to a CANopen-over-TCP/IP gateway over ethernet by entering commands for CANopen services at the program´s prompt or processing them from a batch file. The syntax is taken from the CANopen specification CiA DS-309/3 (Interfacing CANopen with TCP/IP – ASCII Mapping) and is described here.

Syntax

copnet <address>:<port> [/PROMPT | /P] [/ECHO | /E]
copnet (/HELP  | /?)
copnet (/ABOUT | /µ)
Options:
 /P, /PROMPT  prefix input stream with a prompt
 /E, /ECHO    echo input stream to output stream
 /?, /HELP    display this help and exit
 /µ, /ABOUT   show version information and exit

Summary

Program CANopen-over-TCP/IP Client (Windows)
Current Version Version 0.1.1 of January 26, 2009
Documentation README, Syntaxbeschreibung and program option /HELP
License UVS Freeware License (without warranty or support)
Standards IEEE 802.3, RFC 2045
Driver Winsock
Category Industrial Communication, CANopen, TCP/IP
Operating System Windows 2K/XP

Pilgerschritt bzw. Schleifenfahrt

Projekt: Januar 2009 – Februar 2009 (2 Monate)

Projektbeschreibung

Erweiterung der Firmware für Kompaktantriebe um Kunden-spezifische Sonderfunktion. Auf Basis der bestehenden Antriebsfirmware wurde das Getriebeflankenspiel (backlash) durch die Softwaremethode ‚Pilgerschritt bzw. Schleifenfahrt‘ kompensiert, um eine höhere Positioniergenauigkeit zu erreichen. Bei dieser Methode werden alle Positionen nur aus einer Richtung angefahren. D.h. in einer Richtung wir die Zielposition immer direkt angefahren und in der Gegenrichtung wird die Zielposition zuerst um einen Betrag, der größer ist als das Getriebeflankenspiel, überlaufen und anschließend angefahren.

Projektsteckbrief

Projekt Pilgerschritt bzw. Schleifenfahrt
Zeitraum Januar 2009 – Februar 2009 (2 Monate)
Kunde Schneider Electric Motion Deutschland GmbH & Co. KG
Branche HW- und SW-Entwicklung Mechatronik
Rolle im Projekt Pflichtenheft, Softwareentwurf, Implementierung, Funktionstests, Dokumentation, Auftragsabwicklung
Software / Tools / Methoden Keil C166 C Compiler (uVision3), CAN/CANopen Tools (IXXAT), IclA Commissioning and Control Tool
Hardwareplattform Infineon XC164 Microcontroller, Keil U-Link On-chip Debugger, CAN Interface Boards (IXXAT)

CAN Monitor using SocketCAN

Download: CAN Monitor for Linux

Description

Yes, this is another CAN monitor program using SocketCAN on Linux OS. The BerliOS CAN utilities already offer the great candump program, but I hate this messing around with binary masks for identifier filtering. So I wrote this little program to have an exclude list for single identifiers or identifier ranges (see program option --exclude or just -x). Precede the list with a ~ and you get an include list.

Syntax

Usage: can_moni <interface> [<options>]
Options:
 -t, --time=(abs|rel|zero)   absolute or relative time
 -i, --id=(hex|dec|oct)      display mode of CAN-IDs
 -d, --data=(hex|dec|oct)    display mode of data bytes
 -a, --ascii=(on|off)        display data bytes as ascii
 -x, --exclude=[~]<id-list>  exclude CAN-IDs: <id>[-<id>]{,<id>[-<id>]}
 -h, --help                  display this help and exit
     --version               output version information and exit

Summary

Program can_moni (CAN Monitor for Linux)
Current Version Version 0.1.17 of August 20, 2007
Documentation README and program option --help
License GNU General Public License (GPL V2)
Standard CAN Spezifikation 2.0
Driver BerliOS SocketCAN
Category Industrial Communication, CAN, SocketCAN
Operating System Linux (2.6.x)
Older Versions http://www.uv-software.com/files/downloads/socketCAN/can_moni/

Controllerboard mit Echtzeit-Linux

Projekt: Januar 2007 – Dezember 2008 (24 Monate)

Projektbeschreibung

Mitarbeit bei der Spezifikation und Entwicklung eines Controllerboards mit MPC5200B (Freescale) und echtzeitfähigem Linux (Kernel 2.6 RT Preemptive, PTXdist). Das Projekt stellt eine gemeinsame HW-Plattform und einen generischen SW-Framework für produktspezifische Zentralsteuerungen von Generatorsystem für Plasmaanregung, Induktionserwärmung und CO2-Laseranregung zur Verfügung.
Haupttätigkeitsschwerpunkt im Projekt waren die Definition und Realisierung des SystemCAN für die Kommunikation von Generatormodulen. Der SystemCAN basiert auf dem CANopen-Protokoll nach CiA DS-301 (EN 50325-4).
Während des Projekts wurde beim Kunden ein modellbasierter Entwicklungsansatz nach UML 2.0 eingeführt und ein agiler Entwicklungsprozess nach OpenUP etabliert.

Projektsteckbrief

Projekt Controllerboard mit Echtzeit-Linux
Zeitraum Januar 2007 – Dezember 2008 (24 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Prozessenergie
Rolle im Projekt Anforderungsermittlung, Systemspezifikation, Systemarchitektur, Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Rhapsody in C (UML Tool with Code Generation), Willert Bridge (for Freescale MPC5200B), Linux 2.6.x (RT Preemptive and native), CANopen Master/Slave Software (IXXAT), PEAK USB-to-CAN Dongle with SocketCAN, eXpat XML Parser (Host and Target), GCC, Eclipse (Linux and Cygwin), SVN, MANTIS, DokuWiki, etc.
Hardwareplattform Freescale MPC5200B 32-bit Microcontroller, Phytec phyCORE-MPC5200B-Tiny Controllerboard, BDI 2000 (JTAG Debugger), CAN Interface Boards (PEAK, IXXAT), Windows PC with Linux (Debian) in a virtual machine (VMware)

CANopen Safety Treiber

Projekt: September 2006 – Januar 2007 (5 Monate)

Projektbeschreibung

Erweiterung einer CANopen Steuerung mit Geräteprofil CiA DS-405 (Interface and Device Profile for IEC 61131-3 Programmable Devices) um das CANopen Safety Protokoll entsprechend CiA DS-304 (Framework for safety-relevant communication). Die Mobilsteuerung wird in Teleskopkrane zur Lastmomentbegrenzung eingesetzt. Eine Zertifizierung nach SIL II wurde vom Kunden vorbereitet.

Projektsteckbrief

Projekt CANopen Safety Treiber
Zeitraum September 2006 – Januar 2007 (5 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Automotive / Mobilsteuerung
Rolle im Projekt Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Wind River Diab Data C Compiler, RTOS-UH Real-time Operating System, Vector Informatik CANalyzer and ProCANopen, MKS Source Integrity (Version Control System), PC-lint (Source Code Checker)
Hardwareplattform Freescale PowerPC MPC561, Lauterbach TRACE32 In-circuit Emulator, Vector Informatik CAN Interface Board

CANopen Master API

Projekt: September 2006 – September 2006 (1 Monate)

Projektbeschreibung

Erweiterung einer CANopen Master API (Application Programming Interface) als 32-bit Dynamic Link Library für Windows. Die Softwarelibrary unterstützt jetzt CAN Interfacekarten der Firma Vector Informatik.

Projektsteckbrief

Projekt CANopen Master API
Zeitraum September 2006 – September 2006 (1 Monate)
Kunde Own development (www.uv.software.com)
Branche Industrielle Kommunikation / Feldbus
Rolle im Projekt Systemspezifikation, Softwareentwurf, Implementierung, Funktionstests, Dokumentation
Software / Tools / Methoden Visual C/C++ V6.0 (Windows 9x/2000/XP), Vector XL Driver Library (Version 3.0)
Hardwareplattform Windows PC (9x/2000/XP), Vector CAN Interface Board (CANcaseXL, USB)

Commissioning and Control Tool

Projekt: Juni 2006 – August 2006 (3 Monate)

Projektbeschreibung

Softwareerweiterung einer PC-basierten Software zur Konfiguration von Antriebs- und Applikationsparametern eines Kompaktantriebs über die CAN-Busschnittstelle. Überarbeitung der GUI (Graphical User Interface), so dass das Commissioning Tool in die firmenweite Toolchain integriert werden kann.
Neue Funktionen sind u.a. eine kontextsensitive Hilfe für Geräteparameter (F1 springt an den entsprechenden Bookmark im PDF-Dokument), eine Snapshot-Funktion des aktuellen Gerätezustands für Fehlerdiagnose und Service.

Projektsteckbrief

Projekt Commissioning and Control Tool
Zeitraum Juni 2006 – August 2006 (3 Monate)
Kunde Berger Lahr GmbH & Co. KG, Niederschopfheim
Branche HW- und SW-Entwicklung Mechatronik
Rolle im Projekt Pflichtenheft, Softwareentwurf, Implementierung, Funktionstests, Dokumentation, Auftragsabwicklung
Software / Tools / Methoden Microsoft Visual C++ V6.0, IXXAT CANopen Master API, PEAK PCAN-Light DLL, Iocomp Plot Pack (ActiveX), Acrobat DDE Messages (SDK)
Hardwareplattform Windows PC (2000/XP), IXXAT CAN Interface Boards, PEAK CAN Interface Boards, Compact Drive N065 und D065

Flash-Loader für Renesas R8C/22 Microcontroller

Projekt: April 2006 – Mai 2006 (2 Monate)

Projektbeschreibung

Planung und Erstellung von Funktionsbausteinen für das Flashen von Renesas R8C/22 Mikrocontrollern. Die erstellte 16-bit Windows DLL wird in einen In-circuit Tester für den End-of-Line Test von Leiterplatten im Bereich Automotive (Türsteuermodul für Nutzfahrzeuge) integriert.

Projektsteckbrief

Projekt Flash-Loader für Renesas R8C/22 Microcontroller
Zeitraum April 2006 – Mai 2006 (2 Monate)
Kunde darf aus Gründen des Kundenschutzes nicht genannt werden
Branche Prüffeld Leiterplatten
Rolle im Projekt Systemspezifikation, Softwareentwurf, Implementierung, Funktionstests, Dokumentation, Auftragsabwicklung
Software / Tools / Methoden Visual C++ V1.51 (16-bit Windows), MC30 Compiler (Renesas)
Hardwareplattform Renesas R8C/22 Microcontroller, RS-232 Flash Programmer

Technologietransfer Kompaktantrieb

Projekt: März 2006 – April 2006 (2 Monate)

Projektbeschreibung

Für einen Hersteller von elektrischen Antrieben wurde zwischen Mai 2003 und August 2004 Softwareentwicklungsdienstleistungen für einen CANopen Kompaktantrieb als externer Mitarbeiter erbracht. Durch den Technologietransfer wurden beim Auftraggeber neue Mitarbeiter aus der Entwicklung, dem Support und dem Marketing auf das Produkt geschult. Der Technologietransfer fand in Form von größeren (ca. 15 Teilnehmer) und kleineren Workshops statt.

Projektsteckbrief

Projekt Technologietransfer Kompaktantrieb
Zeitraum März 2006 – April 2006 (2 Monate)
Kunde Berger Lahr GmbH & Co. KG, Niederschopfheim
Branche Antriebstechnik Kompaktantriebe
Rolle im Projekt Schulung und Support, Auftragsabwicklung
Software / Tools / Methoden PowerPoint Presentation, ICCT Commissioning and Control Tool, Software Regression Tester (Test Suite), Various CAN/CANopen Tools
Hardwareplattform Windows PC (2000/XP), IXXAT CAN Interface Boards, PEAK CAN Interface Boards, Compact Drives N065 und D065