Application Programming Interface im Mikrocontroller zur Steuerung von EPICS



Ähnliche Dokumente
Mikrocontroller Programmierung und Application Programming Interface zur Steuerung von CAN-Geräten mit EPICS

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

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Technical Note 0201 Gateway

SAP NetWeaver Gateway. 2013

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

Grundlagen der Rechnernetze. Internetworking

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

Programmers Manual Geodaten Ver. 2.0

Beschreibung EtherNet/IP Prozessschnittstelle

EPICUR-Uniform Resource Name (URN)-Generator

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

Wie ist das Wissen von Jugendlichen über Verhütungsmethoden?

RO-Serie CAN-Übertragungsprotokoll

3 Konfiguration OfficeMaster 3.10 SNMP

Dallmeier Recorder & SNMP

Einleitung. Über Modular EDS Pro. Hinweise zu diesem Handbuch. Installationshinweise. Modular EDS Pro starten/beenden

ATHOS Benutzertreffen

miditech 4merge 4-fach MIDI Merger mit :

Workflow, Business Process Management, 4.Teil

Installation von PhoneSuite (TAPI)

Titel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration

IOBoard. Bedienungsanleitung. Version 1.2. November IOBoard-Bedienungsanleitung Neobotix GmbH alle Rechte vorbehalten 1 von 11

Enigmail Konfiguration

DP/AS-i-Link Folie 1. Netzaufbau DP/AS-i-Link

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein: - Ein Bootimage ab Version Optional einen DHCP Server.

SmartDispatch DMR-Dispatcher. Bestellablauf. SmartDispatch-Bestellablauf V1.0

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

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

Protokollbeschreibung Modbus TCP für EMU TCP/IP Modul

INSEVIS Ihr Partner für wirtschaftliche S7-Steuerungstechnik

Umfrage. Didaktischer Kommentar. Lernplattform

Man liest sich: POP3/IMAP

Programmierung mit NQC: Kommunikation zwischen zwei RCX

Übung - Konfigurieren einer Windows 7-Firewall

F A Q s. SMS Modem Dial-In (TAP-Gateway) 1 Allgemeines FAQ s... 3

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Anleitung zum Prüfen von WebDAV

C.M.I. Control and Monitoring Interface. Zusatzanleitung: Datentransfer mit CAN over Ethernet (COE) Version 1.08

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN

Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler Oktober 2008 Version 1.0.

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

ONLINEERHEBUNG IM STATISTISCHEN BUNDESAMT

Informationsmanagement

WinVetpro im Betriebsmodus Laptop

MODBUS/TCP und Beckhoff Steuerelemente

Direkter Zugriff auf I/O-Ports bzw. CPU-Register

How-To-Do. Fernwartung einer VIPA Steuerung via Ethernet

Siemens Industry Online Support Persönlicher Bereich - Aufrufen

Big Data Projekte richtig managen!

Import des Out of Office Status von Exchange in LANDESK Service Desk

Ergebnisse zur Umfrage GC MARKT-BLITZLICHT No. 6 Mitarbeiter gewinnen. 08. August 2014

Löschen eines erkannten aber noch nicht konfigurierten Laufwerks

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Migration zu IPv6. Ronald Nitschke

Betriebsanleitung Modbus-Konverter Unigate-CL-RS

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Kurzanleitung Webmail Verteiler

RID = Registered application provider id. PIX = Proprietary application identifier extension

BGP-Alarmsystem. Gunnar Bornemann Diplomarbeit Lehrstuhl für Netzwerkarchitekturen Technische Universität München



Handbuch. Kommandos. Mailing-Listen-Manager Version adjoli GmbH

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

Verschlüsselung

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

NODELOCKED LIZENZ generieren (ab ST4)

-> Dringende Empfehlung: Das Upgrade direkt am TelevisGo vorort vornehmen!

-Virtuelle Jagdfliegerschule- Teamspeak Seite 1 von 6

bintec Workshop Konfiguration von Event Scheduler Copyright 8. November 2005 Funkwerk Enterprise Communications GmbH Version 0.9

FRAGEBOGEN ANWENDUNG DES ECOPROWINE SELBSTBEWERTUNG-TOOLS

Übung - Konfigurieren einer Windows-XP-Firewall

SCHNELLEINSTIEG ZUM TOOL NODEBUILDER

Funktionsbeschreibung Datenlogger DL28W

Positionierungsspiel. Statements und Fragen zu Werbung im Social Web

KEYSTONE. OM4 - EPI 2 Bluetooth Interface Modul Einbau- und Einstellanleitungen.

Patientenverfügung - und ihre Bedeutung für alle Beteiligten

Anforderungen an die HIS

Lorenz & Partners Legal, Tax and Business Consultants

Forum des Freundeskreises der Flüchtlinge Rutesheim:

Monitoringsystem TAPGUARD 240

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Recherche der pharmazeutischen Unternehmerund Eingangsnummer

Lehrer: Einschreibemethoden

Transparente Kommunikation zwischen SPS / PC und TOSHIBA Frequenzumrichtern

Sechster ProSTEP Benchmark Teil 2: PDM Data Exchange

Technisches Datenblatt Technical Data Sheet A4B. Signalwandler für 4 analoge Eingangssignale 4-20mA auf CAN

Zugriff auf die Modul-EEPROMs

Idee des Paket-Filters

SelfLinux cron

Kontoname ist Mailanschrift Maximale Mailboxgrösse: Maximale Nachrichtengrösse: Haltezeit der Nachrichten:

ICMP Internet Control Message Protocol. Michael Ziegler

FIREBIRD BETRIEB DER SAFESCAN TA UND TA+ SOFTWARE AUF MEHR ALS EINEM COMPUTER

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

BANKETTprofi Telefonschnittstelle

Zur drittletzten Zeile scrollen

I N S T A L L A T I O N S A N L E I T U N G

5.1 Fahrzeugelektrik. 5 Kraftfahrzeugelektronik. 5.2 Fahrzeugelektronik. Kraftfahrzeugtechnik 5 Kraftfahrzeugelektronik Herzog

Transkript:

Arbeitsvortrag Thema: Application Programming Interface im Mikrocontroller zur Steuerung von CAN-Geräten mit Hilfe von EPICS Betreuung: Michael Traxler Peter Zumbruch Linda Vanina Fouedjio

Inhaltsverzeichnis 1. Problemstellung 2. Ziel der Arbeit 3. Lösungskonzept 4. Lösungsweg 5. Zusammenfassung 08.06.2009 2

1. Problemstellung Beim Betrieb im HADES entsteht stark ionisierende Strahlung Zutritt verboten Kein Zugang auf Detektorkomponente und andere Geräte Für die Überwachung Fernsteuerung Spannungen, Ströme, Temperaturen auf Detektor Komponente Regelung und Steuerung der Geräte Viele kontrollierte Geräte haben ein CAN-Interface 08.06.2009 3

2. Ziel der Arbeit Ersetzen des auf VME basierten Systems zur Steuerung der CAN-Geräte durch das HADControl Board VME basierte System ist alt, zentral, überlastet t und nicht erweiterbar HADControl ist verteilbar, flexibel, leicht erweiterbar HADControl hat CAN und TCP/IP-Schnittstelle Implementierung eines Application Programming Interface (API) im HADControl Board Nutzung des APIs mittels EPICS 08.06.2009 4

3. Lösungskonzept Überblick über das Gesamtsystem 08.06.2009 5

3. Lösungskonzept Lösungsansätze Erstellung eines Kommunikationsprotokolls Implementierung des APIs im Mikrocontroller Konfiguration eines EPICS Device Supports 08.06.2009 6

3. Lösungsweg g Kleine Einführung in CAN (Control Area Network) Identifier(ID) kennzeichnet den Inhalt der Nachricht Remote Transmision Request (RTR) Maximal 8 Byte Datenfeld 08.06.2009 7

g Beschreibung des CAN_API-Protokolls Befehls- und Antwortübersicht SEND SUBS USUB CPU Mikrocontroller RECV ERRA ERRC ERRM 08.06.2009 8

g Beschreibung des CAN_API-Protokolls Bedeutung der Kommandos SEND Kommando für das Lesen und Schreiben auf den CAN-Bus SUBS Registrierung für das Lesen bestimmter Identifier USUB Abmeldung für das Lesen bestimmter Identifier 08.06.2009 9

Beschreibung des CAN_API-Protokolls Bedeutung der Antworten RECV Ef Erfolgreiche Kommunikation ERRA Syntaxfehler des APIs ERRC Fehler während der CAN-Kommunikation ERRM Interner Fehler in CAN-Controller des Mikrocontroller 08.06.2009 10

g Beschreibung des CAN_API-Protokolls Struktur für Kommandos Commando-Name Message-ID Mask-ID RTR Length Commando-Name Message-ID Mask-ID RTR Length Data Commando-Name Message-ID Mask-ID Beispiel: SEND 304 0 1 8 Lesen: Anzahl Umdrehung des Lüfters pro Sekunde SEND 84 0 0 1 1 Schreiben: Ausschalten des Crates SUBS 10 FF7 Struktur der Daten Commando-Response Mob-Number Message-ID Length DATA Commando-Response commando will carried out Commando-Response Error-Number Error-Description Beispiel: RECV 0 304 8 83 b8 31 32 31 ff ff ff ERRA 6 Data is out of Range 08.06.2009 11

Beschreibung des CAN_API-Protokolls Zusammenfassung Parametername Bedeutung Erlaubte Werte Command-Name Name des zu sendenden Kommandos SEND/SUBS/USUB Command-Response Antwort auf Kommando RECV/ERRA/ERRC/ERRM DATA Datenbyte 0x0 FF Error-Code Nummer von Fehler 0 9 Error-Description Beschreibung von Fehler 041 0x41 0x5A 05Aund d061071 0x61..0x71 Length Anzahl der Datenbyte 0 8 Message-ID CAN Message ID 0x0 FFFFFFF7 MOB-Number Message Object Block 0...14 Mask-ID CAN Message ID-Mask 0x0 FFFFFFF7 RTR Remote Transmission Request 0/1 08.06.2009 12

CAN_API Implementierung CAN_API API -Slave 08.06.2009 13

HADControl mit EPICS IOC Input Output Controler Process Variable ist ein Datensatz mit einem Namen, der über diesen angesprochen wird Record ist die Definition der Process Variable und seiner Attribute Database ist eine Sammlung von Records STREAM Protocol EPICS Device Support für Devices mit Byte Stream ASYNdriver asynchrone Kommunikation 08.06.2009 14

g Überblick über das System 08.06.2009 15

g Stream Protocol File HadConCAN.proto Terminator = LF; LockTimeout = 4000; ReplyTimeout = 500; WriteTimeout = 3000; ExtraInput = Ignore; #After processing finishes, the record contains the fan speed Value. get8{ #Example of command #field(inp, @HadConCAN.proto get8(304,0,1,8,recordname,error)hadconcan ) #MessageID = %\${1}x; #Mask = %\${2}x; #RTR = %\${3}x; #Length = %\${4}x; #recordnameprefix = %\${5}x; #errorchannelprefix = %\${6}x; out SEND \$1 \$2 \$3 \$4 ; in RECV %*x %*x %*x %(VAL)x %(\${5}_2.VAL %(\${5}_3.VAL %(\${5}_4.VAL %(\${5}_5.VAL %(\${5}_6.VAL %(\${5}_7.VAL %(\${5}_8.VAL ; } @mismatch{err_6}; #this error is called within other protocols err_6{ in ERR*1c %(\${6}:errorNr.VAL) ${6}:errorNr.VAL)i %(\%{6}:error.VAL)39c ;%{6}:error.VAL)39c ; } 08.06.2009 16

g Record HadConCAN.db record(ai, fanspeed_1 ){ } field(dtyp, stream ) field(inp, @HadConCAN.proto get8(304,0,1,8,fanspeed,error) HadConCAN ) record(ai, fanspeed_2 ){ }... record(ai, fanspeed fanspeed_8 8 ){ } 08.06.2009 17

g Startup Script für IOC #Definition of ASYN port and its attributes connecting to a serial device drvasynserialportconfigure("hadconcan","/dev/ttys1",0,0,0) 0 0) asynsetoption("hadconcan",0,"baud","38400") asynsetoption("hadconcan",0,"bits","8") asynsetoption("hadconcan",0,"parity","none") asynsetoption("hadconcan",0,"stop","1") "stop" "1") asynsetoption("hadconcan",0,"clocal","y") asynsetoption("hadconcan",0,"crtscts","n") ## Load record instances dbloadrecords("db/hadconcan.db","hostname=${hostname}") 08.06.2009 18

5. Zusammenfassung / Ausblick Erfolgreiche Implementierung des APIs Nutzung des implementierten APIs mittels EPICS Test des gesamten Systems im Labor Das API wird bei HADES eingesetzt werden 08.06.2009 19

Ich bedanke mich für Ihre Aufmerksamkeit 08.06.2009 20