Entwicklung eines CANopen-Netzwerkes



Ähnliche Dokumente
Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

1. Übung zu "Numerik partieller Differentialgleichungen"

Konzeption und Implementierung einer Videodigitalisierung und Videoausgabe unter Embedded Linux. Kolloquium von Frank Schwanz

Java und XML 2. Java und XML

Das MEHR an Systemverfügbarkeit. SIMATIC IPC Software. Industrie Workshop PC-based Automation Nov. 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

INSEVIS Ihr Partner für wirtschaftliche S7-Steuerungstechnik

Application Programming Interface im Mikrocontroller zur Steuerung von EPICS

Objektorientierte Programmierung

1. Zugriff auf das Lonza Netzwerk von ihrem privaten PC oder von einem Internet Café

TwinCAT HMI Application

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

Software Defined Networking. und seine Anwendbarkeit für die Steuerung von Videodaten im Internet

VBA-Programmierung: Zusammenfassung

MEDLINQ-Küche Checkliste Installation

Netzwerk Management Potentielle Systemausfälle bereiten Ihnen Sorgen?

Modellbasierte und komponentenorientierte Programmierung von Steuerungen

Datenfernzugriff auf Schienenfahrzeuge mit dem Ferndiagnosesystem RDS. OSGi-Technologie Forum / EuroCargo 2004 Thomas Burri / PPC

Rainer Janssen Wolfgang Schott. SNMP- Konzepte, Verfahren, Plattformen

deutsch snowmaking control

Storage Management und Archivierung

Modem: Intern o. extern

MBUS-MODBUS MODBUS Converter Datenerfassung von MBUS Zählern

Einsatz von UML und C++ am Beispiel einer Satelliten-Lageregelungssoftware

GUI-Entwicklung 2: Windows Presentation Foundation

Daten Monitoring und VPN Fernwartung

Systemvoraussetzungen für ConSol*CM Version Architektur Überblick

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

EtherCAN / EtherCANopen Gateway

GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT

Storage Area Networks im Enterprise Bereich

Auto-Deployment von Oracle Enterprise Linux. Sascha Westermann DOAG Konferenz + Ausstellung November 2010

Client/Server-Systeme

PRODUKTINFORMATION LOCKING SYSTEM MANAGEMENT 3.3 SERVICE PACK 1 BASIC BASIC ONLINE BUSINESS PROFESSIONAL STAND: JUNI 2016

Blitzlicht: MES Produktionsplanung und Unternehmensmodelle IEC Integration von Unternehmensführungs und Leitsystemen

OOD. Objektorientiertes Design. Peter Coad und Edward Yourdon. Prentice Hall Verlag

Vorlesung Informatik II

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

Voraussetzungen für die Nutzung der Format Rechenzentrumslösung (Hosting)

Jürg Gutknecht, SI und ETH Zürich, April 2015

Michael Veigel. Produktentwicklung unter Linux - von der Entscheidungsfindung bis zur Marktreife

Wiederholung: Beginn

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Nutzung von GiS BasePac 8 im Netzwerk

Kurzvorstellung des ESA-Projektes "WICOR"

Mainsaver Anwendung auf mobilen Geräten. Steve Unger

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

Military Air Systems

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

AbaWeb Treuhand. Hüsser Gmür + Partner AG 30. Oktober 2008

Der Lua Skripteditor Lua in der Messtechnik

Begleitendes Praktikum zur Vorlesung Künstliche Intelligenz

Java Performance Tuning

Robotersteuerung MRobot

NanoCAN & NanoJEasy. Software training

Pulse Pattern Controller

Produkte. onsulting. roject. uhl ohannes. Bezeichnung. Automationsstationen

Multi-Server Shutdown. Folie 1

Application Layer Gateway

4 Achs-Schrittmotor-Regelung Alpha Übersicht

Frequently Asked Questions (FAQs) zu VPN

Wine - Windows unter Linux

Universal Mobile Gateway V4

ATHOS Benutzertreffen

Microsoft Visual C++ 6.0

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Allgemeine Anleitung Treiber für CP2102

Platz 9: "Direktkopplung"

Systems Management bei ZFLS

VORSTELLUNG DER DIPLOMARBEIT

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS

PRODUKTINFORMATION LOCKING SYSTEM MANAGEMENT 3.2 SP2 STAND: OKTOBER 2014

Einsatz von LabVIEW FPGA im Rahmen eines HIL-Testautomaten. Christian Tölle

Vertical Collectors and Solar Panels Robotic Cleaning Platform. Chris Odermatt; Software Engineer; Serbot AG

Was ist Windows Azure? (Stand Juni 2012)

PHP & Windows. Jan Burkl System Engineer, Zend Technologies. All rights reserved. Zend Technologies, Inc.

Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor

GRAFISCHE BENUTZERSCHNITTSTELLEN

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen. Mobiles Smart Home. Innovationsseminar SS 2011, 12. Juli 2011

Embedded OS-9 auf RISC-Prozessoren von Motorola

4D Server v12 64-bit Version BETA VERSION

Inhaltsverzeichnis. 1 Hallo 13

C# im Vergleich zu Java

Tel.: Fax: Neue 3-phasige SELCO Generator Steuerungs-Serie FlexGen

Windows-Verwaltung mit WMI - Taschenratgeber für Administratoren

Heiland electronic GmbH DensPC Software. Überträgt Densitometer Meßwerte an Windows Applikationen Bedienungsanleitung Version 1.5

Freier Linux Kernel für den Virtex4 FX12

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Meine SPS kann Linux, und nun?

INHALT. 2. Zentrale Verwaltung von NT-, und 2003-Domänen. 3. Schnelle und sichere Fernsteuerung von Servern und Arbeitsstationen

2.2 Installation via Netzwerkkabel

FDT: Einführung. Open access to device intelligence.

Netzwerktechnologie 2 Sommersemester 2004

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

Transkript:

Großer Beleg Entwicklung eines CANopen-Netzwerkes Jan Blumenthal 17.09.2001

Vortragsgliederung Grundlagen von CANopen Zielsetzungen bei der Entwicklung Softwareüberblick CANopen-API CANopenConsole Zusammenfassung

CANopen Protokoll für den CAN-Bus Implementierung verschiedener Netzwerkdienste: Interne Datenbank (Object Dictionary) Segmentierung von Datenströmen (SDO) Echtzeitfähigkeit (PDO) Netzwerkmanagement (NMT) Fehlermanagement (NMT-Error Control) Netzwerküberwachung (Heartbeat, Life guarding) Synchronisation von Teilnehmern (SYNC)

Ziele der CANopen-API Ziele: - Funktionsfähigkeit und Standardkonformität - Portabilität (PC, C166, Windows, Linux) - Hohe Performance und geringer Speicherverbrauch - Unterstützung mehrerer Instanzen - Fernwartung - Entlastung der Prozessanwendung Einsatzszenarien: CAN - Bus Kamera Kamera 1 1 Kamera Kamera 2 2 Kamera Kamera 3 3 Kamera Kamera 1 1 Kamera Kamera 2 2 Kamera Kamera 3 3 CAN - Bus 1 Lei Leit - t PC P C Serielle Verbindung Lei Leit t - P PC C VPN CAN - Bus 2 RemoteP Remote - PC C Kamera Kamera 4 4 Kamera Kamera 5 5 Kamera Kamera 6 6

Schichtenmodell der CANopen-API Vorteile: Standardisierte Schnittstellen Vollständige Kapselung Nutzung der CAN-API Applikation Applikation Applikation CANopen CANopen CANopen CAN-Treiber (SJAC166) CAN-Hardware (C166/SJA1000) CAN-Treiber (Hyperstone) CAN-Hardware (Hyperstone) CAN-Treiber (VCIPCI) CAN-Hardware (PCI-Karte) CAN-BUS

Komponenten der CANopen-Software Anwendung Prozessumgebung CANopen- API OD Remote- Control NMT SDO PDO COEnvironment COApplication Verwaltung der CANopen Instanz Einbindung in das Betriebssystem Definition der CANopen-Anwendung CAN-API Hardwareunabhängige Treiber Hardwaretreiber CANEnvironment Einbindung der Hardwaretreiber

Besonderheiten der CANopen-API Benutzen von Handles Keine dynamische Speicherallozierung Nachrichtenverarbeitung: Interrupt Polling Loops Ereignisgesteuerte Abarbeitung Callbacks Remote Objects FPGA

CANopen Console Administrierungssoftware Eigenschaften: Konsolenprogramm Unterstützung mehrerer Instanzen Skripting Fernwartung Kommunikation über Sockets Objekt-orientierter Entwurf Multithreading Aufbau: CommandSocket 1 Device 1 Console Command- Manager CommandSocket 2 Device 2 CommandSocket 3 Device 3

Remote Control Optionales Softwaremodul in der CANopen-API Übertragung von Kommandos an Geräteanwendungen Beispiel: reset 1 Console Ein/Ausgabe Command- Manager Socket- & device commands CommandSocket device commands RS232 Geräteanwendung Serielle Übertragung Serielle Übertragung

Kopplung der Software Unterstützung verschiedener Administrierungsvarianten Graphisch (MFC) Textbasiert (Console) Console Ein/Ausgabe Command- Kommandos Manager Socket- & device commands CommandSocket VCIPCI device commands MFC-Anwendung Direkter Zugriff CANopen Geräteanwendung

Zusammenfassung CANopen-API Stand - Portabel - Weitestgehend standardkonform - Fernwartbar - Multisessionfähig Zukunft - Echtzeittest - Konformitätstest CANopen Console - Windows Version - Telnet-fähig - Portabilität der EClasses

Vielen Dank

Beispielanwendung Steuerung eines Netzwerkes durch einen Leit-PC Kritischer Bereich d CAN-Bus Kamera 1 Kamera 2 Leit-PC d

CANopen Referenz-Modell Anwendungsprozess Anwendung Anwendung Darstellung Sitzung Transport Vermittlung Verbindung Bitübertragung Verbindung Bitübertragung

Gerätemodell von CANopen Object Dictionary: Interne Datenbank Unterschiedliche Datentypen (int, char) Kommunikation Object Dictionary Anwendung Zustandsmaschine Anwendungsobjekt Eintrag 1 Kommunikationsobjekt Eintrag 2... Kommunikationsobjekt Anwendungsobjekt Eintrag n Kommunikationsobjekt Anwendungsobjekt CAN-Bus Prozess

Typische Main-Funktion #include <stdio.h> #include <CANopen/CANopen.h> OPTOERROR APP_ConfigureCANopen(CO_HANDLE *cohandle); // external, defined in COEnvironment.c void main() { CO_HANDLE handle; // CANopen Handle char buffer[consolebuffersize]; // buffer for remote commands } if (! (CO_InitCANopen(&handle, APP_ConfigureCANopen)) ) // init CANopen { TRACE1("Camera: %d ready!\n",(int)(handle.nodeid)); while (1) // endless loop { CO_MessageLoop(&handle); // call message loop if ( GetRemoteCommand(buffer) ) // new remote command received? CO_RemoteCommand(&handle, buffer); } } CO_EndCANopen(&handle);

Komponenten der CANopenConsole Kommandotypen: - Konsolenkommandos (help, quit) - Socketkommandos (socket, init) - Gerätekommandos (od, nmt) - Systemkommandos (dir, ls) Sessionhandling Socketverwaltung Kommandoparser Betriebssystemanpassung (EClasses) Console- Commands Device- Commands Socket- Commands System- Commands CANopen Session Socket- Handling Command- Parser Command- Alias EClasses

EClasses Klassenbibliothek Sammlung einfacher Basisklassen EThread EEvent EFile EString Plattformunabhängig