Emergency Drive for a Blood Pump

Project: February 2009 – March 2009 (2 months)

Description

Firmware expansion for compact drives to include client-specific functions. The drive is used to complete the emergency concept in a mobile blood pump. For this purpose, the function of the digital control interface was adapted according to customer-specific specifications.

Summary

Project Emergency Drive for a Blood Pump
Duration February 2009 – March 2009 (2 months)
Customer Schneider Electric Motion Deutschland GmbH & Co. KG
Industry Sector HW and SW Development Mechatronics
Role / Responsibility Software Design, Implementation, Function Tests, Documentation, Order Processing
Software / Tools / Methods Keil C166 C Compiler (uVision3), CAN/CANopen Tools (IXXAT)
Hardware Environment Infineon XC164 Microcontroller, Keil U-Link On-chip Debugger, USB Oscilloscope, Multimeter

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

Pilger Rolling / Looping

Project: January 2009 – February 2009 (2 months)

Description

Firmware expansion for compact drives to include client-specific functions. Based on pre-existing driver firmware, the backlash is compensated by the software method ‘Pilger Rolling/Looping’ in order to achieve higher positioning precision. Using this method, all positions are addressed only from one direction. This means that the target positon is always addressed from one direction while, in the opposing direction, the target position will be skipped by a value larger than the backlash and then addressed afterwards.

Summary

Project Pilger Rolling/Looping
Duration January 2009 – February 2009 (2 months)
Customer Schneider Electric Motion Deutschland GmbH & Co. KG
Industry Sector HW and SW Development Mechatronics
Role / Responsibility Technical Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing
Software / Tools / Methods Keil C166 C Compiler (uVision3), CAN/CANopen Tools (IXXAT), IclA Commissioning and Control Tool
Hardware Environment 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/

Controller Board with Real Time Linux

Project: January 2007 – December 2008 (24 months)

Description

Working with the specification and development of a controller board with MPC5200B (Freescale) and real-time Linux (Kernel 2.6 RT Preemptive, PTXdist). The project provides a shared HW platform and a generic SW framework for product-specific central controller of generator systems for plasma excitation, induction heating, and CO2 laser excitation.
My main activity in the project was focused on the definition and realization of the SystemCAN for the communication of generator modules. SystemCAN is based on the CANopen protocol according to CiA DS-301 (EN 50325-4).
During the project, the customer introduced a model-based development approach according to UML 2.0 and established an agile development process according to OpenUP.

Summary

Project Controller Board with Real Time Linux
Duration January 2007 – December 2008 (24 months)
Customer confidential due to nondisclosure agreement
Industry Sector Process Energy
Role / Responsibility Requirements Analysis, System Specifications, System Architecture, Software Design, Implementation, Function Tests, Documentation
Software / Tools / Methods 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.
Hardware Environment 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 Driver

Project: September 2006 – January 2007 (5 months)

Description

Extension of a CANopen controller with device profile CiA DS-405 (Interface and Device Profile for IEC 61131-3 programmable devices) to the CANopen Safety protocol according to CiA DS-304 (Framework for safety-relevant communication). The mobile control unit is used in telescopic cranes for limiting the load torque. The customer prepared SIL II certification.

Summary

Project CANopen Safety Driver
Duration September 2006 – January 2007 (5 months)
Customer confidential due to nondisclosure agreement
Industry Sector Automotive / Mobile Control
Role / Responsibility Software Design, Implementation, Function Tests, Documentation
Software / Tools / Methods 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)
Hardware Environment Freescale PowerPC MPC561, Lauterbach TRACE32 In-circuit Emulator, Vector Informatik CAN Interface Board

CANopen Master API

Project: September 2006 – September 2006 (1 months)

Description

Extension of a CANopen Master API (Application Programming Interface) as a 32-bit Dynamic Link Library for Windows. The software library now supports CAN interface boards from Vector Informatik.

Summary

Project CANopen Master API
Duration September 2006 – September 2006 (1 months)
Customer Own development (www.uv.software.com)
Industry Sector Industrial Communication / Field Bus
Role / Responsibility System Specifications, Software Design, Implementation, Function Tests, Documentation
Software / Tools / Methods Visual C/C++ V6.0 (Windows 9x/2000/XP), Vector XL Driver Library (Version 3.0)
Hardware Environment Windows PC (9x/2000/XP), Vector CAN Interface Board (CANcaseXL, USB)

Commissioning and Control Tool

Project: June 2006 – August 2006 (3 months)

Description

Software improvement of a PC-based software for configuring drive and application parameters of a compact drive via the CAN bus interface. Revision of the GUI (Graphical User Interface) so that the commissioning tool can be integrated into the company-wide toolchain.
New functions include a context-sensitive help for device parameters (F1 jumps to the corresponding bookmark in the PDF document), and a snapshot function of the current device status for error diagnostics and service.

Summary

Project Commissioning and Control Tool
Duration June 2006 – August 2006 (3 months)
Customer Berger Lahr GmbH & Co. KG, Niederschopfheim
Industry Sector HW and SW Development Mechatronics
Role / Responsibility Technical Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing
Software / Tools / Methods Microsoft Visual C++ V6.0, IXXAT CANopen Master API, PEAK PCAN-Light DLL, Iocomp Plot Pack (ActiveX), Acrobat DDE Messages (SDK)
Hardware Environment Windows PC (2000/XP), IXXAT CAN Interface Boards, PEAK CAN Interface Boards, Compact Drive N065 und D065

Flash Loader for Renesas R8C/22 Microcontroller

Project: April 2006 – May 2006 (2 months)

Description

Planning and creating of function blocks for the flashing of Renesas R8C/22 microcontrollers. The 16-bit Windows DLL is integrated into an in-circuit tester for the end-of-line test of printed circuit boards in the automotive sector (door control module for commercial vehicles).

Summary

Project Flash Loader for Renesas R8C/22 Microcontroller
Duration April 2006 – May 2006 (2 months)
Customer confidential due to nondisclosure agreement
Industry Sector Test Bay Printed Circuit Board
Role / Responsibility System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing
Software / Tools / Methods Visual C++ V1.51 (16-bit Windows), MC30 Compiler (Renesas)
Hardware Environment Renesas R8C/22 Microcontroller, RS-232 Flash Programmer