====== Projects ====== ===== PR-043: Software for Double Clutch Transmission ===== April 2022 - December 2023 (21 months) ==== Description ==== The existing project at the customer consists of the actual functional software and a library for the safety level (functional safety according to ISO 26262-6). The safety library is being further developed due to change requests from the OEM as well as new legal requirements regarding safety requirements (ASIL D). The control software as a whole supports two different ECUs from different manufacturers and is used by the OEM in five different transmission derivatives. Within the scope of the software development, an ASPICE level 2 is to be achieved. Support of the FuSa team in Berlin and Gifhorn with the following main activities: * Change request driven coding according to Fastlane process * SYS.2 Requirements analysis/creation/adaptation and review of work results * SWE.1 Requirements analysis/creation/adaptation and review of work results * SWE.2 Software architecture creation/adaptation and review of work results * SWE.3 Software fine design creation/adaptation and review of work results * Task tracking in Enterprise Architect and JIRA ==== Summary ==== |Key|PR-043| |Order|UV-27-049| |Duration|21 months (April 2022 - December 2023)| |Project|Software for Double Clutch Transmission| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Automotive| |Role / Responsibility|Software Safety Requirements, Software Architecture, Software Design, Implementation, Inspektions| |Software / Tools / Methods|Enterprise Architect (Sparx), Tasking C Compiler (Tasking), Eclipse CDT (Eclipse Foundation), ASAP2-Tools (Vector Informatik), CANape (Vector Informatik), Trace32 (Lauterbach), JIRA (Atlassian)| |Hardware Environment|Infineon TriCore TC2xx/TC3xx, HiL (Hardware in the Loop)| \\ ===== PR-042: C Development for a Jib Crane ===== January 2022 - March 2022 (3 months) ==== Description ==== Due to the worldwide shortage of microprocessors in the context of the COVID-19 pandemic and possible future discontinuations of the microprocessors in use, the customer is revising its product range. The existing control electronic for pillar- and wall-mounted slewing jibs is ported to a new microcontroller (for which second source types are also available) without reworking the application program itself. The drivers of the Hardware Abstraction Layer (HAL) are newly developed and connected to the existing application program via wrappers. My task in the project was the development of the drivers and wrappers for ADC, I2C, UART, as well as their commissioning on the (new) target hardware. ==== Summary ==== |Key|PR-042| |Order|UV-21-047| |Duration|January 2022 - March 2022 (3 months)| |Project|C Development for a Jib Crane| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Industrial Applications / Heavy Duty Cranes| |Role / Responsibility|Implementation, Code Review, SW Commissioning, Video Calls (100% remeote)| |Software / Tools / Methods|Eclipse CDT (for Embedded Systems), GCC Compiler for ARM (arm-none-eabi), Microchip MPLAB X IDE and Harmony 3, JIRA (Atlassian)| |Hardware Environment|dsPIC30F6015, dsPIC30F3013 (Microchip), PIC32CM1216MC00048/00032 (Microchip), ARM EDBG Debugger, SEGGER J-Link, Oscilloscope, Multimeter| \\ ===== PR-041: Hands On Detection (II) ===== June 2021 - November 2021 (6 months) ==== Description ==== The HOD system is a capacitive measuring system to detect the drivers touch state at the steering wheel to give input to the car (e.g. for automated accelerating, braking and steering in traffic jams on highways). Its safety goal is not to send defectively a wrong touch state. Defect analysis and repair * Investigation of defects and field returns * Remediation of software defects * Documentation of changes (requirements, design, code, ticket system) Project interface * Participation in meetings with the customer to clarify defects and implementations * Participation in internal meetings to clarify defects and implementations ==== Summary ==== |Key|PR-041| |Order|UV-21-044| |Duration|June 2021 - November 2021 (6 months)| |Project|Hands On Detection (II)| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Automotive| |Role / Responsibility|Defect Analysis, Software Architecture, Software Design, Implementation, Code Review, Project Interface| |Software / Tools / Methods|Enterprise Architect (Sparx), IAR Embedded Workbench for RL78, I2C Sniffer (Beagle), LIN CANoe (Vector), JIRA (Atlassian), DOORS (IBM)| |Hardware Environment|Renesas RL78/F14| \\ ===== PR-040: CAN User-space Drivers for macOS (Open-Source) ===== December 2020 - June 2021 (7 months) ==== Description ==== There are many companies offering multifarious CAN hardware and CAN software, but only a few of them provide a driver for macOS. In the absence of CAN drivers for macOS, I created several user-space drivers for USB-to-CAN interfaces as open-source projects. The main tasks were support of new hardware, implementation of missing features, realization of a unified API, stabilization and bug fixing. macOS user-space drivers for USB-to-CAN interfaces are available for * PCAN-USB Interfaces from PEAK-System * TouCAN USB Interfaces from Rusoku * CAN Leaf Interfaces from Kvaser ==== Summary ==== |Key|PR-040| |Order|UV-00-000| |Duration|December 2020 - June 2021 (7 months)| |Project|CAN User-space Drivers for macOS (Open-Source)| |Customer|Own development (mac-can.github.io)| |Industry Sector|Industrial Communication / Field Bus| |Role / Responsibility|System Specifications, Software Architecture, Software Design, Implementation, Function Tests, Documentation, Social Media| |Software / Tools / Methods|Enterprise Architect (Sparx), Apple Xcode (clang, x86_64), GoogleTest Framework, Travis CI, Doxygen, GitHub| |Hardware Environment|PCAN-USB Adapter (PEAK), PCAN-USB FD Adapter (PEAK), PCAN-USB Pro FD Adapter (PEAK), CAN Leaf Light Adapter (Kvaser), CAN Leaf Pro Adapter (Kvaser), TouCAN USB Adapter (Rusoku)| \\ ===== PR-039: Hands On Detection ===== November 2019 - November 2020 (13 months) ==== Description ==== The HOD system is a capacitive measuring system to detect the drivers touch state at the steering wheel to give input to the car (e.g. for automated accelerating, braking and steering in traffic jams on highways). Its safety goal is not to send defectively a wrong touch state. Support of the Software Team with the following tasks: * Software Architecture ASIL compliance * Software Design ASIL compliance * Software inspections * Software safety analyses ==== Summary ==== |Key|PR-039| |Order|UV-21-044| |Duration|November 2019 - November 2020 (13 months)| |Project|Hands On Detection| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Automotive| |Role / Responsibility|Software Architectural Design, Software Inspections (acc. ISO 26262-2018), Joint FuSa Review (with British OEM)| |Software / Tools / Methods|Enterprise Architect (Sparx), Enterprise Architect VB Script, Python & C# (EA Win32 COM Interface), IAR Embedded Workbench for RL78, JIRA (Atlassian), DOORS (IBM)| |Hardware Environment|Renesas RL78/F14| \\ ===== PR-038: Gateway Unit for Filter Fan Unit Systems ===== September 2019 - October 2019 (2 months) ==== Description ==== The fan controllers are networked via RS-485 bus in a hierarchical, multi-level topology. A specific 9-bit protocol (with one wake-up bit) is used. A gateway unit connects the system to the control system via an RS-232 interface. Some systems have been in operation for more than 20 years. Replacement devices for the gateway units are no longer available. The aim of the project was to re-implement the used serial protocols on an evaluation board with a current (ARM-based) microcontroller. ==== Summary ==== |Key|PR-038| |Order|UV-23-042| |Duration|September 2019 - October 2019 (2 months)| |Project|Gateway Unit for Filter Fan Unit Systems| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Clean Room Technology| |Role / Responsibility|Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Keil uVision 5 (ARM-MDK), Enterprise Architect (Sparx), Git (Distributed Version Control System)| |Hardware Environment|STM32F072 (ARM Cortex-M0), Rigol Oscilloscope, Multimeter| \\ ===== PR-037: Active Front Steering ===== January 2018 - June 2019 (18 months) ==== Description ==== Active front steering project for an American automobile manufacturer. Support of the software team in Berlin with the following tasks: * Safety Check – Rework of Software Architecture, Gap Analysis, Software Requirements, Test Vectors and Review of Unit Test Cases * Rootcausing - Incident Analysis, Impact Analysis, Implementation and Documentation of Software Changes * Golden Showcase - Exemplary revision of the software component 'Steering Wheel Heating' for takeover in an AutoSAR project * Design and implementation of a software for an endurance testbench to record time vs. distance data of a locking unit on USB mass storage (with a sampling rate of 10kHz) * Supervision of working students when creating a S-Function wrapper from software architecture As early as 2012 to 2015, I was involved in the software development of the B-sample and C-sample at this company. ==== Summary ==== |Key|PR-037| |Order|UV-21-043| |Duration|January 2018 - June 2019 (18 months)| |Project|Active Front Steering| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Automotive| |Role / Responsibility|Software Design, Implementation, Unit Tests, Code Reviews, static Code Analysis, Issue Analysis (System Level)| |Software / Tools / Methods|Enterprise Architect (Sparx), GHS C-Compiler (Green Hills), Atollic TrueSTUDIO for STM32, PC-lint (MISRA-C 2004 rules), PolySpace (MathWorks), CANdelaStudio (Vector), CANoe (Vector), DET (Ford), DOORS (IBM), JIRA (Atlassian)| |Hardware Environment|Freescale MPC5643 Dual-Core Microcontroller, Lauterbach Trace32 Debugger, CAN Interface Board (Vector), STM32F746ZI (ARM Cortex-M7), Light Grid Sensor, Laser Distance Sensor| \\ ===== PR-036: Connectivity / IoT ===== May 2017 - December 2017 (8 months) ==== Description ==== The customer is one of the world's leading companies for home appliances and the largest home appliance manufacturer in Europe. Support of the software project team 'HomeConnect' in Berlin with the following tasks: * Consulting in software development for embedded systems for the control and networking of washers, dryers and washer-dryers * Implementation of software architecture and software design * Analysis, conception and estimation of new requirements * Testing and consultation on the created software ==== Summary ==== |Key|PR-036| |Order|UV-22-041| |Duration|May 2017 - December 2017 (8 months)| |Project|Connectivity / IoT| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Industrial Manufacturer| |Role / Responsibility|Concept Design, Software Architecture, Software Design, Software Tests, Static Code Analysis, Issue Analysis| |Software / Tools / Methods|Enterprise Architect, Eclipse, IAR Workbench, Python, Py.test, PC-lint, Serena Dimensions CM, Subversion, BitBucket (git), Atlassian JIRA, JFrog Artifactory| |Hardware Environment|'Simulation' on PC| \\ ===== PR-035: Battery Management System ===== June 2016 - March 2017 (10 months) ==== Description ==== The customer was developing an auxiliary energy storage (lithium ion battery) for FMA support (freewheel engine-off), start/stop operation and emergency support. My main tasks in the project were code reviews (based on checklists and coding rules), static code analysis (MISRA-C:2012 with QAC, Polyspace CodeProver, PC-lint), code quality measurements (HIS metrics with QAC and Polyspace BugFinder), justification of deviations, as well as issue analysis (problem reports on system level). ==== Summary ==== |Key|PR-035| |Order|UV-21-040| |Duration|June 2016 - March 2017 (10 months)| |Project|Battery Management System| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Automotive| |Role / Responsibility|Concept Design, Software Design, Unit Tests (C1 Coverage), Code Reviews, Static Code Analysis, Issue Analysis| |Software / Tools / Methods|IBM Rational DOORS (IBM), STAGES Process Management (methodpark), Redmine Project Management (open source), Enterprise Architect (Sparx), QA-C/MISRA (PRQA), PC-lint (MISRA-C), Polyspace (MathWorks), Tessy (Hitex)| |Hardware Environment|Freescale MPC5606B (Bolero), ASIC Atic157 (proprietary)| \\ ===== PR-034: UDS-based Communication Stack for Encoders ===== August 2015 - May 2016 (10 months) ==== Description ==== Development of server-side application layer services according to ISO-14229 as part of a platform software for encoders. The work package includes the following tasks: * Definition of software architecture components * Capturing the component requirements (in Polarion) * Creating the component and class design (in Enterprise Architect) * Implementation of source code modules in C, taking into account coding rules for safety-relevant software * Performing static code analysis with PC-lint (MISRA-C:2012) * Implementation of white-box tests with GoogleTest * Continuous Integration (Jenkins) * Documentation of the software modules using Doxgen comments and UML diagrams (activity diagrams, sequence diagrams, state charts) * Further development of the software architecture and source code modules of the platform software (persistent data memory, firmware update, HAL for SPI, on-chip flash, CRC-32) * HAL: code refactoring (Non-STLibrary) ==== Summary ==== |Key|PR-034| |Order|UV-20-039| |Duration|August 2015 - May 2016 (10 months)| |Project|UDS-based Communication Stack for Encoders| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Industry / Heavy Duty Encoders| |Role / Responsibility|Software Design, Implementation, Documentation, Code-Reviews| |Software / Tools / Methods|Polarion ALM (Polarion Software), Enterprise Architect (Sparx), ARM GCC, SCons, Keil uVision 5, PC-lint (MISRA-C)| |Hardware Environment|STM32F0 (ARM Cortex-M0)| \\ ===== PR-033: Inductive Coupler with CAN Interface ===== June 2015 - July 2015 (2 months) ==== Description ==== Planning and creating of the firmware for a CAN repeater (quasi-repeater) as a plug replacement for sensor data acquisition in tunnel construction machines. CAN messages are converted to UART to transmit them via an air gap using a FSK modem. To supply the sensors in the drill head, the coupler provides 500mA of current. ==== Summary ==== |Key|PR-033| |Order|UV-19-037| |Duration|June 2015 - July 2015 (2 months)| |Project|Inductive Coupler with CAN Interface| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Industrial Communication / Field Bus| |Role / Responsibility|Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Atmel SAM4E Microcontroller, Rigol Oscilloscope, Multimeter, CAN Interface Boards (Peak, Vector, IXXAT)| |Hardware Environment|Atmel Studio (Version 6.2), Enterprise Architect (Sparx)| \\ ===== PR-032: MacCAN - OS X Library for PCAN-USB Interfaces and more ===== June 2012 - //now// (ongoing) ==== Description ==== The PCBUSB library realizes a 'PCAN-USB Driver for OS X' using Apple´s IOUSBKit. It supports up to 8 PCAN-USB and PCAN-USB FD devices from PEAK-System Technik, Darmstadt. The library offers an easy to use API to read received CAN messages from a 64K message queue and to transmit CAN messages. The PCAN-USB FD device can be operated in CAN Classic and CAN FD mode. Standard CAN frames (11-bit identifier) as well as extended CAN frames (29-bit identifier) are supported. The library comes with an Objective-C wrapper and a demo application: MacCAN Monitor App. ==== Summary ==== |Key|PR-032| |Order|UV-00-000| |Duration|June 2012 - //now// (ongoing)| |Project|MacCAN - OS X Library for PCAN-USB Interfaces and more| |Customer|Own development (www.mac-can.com)| |Industry Sector|Industrial Communication / Field Bus| |Role / Responsibility|System Specifications, Software Architecture, Software Design, Implementation, Function Tests, Documentation| |Software / Tools / Methods|Enterprise Architect (Sparx), Apple LLVM (clang, x86_64), CUnit Test Framework, Doxygen, JIRA| |Hardware Environment|PCAN-USB Adapter (PEAK), PCAN-USB FD Adapter (PEAK)| \\ ===== PR-031: Active Steering Wheel ===== January 2012 - May 2015 (41 months) ==== Description ==== Active steering project for an American automobile manufacturer. Support of the project team in Berlin with the following tasks: * Implementation of the software design (modules) * Documentation of the modules and interfaces * Integration of software components * Design and execution of Unit Tests * Code Reviews ==== Summary ==== |Key|PR-031| |Order|UV-17-034| |Duration|January 2012 - May 2015 (41 months)| |Project|Active Steering Wheel| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Automotive| |Role / Responsibility|Software Design, Implementation, Software Integration, Unit Tests, Code Reviews, Issue Analysis| |Software / Tools / Methods|Enterprise Architect (Sparx), GHS C-Compiler (Green Hills), PC-lint (MISRA-C 2004 rules), CANoe (Vector), DET (Ford), DOORS (IBM), FuSi (IEC 26262-6), Telcon / Webex / Workshop| |Hardware Environment|Freescale MPC5643 Dual-Core Microcontroller, Lauterbach Trace32 Debugger, CAN Interface Board (Vector)| \\ ===== PR-030: Hardware Oriented Software Development ===== December 2010 - December 2011 (13 months) ==== Description ==== Support of several development teams at the client's site. My tasks included: * Development of hardware oriented software applications * Creation of hardware oriented drivers * Implementation of real-time operating systems on embedded platforms * Customization of BIOS and driver software * Project support from requirement engineering to validation Work Batch 1: Analogue CAN Transmitter for Force Feedback Sidestick Control The transmitter is used to transmit analogue and digital signals from a redundant sidestick control via the CAN bus. Through two physically connected sidesticks in the cockpit, the steering system, as well as the gas and brake systems, are controlled. From these systems, current angle data is transmitted back to the systems in the cockpit. Task: Implementation of the transmitter software (CAN bus). Work Batch 2: End-Of-Line Test Software for a Control Panel for Floor-borne Vehicles The vehicles are optionally equipped with a Truck Data Unit (TDU). At the beginning of vehicle use, the driver identifies himself by means of an identification assigned to him (optionally via a keyboard with a PIN number or by means of a card reader with RFID identification) and thus indicates the use of the vehicle. When leaving the vehicle, the driver logs off. Task: Implementation of the test software on the target for end-of-line testing of analog and digital I/O modules, memory devices (F-RAM, NAND-Flash, Data-Flash), LEDs, CAN-communication, matrix keyboard, wake-up function, card reader (RFID), Bluetooth module. Work Batch 3: Compressed Download via CANopen Control panel for blacktop paver with display and CAN interface. A CANopen bootloader handles software updates. Task: Integration of the zlib inflate algorithm into existing boot loader. Work Batch 4: SPI Bootloader for HVAC Front Panel Front panel for climate control intended for a DIN radio slot. Control and display unit with integrated color display, illuminated buttons, and control dials. Communication with the main circuit board takes place via an SPI data bus system and controls all button and encoder inputs, as well as visualization of the display. Tasks: a.) Implementation of the bootloader (SPI slave). b.) Implementation of test procedures. ==== Summary ==== |Key|PR-030| |Order|UV-11-034| |Duration|December 2010 - December 2011 (13 months)| |Project|Hardware Oriented Software Development| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Automotive| |Role / Responsibility|System Specifications, Software Architecture, Software Design, Implementation, Function Tests, Documentation| |Software / Tools / Methods|Keil C166 C Compiler (uVision3), Keil ARM C Compiler (uVision4) , Microsoft Visual C++ 2008 , Enterprise Architect (Sparx) , PC-lint (MISRA-C 2004 rules) , Understand (SciTools) , CAN Analyser (IXXAT) , Doxygen, Python| |Hardware Environment|Infineon XC164CS Microcontroller, Infineon XC2368B Microcontroller, NXP LPC2478 (ARM7/TDMI-S core), Keil U-Link On-chip Debugger, CAN Interface Boards (IXXAT), SPI-to-USB Adapter (Elite)| \\ ===== PR-029: Primary Flight Control System ===== July 2009 - September 2010 (15 months) ==== Description ==== Certification of a Fly-by-Wire flight control: * Software development according to V-Modell and RTCA DO-178B for the Primary Flight Control System of the Superjet 100 * Performing software tests according to RTCA DO-178B * Creation the required documentation according to RTCA DO-178B ==== Summary ==== |Key|PR-029| |Order|UV-15-031| |Duration|July 2009 - September 2010 (15 months)| |Project|Primary Flight Control System| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Aeronautics| |Role / Responsibility|Design und Code Reviews, Software Improvement, Software Tests, Documentation| |Software / Tools / Methods|Ameos (Aonix) UML Modeling Tool, CodeWarior (Metrowerks) C Compiler for Power Architecture Processors, QA-C/MISRA (QA Systems) Static Code Analysis, PolySpace (MathWorks) MISRA-C Code Checker, CTE (DaimlerChrysler AG) Classification Tree Editor, ClearCase / ClearQuest (Rational) Unified Change Management, Reqtify (geensys) Requirements Management / Traceability Tool, SmarTeam (Dassault Systemes) Product Data Management / Product Lifecycle Management, DO-178B (RTCA) Software Considerations in Airborne System and Equipment Certification| |Hardware Environment|Freescale MPC5554 32-bit Microcontroller| \\ ===== PR-028: Emergency Drive for a Blood Pump ===== 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 ==== |Key|PR-028| |Order|UV-12-027| |Duration|February 2009 - March 2009 (2 months)| |Project|Emergency Drive for a Blood Pump| |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| \\ ===== PR-027: Pilger Rolling/Looping ===== 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 ==== |Key|PR-027| |Order|UV-13-028| |Duration|January 2009 - February 2009 (2 months)| |Project|Pilger Rolling/Looping| |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)| \\ ===== PR-026: Controller Board with Real Time Linux ===== 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 ==== |Key|PR-026| |Order|UV-11-026| |Duration|January 2007 - December 2008 (24 months)| |Project|Controller Board with Real Time Linux| |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)| \\ ===== PR-025: CANopen Safety Driver ===== 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 ==== |Key|PR-025| |Order|UV-10-025| |Duration|September 2006 - January 2007 (5 months)| |Project|CANopen Safety Driver| |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| \\ ===== PR-024: CANopen Master API ===== 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 ==== |Key|PR-024| |Order|UV-00-000| |Duration|September 2006 - September 2006 (1 months)| |Project|CANopen Master API| |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)| \\ ===== PR-023: Commissioning and Control Tool ===== 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 ==== |Key|PR-023| |Order|UV-05-023| |Duration|June 2006 - August 2006 (3 months)| |Project|Commissioning and Control Tool| |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| \\ ===== PR-022: Flash Loader for Renesas R8C/22 Microcontroller ===== 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 ==== |Key|PR-022| |Order|UV-09-024| |Duration|April 2006 - May 2006 (2 months)| |Project|Flash Loader for Renesas R8C/22 Microcontroller| |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| \\ ===== PR-021: Technology Transfer Compact Drive ===== March 2006 - April 2006 (2 months) ==== Description ==== Between May 2003 and August 2004, I provided software development services for a CANopen compact drive as a freelancer for a manufacturer of electrical drives. Through this transfer of technology, new employees from engineering, support and marketing were trained on the product. The technology transfer took place in the form of larger (about 15 participants) and smaller workshops. ==== Summary ==== |Key|PR-021| |Order|UV-05-023| |Duration|March 2006 - April 2006 (2 months)| |Project|Technology Transfer Compact Drive| |Customer|Berger Lahr GmbH & Co. KG, Niederschopfheim| |Industry Sector|Motion Control Compact Drives| |Role / Responsibility|Training and Support, Order Processing| |Software / Tools / Methods|PowerPoint Presentation, ICCT Commissioning and Control Tool, Software Regression Tester (Test Suite), Various CAN/CANopen Tools| |Hardware Environment|Windows PC (2000/XP), IXXAT CAN Interface Boards, PEAK CAN Interface Boards, Compact Drives N065 und D065| \\ ===== PR-020: Commissioning and Control Tool ===== January 2006 - February 2006 (2 months) ==== Description ==== Software improvement of a PC-based software for configuring drive and application parameters of a compact drive via the CAN bus interface with additional CAN interfaces. A CANopen Master DLL was implemented for the PEAK CAN-USB dongle and a DLL router was integrated into the configuration tool. The DLL router recognizes the CAN interface present in the system and dynamically loads the corresponding CANopen master DLL for the recognized CAN interface. ==== Summary ==== |Key|PR-020| |Order|UV-04-020| |Duration|January 2006 - February 2006 (2 months)| |Project|Commissioning and Control Tool| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|HW and SW Development Mechatronics| |Role / Responsibility|System 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| |Hardware Environment|Windows PC (2000/XP), IXXAT CAN Interface Boards, PEAK CAN Interface Boards, Compact Drives N065 und D065| \\ ===== PR-019: CANopen Master API ===== October 2005 - December 2005 (3 months) ==== Description ==== Implementation of a CANopen Master API (Application Programming Interface) as a 32-bit Dynamic Link Library for Windows. The software library supports various CAN interface boards from different manufacturers: * IXXAT Virtual CAN interface * PEAK PCAN-Light Interface * M + K RS-CAN converter (ASPopen) * Support of additional interface boards on request The package includes two simple PC-based sample programs: A monitor program (CANmonitor), which cyclically reads the event queue of the CAN interface board and displays the received CAN messages on the screen. In addition, an object browser (COPbrowser), which allows access to the object directory of individual CANopen devices. The browser can be used for parameterization and simple device diagnostics. ==== Summary ==== |Key|PR-019| |Order|UV-00-000| |Duration|October 2005 - December 2005 (3 months)| |Project|CANopen Master API| |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), IXXAT CANopen Master API, PEAK PCAN-Light DLL, ASPopen Protocol| |Hardware Environment|Windows PC (9x/2000/XP), IXXAT CAN Interface Boards (iPCI320/PCI, USB-to-CAN compact), PEAK CAN Interface Board (PCAN-USB-Dongle), M+K RS-CAN-Wandler (RS-232 to CAN)| \\ ===== PR-018: In-Circuit Tester ===== September 2005 - September 2005 (1 months) ==== Description ==== Planning and creating of function blocks for an on-board test software of logic boards for integrated compact drives under RS-232. The function blocks were implemented as a software library (Dynamic Link Library) for Windows 3.x. Adaptation of the software library to a new product variant. ==== Summary ==== |Key|PR-018| |Order|UV-04-021| |Duration|September 2005 - September 2005 (1 months)| |Project|In-Circuit Tester| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |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), Keil C166 C Compiler (uVision3), RS-232 Bootstrap Loader| |Hardware Environment|Infineon XC164 Microcontroller, USB Oscilloscope, Multimeter| \\ ===== PR-017: Software Regression Test ===== May 2005 - August 2005 (4 months) ==== Description ==== Planning and creating of a software for regression testing of drive firmware via the CAN bus interface. A PC-based test program (test suite) executes the software evaluation. Through the test program, different firmware versions are always exposed to the same test conditions. The test sequence was structured in such a way that further tests can be added and others can be removed or masked out. ==== Summary ==== |Key|PR-017| |Order|UV-04-014| |Duration|May 2005 - August 2005 (4 months)| |Project|Software Regression Test| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|HW and SW Development Mechatronics| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Microsoft Visual C++ V6.0, IXXAT CANopen Master API, Toellner GPIB/RS-232 Specification| |Hardware Environment|Compact Drive N065 DC024 (CANopen), TwinLine Servo Drive (CANopen), Toellner Power Supply (GPIB/RS-232), IXXAT CAN Interface Board, Signal-Box (Digital I/O), USB Oscilloscope, Multimeter| \\ ===== PR-016: RS-CAN Converter with CANopen Master ===== April 2005 - April 2005 (1 months) ==== Description ==== The RS-CAN converter is used to connect a PC or a PLC with a CAN / CANopen network via the serial interface (RS-232). With the converter, an application can easily be extended with CANopen devices. The converter provides a CAN Layer 2 access with standard identifiers (11-bit COB-IDs) to the devices in the CAN network as well as CANopen master services according to the CiA communication profile DS-301 (version 4.02). ==== Summary ==== |Key|PR-016| |Order|UV-07-013| |Duration|April 2005 - April 2005 (1 months)| |Project|RS-CAN Converter with CANopen Master| |Customer|M+K GmbH, Haibach| |Industry Sector|Industrial Communication / Field Bus| |Role / Responsibility|Requirements Analysis, System Specifications, Software Design, Implementation, Function Tests, Documentation| |Software / Tools / Methods|MC30 Compiler (Renesas), ASPopen Protocol (RS-232)| |Hardware Environment|Renesas M16C/62N Microcontroller, RS-232 Flash Programmer| \\ ===== PR-015: Commissioning and Control Tool ===== January 2005 - March 2005 (3 months) ==== Description ==== Planning and creating of a PC-based software for configuring drive and application parameters of a compact drive via the CAN bus interface. The parameter values for a device are stored in a configuration file or can be entered or changed on the screen (parameterization function). Further functions of the software are the parameterization and starting of drive movements (control function), the recording and evaluation of measured values and status information of the drive (diagnostic function), as well as the recording and displaying of speed and current measurements during a drive movement (oscilloscope function). ==== Summary ==== |Key|PR-015| |Order|UV-04-020| |Duration|January 2005 - March 2005 (3 months)| |Project|Commissioning and Control Tool| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|HW and SW Development Mechatronics| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Microsoft Visual C++ V6.0, IXXAT CANopen Master API, XML Validator| |Hardware Environment|Windows PC (2000/XP), IXXAT CAN Interface Boards, Compact Drive N065 und D065| \\ ===== PR-014: Curtain Cutting with Laser ===== December 2004 - January 2005 (2 months) ==== Description ==== Further development and partial redesign of a software system for a cutting line of curtain fabrics in the textile industry. The application consists of a standard PC with touch screen for job acquisition and processing, a soft PLC that communicates with the PC via RS-232 interface, two servo drives with pulse-direction interface, as well as photoelectric switches and limit switches. A laser cuts the curtain fabric vertical and horizontal, whereby the PLC autonomously carries out the X-Y control. ==== Summary ==== |Key|PR-014| |Order|UV-02-018| |Duration|December 2004 - January 2005 (2 months)| |Project|Curtain Cutting with Laser| |Customer|Spruck Industrieelektronik, Neckarbischofsheim| |Industry Sector|Automation Textile Industry| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Microsoft Visual Basic 5.0, Keil C166 C Compiler (uVision3), Frenzel&Berg Library (C source code)| |Hardware Environment|IPC with Touchscreen, Frenzel&Berg EASY Soft PLC, Mitsubishi Servo Drives| \\ ===== PR-013: Pilot Customer Test of a Compact Drive ===== December 2004 - December 2004 (1 months) ==== Description ==== Verification of a compact drive for CANopen conformity according to the device profile for drives (CiA DSP-402) and creation of a test report. ==== Summary ==== |Key|PR-013| |Order|UV-08-015| |Duration|December 2004 - December 2004 (1 months)| |Project|Pilot Customer Test of a Compact Drive| |Customer|//confidential due to nondisclosure agreement//| |Industry Sector|Motion Control Compact Drives| |Role / Responsibility|System Verification, Order Processing| |Software / Tools / Methods|Various CAN/CANopen Tools| |Hardware Environment|CANopen Compact Drive| \\ ===== PR-012: CoDeSys Application Program for the Operation of Lifetime Tests ===== November 2004 - November 2004 (1 months) ==== Description ==== Planning and creating of an application program for lifetime tests of compact drives: * Design of a suitable test structure with the following content: * Design of a user interface for individual control of n drives * Parameterization of different motion cycles * Observation and documentation of individual actual values * Implementation of the application program * Documentation of the software * System introduction ==== Summary ==== |Key|PR-012| |Order|UV-04-014| |Duration|November 2004 - November 2004 (1 months)| |Project|CoDeSys Application Program for the Operation of Lifetime Tests| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|Test Bay Compact Drives| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|CoDeSys (3S) for TLCC Library, Various CAN/CANopen Tools| |Hardware Environment|TLCC Soft SPS (I/O, RS-232, Ethernet, CANopen), Compact Drive N065 DC024 (CANopen), TwinLine Servo Drive (CANopen), Toellner Power Supply (GPIB/RS-232), USB Oscilloscope, Multimeter| \\ ===== PR-011: Pilot Customer Test of a Servo Drive ===== October 2004 - October 2004 (1 months) ==== Description ==== Checking and evaluating the CANopen fieldbus functionality of a drive system according to the device profile for drives (CiA DSP-402) and creating a pilot customer report (questionnaire, test series and test reports). ==== Summary ==== |Key|PR-011| |Order|UV-05-019| |Duration|October 2004 - October 2004 (1 months)| |Project|Pilot Customer Test of a Servo Drive| |Customer|Berger Lahr Positec GmbH, Niederschopfheim| |Industry Sector|Motion Control Servo Drives| |Role / Responsibility|System Verification, Order Processing| |Software / Tools / Methods|Various CAN/CANopen Tools| |Hardware Environment|CPD Servo Drive (CANopen)| \\ ===== PR-010: Final Acceptance Tester ===== September 2004 - September 2004 (1 months) ==== Description ==== Planning and creating of function blocks for the final inspection and generation of variants of integrated compact drives under CANopen. The function blocks were implemented as a software library (Dynamic Link Library) for Windows 9x and IXXAT interface boards. Adaptation of the software library to a new product variant. ==== Summary ==== |Key|PR-010| |Order|UV-04-017| |Duration|September 2004 - September 2004 (1 months)| |Project|Final Acceptance Tester| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|Test Bay Compact Drives| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Visual C++ V6.0, CANopen Master API (IXXAT)| |Hardware Environment|Compact Drive N065 (CANopen), IXXAT CAN Interface Board| \\ ===== PR-009: CANopen Compact Drive ===== May 2003 - August 2004 (16 months) ==== Description ==== Cooperation in the specification and development of a compact drive for format adjustment with CAN interface and CANopen protocol according to CiA DSP-402 (Profile for Drives and Motion Control). My tasks in the project included: * Support for a development team when defining the system configuration: * Definition of the drive functions (hardware and software) * Selection of CANopen communication services and CANopen communication objects * Specification of the motor control functions, including the interface definition to the motor operation program * Selection of the development environment (software and hardware tools such as compiler, assembler, debugger, emulator, etc.) * Creation of the specification part "Description of the CAN / CANopen interface" * Development and testing of the CANopen application program: * Adaption the CANopen protocol stack to the target system * Implementation and coding of the CANopen software part * Function and integration test of the CANopen software part * Support for the CANopen conformity test * Creation of the development documentation "Description of the CAN / CANopen interface" * as well as the cooperation in the planning, development and integration of further software functions ==== Summary ==== |Key|PR-009| |Order|UV-04-012| |Duration|May 2003 - August 2004 (16 months)| |Project|CANopen Compact Drive| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|HW and SW Development Mechatronics| |Role / Responsibility|Requirements Analysis/Requirements Document, System Specifications/Technical Specifications, System Architecture, Software Design, Implementation, Function Tests, Documentation/Manual, System Verification, Training and Support, Order Processing| |Software / Tools / Methods|Keil C166 C Compiler (uVision3), IXXAT CANopen Slave Software, CAN/CANopen Tools (IXXAT), CiA CANopen Conformance Tester| |Hardware Environment|Infineon XC164 Microcontroller, Keil U-Link On-chip Debugger, CAN Interface Boards (IXXAT)| \\ ===== PR-008: In-Circuit Tester ===== April 2003 - May 2003 (2 months) ==== Description ==== Planning and creating of function blocks for an on-board test software of logic boards for integrated compact drives under RS-232. The function blocks were implemented as a software library (Dynamic Link Library) for Windows 3.x. ==== Summary ==== |Key|PR-008| |Order|UV-04-010| |Duration|April 2003 - May 2003 (2 months)| |Project|In-Circuit Tester| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |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), Tasking C166/ST10 Compiler| |Hardware Environment|Infineon C164 Microcontroller, RS-232 Bootstrap-Loader| \\ ===== PR-007: Final Acceptance Tester ===== March 2003 - April 2003 (2 months) ==== Description ==== Planning and creating of function blocks for the final inspection and generation of variants of integrated compact drives under CANopen. The function blocks were implemented as a software library (Dynamic Link Library) for Windows 9x and IXXAT interface boards. ==== Summary ==== |Key|PR-007| |Order|UV-04-009| |Duration|March 2003 - April 2003 (2 months)| |Project|Final Acceptance Tester| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|Test Bay Compact Drives| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Visual C++ V6.0, CANopen Master API (IXXAT)| |Hardware Environment|Compact Drive D065 (CANopen), IXXAT CAN Interface Board| \\ ===== PR-006: Sewing Machine for Cover Film (Fruit-Growing) ===== January 2003 - February 2003 (2 months) ==== Description ==== Development of an application program for Soft-PLC in C: The application consists of six (6) industrial sewing machines, whereby needle and gripper are not mechanically coupled but via two servo drives. The servos are controlled and monitored via a PLC that also handles thread monitors, material sensors and fault signals. The six PLCs are networked via CAN bus, one PLC serving as a master station. A display for operating the machine is connected to the master PLC via the CAN bus. ==== Summary ==== |Key|PR-006| |Order|UV-02-008| |Duration|January 2003 - February 2003 (2 months)| |Project|Sewing Machine for Cover Film (Fruit-Growing)| |Customer|Spruck Industrieelektronik, Neckarbischofsheim| |Industry Sector|Automation Textile Industry| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Keil C166 C Compiler (uVision2), F&B Libraries (C source code), UVS CANopen Master Library| |Hardware Environment|Frenzel&Berg EASY Soft PLC, Customized Display (320x200, CAN), Mitsubishi Servo Drives, Incremental Encoders, Various Digital Sensors| \\ ===== PR-005: Conversion Program for Intel Hex Files ===== January 2003 - January 2003 (1 months) ==== Description ==== The program converts Intel hex records into CANopen data segments. A Soft PLC transfers the data segments to the target device via the CAN bus. The program is used for the firmware upgrade of integrated compact drives. ==== Summary ==== |Key|PR-005| |Order|UV-05-007| |Duration|January 2003 - January 2003 (1 months)| |Project|Conversion Program for Intel Hex Files| |Customer|Berger Lahr Positec GmbH, Niederschopfheim| |Industry Sector|Automation Telemaintemance| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Visual C++ V6.0, CANopen Master API (IXXAT)| |Hardware Environment|Compact Drive (CANopen), IXXAT CAN Interface Board| \\ ===== PR-004: CANopen for Motion Controllers according to CiA DSP-402 ===== December 2002 - December 2002 (1 months) ==== Description ==== Conducting a workshop on the topic of CANopen for electric drives: * Overview of CAN and CANopen * CANopen communication profile CiA DS-301 * CANopen device profile for motion controllers (DSP-402) * CANopen object directory for motion controllers * CANopen state machine for motion controllers * Set-up of motion controllers under CANopen * The object directory for parameter access * The state machine for generating drive motions * Hands-on training The in-house workshop served a small developer team (2 people) to prepare themselves for the development of a CANopen drive according to CiA DSP-402. ==== Summary ==== |Key|PR-004| |Order|UV-04-006| |Duration|December 2002 - December 2002 (1 months)| |Project|CANopen for Motion Controllers according to CiA DSP-402| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|HW and SW Development Mechatronics| |Role / Responsibility|Training and Support, Order Processing| |Software / Tools / Methods|PowerPoint Presentation, IXXAT CANanalyser/32| |Hardware Environment|Compact Drive D065 (CANopen), IXXAT CAN Interface Board| \\ ===== PR-003: Flash Loader for Microcontroller Infineon C16x ===== November 2002 - December 2002 (2 months) ==== Description ==== Planning and creating software to load Intel Hex files via a bootstrap loader mechanism by the microcontroller C164CI via a serial port according to RS-232 under Windows 2000. Drivers for different flash memory devices were also created ==== Summary ==== |Key|PR-003| |Order|UV-04-006| |Duration|November 2002 - December 2002 (2 months)| |Project|Flash Loader for Microcontroller Infineon C16x| |Customer|Berger Lahr GmbH & Co. KG, Lahr| |Industry Sector|HW and SW Development Mechatronics| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Visual C++ V6.0, Tasking C166/ST10 Assembler| |Hardware Environment|Infineon C164 Microcontroller, RS-232 Bootstrap-Loader| \\ ===== PR-002: Automatic Sewing Machine for Mop ===== October 2002 - November 2002 (2 months) ==== Description ==== Development of an application program for Soft PLC in C. The machine simultaneously sews two sides of a mop. It consists of a pneumatic gripping device, a feed drive and a puller drive; two servo drives each driving an industrial sewing machine, a thread chopper and a thread extractor. The drives are controlled by the PLC via the CAN bus (CANopen protocol) and the remaining actuators and sensors via digital inputs / outputs. The sewing machine is operated via a display that communicates with the PLC via the CAN bus. ==== Summary ==== |Key|PR-002| |Order|UV-02-004| |Duration|October 2002 - November 2002 (2 months)| |Project|Automatic Sewing Machine for Mop| |Customer|Spruck Industrieelektronik, Neckarbischofsheim| |Industry Sector|Automation Textile Industry| |Role / Responsibility|System Specifications, Software Design, Implementation, Function Tests, Documentation, Order Processing| |Software / Tools / Methods|Keil C166 C Compiler (uVision2), F&B Libraries (C source code), UVS CANopen Master Library| |Hardware Environment|Frenzel&Berg EASY Soft PLC, Customized Display (320x200, CAN), Mitsubishi Servo Drives, Pneumatic Actuators, Various Digital Sensors| \\ ===== PR-001: CAN / CANopen Master Software Library for Microcontrollers Infineon C16x ===== July 2002 - September 2002 (3 months) ==== Description ==== Development of a CAN / CANopen master software library for Infineon C16x microcontrollers with the following features: * Initialization of the on-chip CAN Controller (82527-compatible): * Baud rates: 10kBit/s to 1MBit/s (according to CiA bit-timing table) * SDO Protocol (segmented und expedited, according to CiA DS-301, version 4.0): * Easy to use access to 8-bit, 16-bit und 32-bit objects (CiA encoding rules) * Adjustable time-out monitoring (on time-out an SDO abort message will be sent) * Detailed error feedback (communication errors or SDO abort codes) * NMT-Broadcast (Network Management according to CiA DS-301, version 4.0) * LSS Services (Layer Settings Services according to CiA DSP-305, version 1.0) * LMT Services (Layer Management Services according to CiA DS-205, part 1 & 2) * Event Queue for event-driven message processing, e.g. for: * Receive-PDOs (RxPDOs) * Emergency-Messages * Heartbeat-Messages * Access to CAN Layer 2: * Transmit Message (e.g. for TxPDOs, SYNC-Object, TIME-Object) * Request Message (e.g. for RTR-PDOs, Node-Guarding) The package is characterized by low usage of microcontroller resources. The software library is also available for Infineon XC16x (TwinCan) and Mitsubishi M16C (Renesas) microcontrollers. Support of other microcontrollers on request. ==== Summary ==== |Key|PR-001| |Order|UV-00-000| |Duration|July 2002 - September 2002 (3 months)| |Project|CAN / CANopen Master Software Library for Microcontrollers Infineon C16x| |Customer|Own development (www.uv.software.com)| |Industry Sector|Industrial Communication / Field Bus| |Role / Responsibility|Requirements Analysis, System Specifications, Software Design, Implementation, Function Tests, Documentation| |Software / Tools / Methods|Tasking C166/ST10 Compiler, Keil C166 C Compiler (uVision2), Renesas MC30 Compiler, GCC for MPC5200B| |Hardware Environment|Infineon C164CI Microcontroller, Infineon C167CR Microcontroller, Infineon XC164CS Microcontroller, Renesas M16C/62N Microcontroller, BerliOS SocketCAN on Embedded Linux| \\ ===== AN-012: Position Control System ===== April 2001 - June 2002 (15 months) ==== Description ==== Key responsible for the design and development of a family of motion controllers within low power range (50 to 400 watts). The decentralized intelligent motion control system with integrated motor amplifier and CANopen interface can be used as an integrated or external control for motors with or without brushes. Developed for positioning and speed control, the motion controller offers various positioning modes, as well as homing modes and manual modes. Operation takes place via CANopen device profile CiA DSP-402 or via programmable digital inputs/outputs. In addition to the development activities, customer support and on-site commissioning were also part of my task spectrum. ==== Summary ==== |Key|AN-012| |Duration|April 2001 - June 2002 (15 months)| |Project|Position Control System| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Motion Control EC-Drives| |Role / Responsibility|Employee in position of responsibility| |Software / Tools / Methods|Tasking C166/ST10 Compiler, Microsoft Visual C/C++ 6.0, IXXAT CANopen Slave Software, IXXAT CANopen Master API, IXXAT CANanalyser/32, RS-232 Bootstrap-Loader| |Hardware Environment|Infineon C164 Microcontroller, IBM compatible PC, Windows 95, IXXAT CAN-Interface (iPC320/ISA), HP Oscilloscope| \\ ===== AN-011: Integrated Compact Drive ===== January 1998 - March 2001 (39 months) ==== Description ==== Collaboration in the planning and creating of an electronic control system for a compact drive with EC motor technology in the power range up to 100 watts. Power and positioning electronics as well as a spur gear with needle bearing are attached to the motor. Only one supply cable and one fieldbus cable are required for the control. Communication takes place via the CAN bus according to the CANopen device profile CiA DSP-402 (Device Profile for Drives and Motion Control). ==== Summary ==== |Key|AN-011| |Duration|January 1998 - March 2001 (39 months)| |Project|Integrated Compact Drive| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Motion Control EC-Drives| |Role / Responsibility|Employee| |Software / Tools / Methods|Tasking C166/ST10 Compiler, Microsoft Visual C/C++ 6.0, IXXAT CANopen Slave Software, IXXAT CANopen Master API, IXXAT CANanalyser/32, RS-232 Bootstrap-Loader| |Hardware Environment|Infineon C164 Microcontroller, IBM compatible PC, Windows 95, IXXAT CAN-Interface (iPC320/ISA), HP Oscilloscope| \\ ===== AN-010: Integrated Linear Drive ===== May 1996 - December 1997 (20 months) ==== Description ==== Collaboration in the development of an electronic control system for a linear drive with an adjustable motor. The drive is used for linear movements in machines / systems and is especially suitable for industrial applications with heavy loads (up to 20 KN). A sturdy aluminum housing integrates motor, gearbox and control electronics. Operation with all options (speed, positioning, soft start / stop, time-dependent functions etc.) can be programmed directly at the drive itself or through a system interface (for example CAN / CANopen, Interbus, Profibus). ==== Summary ==== |Key|AN-010| |Duration|May 1996 - December 1997 (20 months)| |Project|Integrated Linear Drive| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Motion Control EC-Drives| |Role / Responsibility|Employee| |Software / Tools / Methods|Keil C51 Cross Compiler, Microsoft Visual C/C++ 1.5, RS-232 Communication Protocol| |Hardware Environment|Siemens 80C509 Microcontroller, IBM compatible PC, Windows 3.11, HP Oscilloscope| \\ ===== AN-009: Filter Fan Unit ===== October 1995 - April 1996 (7 months) ==== Description ==== Collaboration in the development of an electronic control system for the operation of fans (EC technology) used in clean room areas and building air conditioning. Fan controllers are connected via RS-485 bus with a hierarchical, multi-stage topology. At most, 31 x 8 x 31 devices can be networked; the largest installation included around 2,500 fan units (chip fabrication). Operation and visualization, installation and maintenance were conducted via a RS-232/RS-485 gateway on an industrial PC. The cycle time on the PC takes around 5 minutes with 7,688 fan units. ==== Summary ==== |Key|AN-009| |Duration|October 1995 - April 1996 (7 months)| |Project|Filter Fan Unit| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Clean Room Technology| |Role / Responsibility|Employee| |Software / Tools / Methods|Keil C51 Cross Compiler, Microsoft Visual C/C++ 1.5, RS-232 Communication Protocol, RS-485 Communication Protocol| |Hardware Environment|Siemens 80C517A Microcontroller, IBM compatible PC, Windows 3.11, RS-232/RS-485 Adapter, HP Oscilloscope| \\ ===== AN-008: Electronic Commutation and Control System ===== April 1995 - September 1995 (6 months) ==== Description ==== Collaboration in a R&D project for microcontroller-based electronic controls for the operation of electronically commutated brushless DC motors (EC motors). ==== Summary ==== |Key|AN-008| |Duration|April 1995 - September 1995 (6 months)| |Project|Electronic Commutation and Control System| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Motion Control EC-Drives| |Role / Responsibility|Employee| |Software / Tools / Methods|Keil C51 Cross Compiler, Microsoft Visual C/C++ 1.5, RS-232 Communication Protocol| |Hardware Environment|Siemens 80C517A Microcontroller, IBM compatible PC, Windows 3.11, Hitex MX51 Emulator, HP Oscilloscope| \\ ===== AN-007: Current Tester ===== December 1994 - March 1995 (4 months) ==== Description ==== Implementation of a test program for the detection and evaluation of motor phase currents within process assurance and quality control. ==== Summary ==== |Key|AN-007| |Duration|December 1994 - March 1995 (4 months)| |Project|Current Tester| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Final Electronics Assembly| |Role / Responsibility|Employee| |Software / Tools / Methods|Microsoft Quick C, Keil C51 Cross Compiler, RS-232 Communication Protocol| |Hardware Environment|IBM compatible PC, MS-DOS, Siemens 80C537 Microcontroller, Current Probe| \\ ===== AN-006: I2C Protocol ===== September 1994 - November 1994 (3 months) ==== Description ==== Implementation of the I2C protocol for Siemens 80C537 microcontrollers and driver routines to access a serial EEPROM and LCD display segments. ==== Summary ==== |Key|AN-006| |Duration|September 1994 - November 1994 (3 months)| |Project|I2C Protocol| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Electronics Development| |Role / Responsibility|Employee| |Software / Tools / Methods|Keil C51 Cross Compiler| |Hardware Environment|Siemens 80C537 Microcontroller, SGS/Thomson 128x8 EEPROM| \\ ===== AN-005: SQL Database ===== July 1992 - August 1992 (2 months) ==== Description ==== Creation of a database for the management of serial numbers for circuit boards and for monitoring the production status of circuit boards. ==== Summary ==== |Key|AN-005| |Duration|July 1992 - August 1992 (2 months)| |Project|SQL Database| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Electronics Manufacturing| |Role / Responsibility|Summer Job| |Software / Tools / Methods|ComfoBase SQL| |Hardware Environment|IBM compatible PC, Windows 3.0| \\ ===== AN-004: DIN Measurement Bus ===== July 1991 - September 1991 (3 months) ==== Description ==== Implementation of the DIN measurement bus protocol (DIN 66348) for control unit (master) and slave station based on EIA 232 (RS-232 interface). The protocol was later ported to 8051-compatible microcontroller, and used for the control of in-wheel drives in electric wheelchairs. ==== Summary ==== |Key|AN-004| |Duration|July 1991 - September 1991 (3 months)| |Project|DIN Measurement Bus| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Rehabilitation Technology| |Role / Responsibility|Summer Job| |Software / Tools / Methods|Microsoft Quick C, Microsoft Macro Assembler, Keil C51 Cross Compiler| |Hardware Environment|IBM compatible PC, MS-DOS, 8051 Evaluation Board| \\ ===== AN-003: Plot Program ===== April 1989 - May 1989 (2 months) ==== Description ==== Creation of a plot program to display of up to six (6) measurement data series from an ASCII file and to output them on a dot matrix printer (DIN-A4, landscape). ==== Summary ==== |Key|AN-003| |Duration|April 1989 - May 1989 (2 months)| |Project|Plot Program| |Customer|ERL Elektronische Steuerungen GmbH, Markdorf| |Industry Sector|Engineering Office| |Role / Responsibility|Summer Job| |Software / Tools / Methods|Microsoft Quick C| |Hardware Environment|IBM compatible PC, MS-DOS, Epson Dot Matrix Printer| \\ ===== AN-002: Avionics User Software ===== September 1985 - December 1985 (4 months) ==== Description ==== Creation of user software for the management of requirements data in the field of avionics. ==== Summary ==== |Key|AN-002| |Duration|September 1985 - December 1985 (4 months)| |Project|Avionics User Software| |Customer|Dornier GmbH, Immenstaad am Bodensee| |Industry Sector|Aerospace Technology| |Role / Responsibility|Employee| |Software / Tools / Methods|VAX Script Language| |Hardware Environment|VAX (Digital Equipment Corporation)| \\ ===== AN-001: CBDS Database ===== September 1982 - June 1983 (10 months) ==== Description ==== Creation of a CBDS database (circuit board design) and creation of a manual for the use of the system with text system DCF. ==== Summary ==== |Key|AN-001| |Duration|September 1982 - June 1983 (10 months)| |Project|CBDS Database| |Customer|Dornier GmbH, Immenstaad am Bodensee| |Industry Sector|Aerospace Technology| |Role / Responsibility|Employee| |Software / Tools / Methods|CBDS (Circuit Board Design System), DCF (Document Composition Facility), JCL (Job Control Language)| |Hardware Environment|VM/CMS (IBM Mainframe)| \\