Handbuch. RS232-IO-Modul

Ähnliche Dokumente
Protokollbeschreibung Zehnder ComfoAir

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

MODBUS RTU Übertragungsprotokoll für Digitale Elektronische Vorschaltgeräte mit RS-485 Schnittstelle

RS232C / RS485C Serielle Schnittstelle für Pirani Capacitance Diaphragm und Pirani Standard Gauges

DULCOMETER Multiparameter Regler dialog DACa

Schnittstellenprotokoll Steuerung - PC

PCD1.W5200-A20. E-Line S-Serie RIO 8AO. Features. Allgemeine technische Daten. Abmessungen und Installation

Test des SPI-Slave Interface mit dem SPI-Master des SpartanMC

USB-BAT Bedien-Anzeige-Terminal

Liste des (neu)griechischen Alphabets, sortiert nach Zeichen

Betriebsanleitung EFR3000

Liste der lateinischen ISO-Sonderzeichen, sortiert nach Zeichen

Technische Informationen zum Status Empfangener Fax

Betriebsanleitung TR440

M-BUS Beschreibung für MCMi mit Firmwareversion

Digitaltechnik Zusammenfassung

87 0x0057 Der Parameter stimmt nicht. 88 0x0058 Es ist ein Schreibfehler im Netzwerk aufgetreten. 89 0x0059 Das System kann derzeit keinen weiteren

Betriebsanleitung Modbus-Konverter Unigate-CL-RS

Lösungsvorschlag zur 6. Übung

SIMATIC S5 SIEMENS. MODBUS-Protokoll RTU-FORMAT SIMATIC S5 ist Master. Kurzinformation. Sondertreiber für CP 524 / CP (S5-DOS) S5R004

Passwort Saver. Datensicherheit wird mobil. Ihre Passworte für unterwegs

I8O8-USB. Serial Input and Output Board with. 8 Inputs 8 Outputs 8 ADC-Inputs USB (FTDI) Rev rtec.rohrhofer.org

Betriebsanleitung TMU104V

Sonderzeichen-Referenztabelle, sortiert nach Unicode

Zeichensätze in ADOBE FRAMEMAKER 9

PCD1.G2200-A20. E-Line S-Serie RIO 8UI, 4AO. Features. Allgemeine technische Daten. Abmessungen und Installation

GTP444. GSM-SMS-Fernschaltund Alarmmodul 4-Kanal. Programmierbar am PC mit Software. Kurzanleitung 1/2017. Seite 1 von 7

Schnittstellenbeschreibung für die Übernahme von Daten des Schuldenbereinigungsverfahrens in gerichtliche Systeme

Aufbau und Inbetriebnahme, Erweiterungskarte, Digital 8I4R

Zusatzinformation zum USB-Flashdrive mit ARM und RS232

Viessmann. Viessmann GmbH u. Co KG 04/ hex 2 dez 1

FAST EnergyCams wired M-Bus Slave Protokoll

Servo-Modul Version

Beschreibung Description

BCM8-Modbus. Dokumentation. 8-Kanal Countermodul mit S0-Eingängen und Modbus Datenschnittstelle. BCM8-Modbus. Modbus A+ B- A+ B-

Bisher hatten immer nur als Ausgänge geschaltet und hierfür folgende Befehle benutzt:

1. Allgemein Kommunikationsparameter Protokoll Befehlsframe Antwortframe Fehlernummern...

Ringlicht-v3 - Frei konfigurierbares Ringlicht mit RS232 Anbindung. Kurzbeschreibung

VISY-Command. Technische Dokumentation. mit Modbus-Protokoll. Ausgabe: Version: 1 Art.-Nr.:

Schnittstelle. Winsol <> Bootloader

Serial_Interface_01.lib

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

Die PS/2 Tastaturschnittstelle

Kurzanleitung: 1. Anschüsse. MWCLightRGB by VoBo & HaDi-RC

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example

Interface Card, Interface Box, Datalogger & Interface. Bedienungsanleitung. Kommunikationsprotokoll. Operating Instructions. Communications protocol

RS485-Relaiskarte v1.0

Ansteuerung eines LCD-Screens

Bedienungsanleitung. RCM232 remote control multiplexer. Version 1.0: Uwe Hunstock Kastanienallee Berlin Tel. 030.

KNX Twisted Pair Protokollbeschreibung

Selbstbau-USB-Programmiergerät für AVR

Dokumentation und Export patientenidentifizierender Daten in den Module 16/1 und NEO. Erfassungsjahr 2018

DALI SCI RS232. Datenblatt. DALI RS232 Interface. Schnittstelle zur Kommunikation zwischen PC (oder einer SPS) und Modulen in einem DALI-Lichtsystem

Anwendung der Bibliothek Scheduler_03.lib

46 Diskussionsanlage Serie DS1 DS1

Datenformat HAC4 Stand

Downloadformat Uwatec Windows Memomouse. Download Format Uwatec Windows Memomouse

DF PROFI II PC/104-Plus

Microcontroller Kurs Programmieren Microcontroller Kurs/Johannes Fuchs 1

Ethernet Binär. Protokoll

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

Projektarbeit aus der Datenverarbeitung. Lotto. von: Hubert Schlenk Olimex AVR USB 162 Entwicklerboard Hubert Schlenk

LCD board EB

11. Die PC-Schnittstelle

BOOTLOADER für AVR-Entwicklungsmodule

Einführung Leistungsmerkmale Aufbau am Beispiel FAT16. Das Filesystem FAT. Peter Schmid. Hochschule für Technik Zürich Studiengang Informatik

Kurzanleitung: 1. Anschüsse. MWCLightRGB 2013 by VoBo & HaDi-RC. HW-Version SW-Version 1.2x

Addieren und Subtrahieren mit Mikrocontroller Atmega AT90162USB

JX6-INT1 Versions Update von V1.00 auf V1.24

24 V c über den Controller

qfix ASCII-Protokoll

Word-Makro zur Umcodierung von Symbol- und Wingdingszeichen in Unicode-Zeichen (Neuauflage unter Berücksichtigung der Schriftart "Cambria")

/2001 DE. Technische Information. Verändern ausgesuchter Parameter bei den Regelgeräten 4311/12 und 4211.

M-Bus Protokoll CALEC ST II AMBILL AMTRON X-50. Hersteller: Aquametro AG. Firmwareversion: Herstellercode:

RGB-Sequenzer RS232 RS485 MDX512 AD / IO Platine

Spezifikation RTR09 USB-Transceiver Easywave

SIOSLAB. Technische Daten:

Verwendung des EASY Mode mit Demo FB für SIMATIC Step7

Dieses Dokument soll eine Übersicht über die Datenpaketstruktur des KNX Twisted Pair (TP1 256) Standards geben.

CAN 2.0A/B <=> RS232. Konverter mit Galvanischetrennung. CAN-Seitig: 10 Kbps.. 1,0 Mbps RS-Seitig: 1200 bps.. 1,0 Mbps. ASCII Befehle V1.

COMM-TEC EIB-Gateway

ATXMega128/192/256a3- Controllerboard

Berührungslose Datenerfassung. easyident-usb Stickreader. Art. Nr. FS-0012

Arduino µcontroller. Virtuelle COMSchnittstelle

CEDES. Funktionsbeschreibung CEDES 7-Segment Dualanzeige (CAN) Funktionsbeschreibung 7-Segment Dualanzeige (CAN) hergestellt unter ISO 9001: 2000

PCAN-Gateway Schnellstart-Anleitung

INE1 Bit-Operationen. Bit-Operationen Übungen Bits setzen, löschen, abfragen Beispiel: Bitmap

Typ Thyristor Leistungssteller

Ultraschall-Modul SRF08

DMA Profibus Anleitung

Befehlstabelle awapswitch Anwendung

Datenblatt. Remote-I/O - u-remote UR20-4AO-UI or 4-wire connection; 16-bit resolution; 4 outputs

Berührungslose Datenerfassung. easyident Multireader. Art. Nr. FS Technische Daten. Stromversorgung: + 5V DC +/-5% Hardware Revision 1.

Mikroprozessortechnik Grundlagen 1

S3000 Expert/Anti Collision S300 Expert

SIMATIC S5 SIEMENS. MODBUS-Protokoll RTU-FORMAT SIMATIC S5 ist Slave. Kurzinformation. Sondertreiber für CP 524 / CP (S5-DOS) S5R007

Transkript:

Handbuch RS232-IO-Modul Version 1.2

Versionsübersicht Version Erscheinungsdatum Kommentar 1.0 27. September 2011 Ursprungsversion 1.1 17. November 2011 Checksummen-Berechnung verändert, Anschlussbelegung hinzugefügt 1.2 13. Februar 2012 Reset-, DisableChecksum- und GetFirmwareVersion- Befehle hinzugefügt RoHS COMPLIANT

Dieses Produkt entspricht der EG-Richtlinie 2002/95/EG zur Beschränkung der Verwendung bestimmter gefährlicher Stoffe in Elektro- und Elektronikgeräten. Inhaltsverzeichnis 1. Bootloader...4 2. Anschlussbelegung...5 3. Kommunikations-Protokoll...6 4. Befehlsübersicht...8 4.1. Befehle...9 4.2. Antworten...12 A. Berechnung der CRC-Checksumme...14

1. Bootloader Das RS232-IO-Modul verfügt über einen integrierten Bootloader, über den neue Firmware auf das Modul geladen werden kann. Die Aktivierung des Bootloaders erfolgt über den EnableBootloader-Befehl. Die neue Firmware wird nach der Aktivierung des Bootloaders über den COM-Port eingespielt. Die Einstellungen für den COM-Port sind die gleichen wie im normalen Betrieb. Nach der Aktivierung muss zunächst der Flash-Speicher gelöscht werden. Hierfür muss der ASCII-String cf gesendet werden. Der Bootloader antwortet mit Flash erased.\n. Anschließend muss der String f gesendet werden, um dem Bootloader in den Wartezustand zu versetzen, in dem er auf die neue Firmware-Datei wartet. Der Bootloader antwortet nach Empfang des Zeichens mit dem String Waiting for firmware file.\n. Anschließend wird die Firmware-Datei Zeichen für Zeichen übertragen. Während der Übertragung wird nach und nach der String 0%...100%\n übertragen, der gleichzeitig den Fortschritt des Uploads anzeigt. Tritt während der Übertragung ein Fehler auf, meldet der Bootloader Checksum error.\n und bricht den Upload ab. Nach der erfolgreichen Programmierung kann der Bootloader durch Senden des Strings x verlassen werden. Nach der Bestätigung Bootloader exit.\n startet die Applikation. Unbekannte Befehle, die an den Bootloader gesendet werden werden mit?\n beantwortet.

2. Anschlussbelegung Spannungsversorgung: 12V DC (±20%), mindestens 0,1A Relaisausgänge: PWM-Ausgänge: Aus 1, Aus 2: Aus 3, Aus 4: max. 60V DC, 7A Open-Drain-Ausgänge, max. 24V DC, 2A Open-Drain-Ausgänge, max. 24V DC, 2A Push-Pull-Ausgänge, 3,3V, max. 20mA Ein 1 bis Ein 8: Eingänge, 0-5V Der 3,3V-Ausgang auf dem Erweiterungsstecker ist bis maximal 100mA belastbar Eingangsspannung Relais 1-A Relais 1-B Relais 2-A Relais 2-B Aus 1 Aus 2 PWM 1 PWM 2 PWM 3 PWM 4 +12V Masse 73mm Ø 4 3,2mm 3mm PWM15 PWM14 PWM13 PWM12 PWM11 PWM10 PWM9 PWM8 PWM7 PWM6 PWM5 +12V 61mm 17mm RS232 17mm

Pin Signal Pin Signal 1 +12V 2 Masse 3 Ein 1 4 Ein 2 5 Ein 3 6 Ein 4 7 Ein 5 8 Ein 6 9 Ein 7 10 Ein 8 11 Aus 3 12 Aus 4 13 +3V3 14 Masse Erweiterungsstecker 3. Kommunikations-Protokoll Die Einstellungen der COM-Port-Verbindung sind der folgenden Tabelle zu entnehmen. Baudrate 115200 baud Start-Bits 1 Daten-Bits 8 Stopp-Bits 1 Parität-Bits 0 Flusskontrolle keine COM-Port-Einstellungen Jedes Paket vom PC zum RS232-IO-Modul und zurück besteht aus einem Längen- Byte, einem Befehls-Byte, Daten-Bytes (optional) und zwei Checksummen-Bytes. LEN CMD DATA LRC Sende- und Empfangspaket LEN: CMD: DATA: Länge des Pakets (CMD bis einschließlich LRC) Funktionscode Funktionsdaten

LRC: Checksumme (CRC16-Checksumme, Polynom x 16 +x 15 +x 2 +1, Startwert 0xFFFF, Berechnungsroutine in C im Anhang)

4. Befehlsübersicht Alle implementierten Befehle, über die der Mikrocontroller auf dem RS232-IO-Modul angesprochen werden kann, sind der folgenden Tabelle zu entnehmen. Befehl Funktionscode Funktionsdaten EnterBootloader 0x10 - GetLastError 0x11 - Reset 0x12 - DisableChecksum 0x13 - GetFirmwareVersion 0x14 - GetInputs 0x20 - SetRelais 0x21 Relaisname und Wert SetPWM 0x22 PWM-Name und Wert SetOutputs 0x23 Output-Name und Wert Befehlsübersicht Das RS232-IO-Modul antwortet auf jeden Befehl mit einem Funktionscode sowie eventuell folgenden zusätzlichen Daten-Bytes. Antwort Funktionscode Funktionsdaten OK 0xF0 - CommandUnknown 0xF1 - ChecksumError 0xF2 - ParameterOutOfRange 0xF3 - CommandCannotBeProcessed 0xF4 - WrongNumberOfParameters 0xF5 - Antworten-Übersicht

4.1. Befehle EnterBootloader Versetzt den Mikrocontroller in den Bootloader-Modus Beispiel: Befehl 0x03 0x10 0x6E 0x0A Antwort 0x03 0xF0 0x2D 0x88 Mikrocontroller wurde in den Bootloader-Modus versetzt. GetLastError Sendet den letzten Fehlercode zurück. Der Fehlercode kann auch 0xF0 sein, sofern der letzte Befehl (bis auf den GetLastError-Befehl) korrekt ausgeführt wurde. Beispiel: Befehl 0x03 0x11 0x6B 0x8A Antwort 0x03 0xF0 0x2D 0x88 Der letzte Befehl wurde korrekt ausgeführt. Reset Resettet den Mikrocontroller. Alle Ausgänge warden in den Ursprungszustand zurückgesetzt. Beispiel: Befehl 0x03 0x12 0x61 0x8A Antwort 0x03 0xF0 0x2D 0x88 Der Mikrocontroller wurde resettet. DisableChecksum Schaltet die Checksummen-Verifikation bis zum nächsten Reset aus. Dieser Befehl sollte nicht in Serien-Geräten verwendet werden sondern dient nur für eine

einfachere Entwicklung und das Testen neuer Befehle. Anstelle der tatsächlichen CRC16-Checksumme können einfach zwei beliebige Bytes übertragen werden, die Gesamtlänge des Paketes darf nicht verändert werden. Beispiel: Befehl 0x03 0x13 0x64 0x0A Antwort 0x03 0xF0 0x2D 0x88 Die Checksummen-Verifikation wurde ausgeschaltet. GetFirmwareVersion Liefert die Firmware-Version in zwei Bytes zurück. Beispiel: Befehl 0x03 0x14 0x75 0x8A Antwort 0x05 0xF0 0x00 0x02 0xEB 0xC8 Die aktuelle Firmware ist 00.02. GetInputs Liefert den Status der Eingänge zurück. Eine 1 steht für einen geschlossenen Kontakt (Eingang liegt auf Masse), eine 0 einen offenen Kontakt. 0 (LSB) 1 2 3 4 5 6 7 (MSB) Ein 1 Ein 2 Ein 3 Ein 4 Ein 5 Ein 6 Ein 7 Ein 8 Eingänge Beispiel: Befehl 0x03 0x20 0xCE 0x0A Antwort 0x04 0xF0 0x02 0x50 0x2A Eingang 2 ist geschlossen, alle anderen Eingänge sind offen. SetRelais Schließt oder öffnet einen Relais-Kontakt. Das erste Daten-Byte steht für das Relais (0 für Relais 1, 1 für Relais 2), das zweite Daten-Byte ist der neue Zustand des Relais (0 offen, alle anderen Werte geschlossen).

Beispiel: Befehl 0x05 0x21 0x00 0x01 0xB5 0xC6 Antwort 0x03 0xF0 0x2D 0x88 Relais 1 zieht an. SetPWM Verändert das Tastverhältnis der PWM-Kanäle. Das erste Daten-Byte steht für den PWM-Kanal (0-14 für PWM1 bis PWM15), das zweite gibt das Tastverhältnis von 0 bis 255 an (0 = 0%, 255 = 100%). Beispiel: Befehl 0x05 0x22 0x00 0xFF 0x8E 0x44 Antwort 0x03 0xF0 0x2D 0x88 Tastverhältnis von PWM1 ist 100%. SetOutputs Zieht einen Ausgangspin auf High (3,3V) oder Low (0V). Das erste Daten-Byte steht für den Ausgangspin (0 für Ausgang 1 bis 4 für Ausgang 5), das zweite Daten-Byte ist der neue Zustand des Ausgangs (0 bedeutet Low, alle anderen Werte High). Beispiel: Befehl 0x05 0x23 0x00 0x01 0x9E 0x46 Antwort 0x03 0xF0 0x2D 0x88 Ausgang 1 wird auf High gesetzt. 4.2. Antworten OK Befehl wurde korrekt verarbeitet.

CommandUnknown Unbekannter Befehl. ChecksumError Checksumme des letzten Befehls fehlerhaft. ParameterOutOfRange Die Werte der übergebenen Daten-Bytes sind außerhalb des gültigen Bereiches. CommandCannotBeProcessed Der Befehl kann zurzeit nicht verarbeitet werden, da ein anderer Befehl noch abgearbeitet wird oder die benötigte Hardware nicht angeschlossen ist. WrongNumberOfParameters Die Anzahl der Daten-Bytes entspricht nicht der erwarteten Anzahl für den entsprechenden Befehl.

Anhang A. Berechnung der CRC-Checksumme /** ****************************************************************************** * @file crc16.c * @author BUDELMANN Elektronik * @version V1.0 * @date 09/10/2010 * @brief CRC16 routines (polynom x^16+x^15+x^2+1, seed 0xFFFF). ****************************************************************************** * @copy * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, BUDELMANN ELEKTRONIK SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * <h2><center> COPYRIGHT 2010 BUDELMANN Elektronik</center></h2> */ /** @defgroup CRC16_Private_Variables * @{ */ /* CRC values */ static const unsigned int CRC16_Table[256] = { 0x0000, 0x8005, 0x800F, 0x000A, 0x801B, 0x001E, 0x0014, 0x8011, 0x8033, 0x0036, 0x003C, 0x8039, 0x0028, 0x802D, 0x8027, 0x0022, 0x8063, 0x0066, 0x006C, 0x8069, 0x0078, 0x807D, 0x8077, 0x0072, 0x0050, 0x8055, 0x805F, 0x005A, 0x804B, 0x004E, 0x0044, 0x8041, 0x80C3, 0x00C6, 0x00CC, 0x80C9, 0x00D8, 0x80DD, 0x80D7, 0x00D2, 0x00F0, 0x80F5, 0x80FF, 0x00FA, 0x80EB, 0x00EE, 0x00E4, 0x80E1, 0x00A0, 0x80A5, 0x80AF, 0x00AA, 0x80BB, 0x00BE, 0x00B4, 0x80B1, 0x8093, 0x0096, 0x009C, 0x8099, 0x0088, 0x808D, 0x8087, 0x0082, 0x8183, 0x0186, 0x018C, 0x8189, 0x0198, 0x819D, 0x8197, 0x0192, 0x01B0, 0x81B5, 0x81BF, 0x01BA, 0x81AB, 0x01AE, 0x01A4, 0x81A1, 0x01E0, 0x81E5, 0x81EF, 0x01EA, 0x81FB, 0x01FE, 0x01F4, 0x81F1, 0x81D3, 0x01D6, 0x01DC, 0x81D9, 0x01C8, 0x81CD, 0x81C7, 0x01C2, 0x0140, 0x8145, 0x814F, 0x014A, 0x815B, 0x015E, 0x0154, 0x8151, 0x8173, 0x0176, 0x017C, 0x8179, 0x0168, 0x816D, 0x8167, 0x0162, 0x8123, 0x0126, 0x012C, 0x8129, 0x0138, 0x813D, 0x8137, 0x0132, 0x0110, 0x8115, 0x811F, 0x011A, 0x810B, 0x010E, 0x0104, 0x8101, 0x8303, 0x0306, 0x030C, 0x8309, 0x0318, 0x831D, 0x8317, 0x0312, 0x0330, 0x8335, 0x833F, 0x033A, 0x832B, 0x032E, 0x0324, 0x8321, 0x0360, 0x8365, 0x836F, 0x036A, 0x837B, 0x037E, 0x0374, 0x8371, 0x8353, 0x0356, 0x035C, 0x8359, 0x0348, 0x834D, 0x8347, 0x0342, 0x03C0, 0x83C5, 0x83CF, 0x03CA, 0x83DB, 0x03DE, 0x03D4, 0x83D1, 0x83F3, 0x03F6, 0x03FC, 0x83F9, 0x03E8, 0x83ED, 0x83E7, 0x03E2, 0x83A3, 0x03A6, 0x03AC, 0x83A9, 0x03B8, 0x83BD, 0x83B7, 0x03B2, 0x0390, 0x8395, 0x839F, 0x039A, 0x838B, 0x038E, 0x0384, 0x8381, 0x0280, 0x8285, 0x828F, 0x028A, 0x829B, 0x029E, 0x0294, 0x8291, 0x82B3, 0x02B6, 0x02BC, 0x82B9, 0x02A8, 0x82AD, 0x82A7, 0x02A2, 0x82E3, 0x02E6, 0x02EC, 0x82E9, 0x02F8, 0x82FD, 0x82F7, 0x02F2, 0x02D0, 0x82D5, 0x82DF, 0x02DA, 0x82CB, 0x02CE, 0x02C4, 0x82C1, 0x8243, 0x0246, 0x024C, 0x8249, 0x0258, 0x825D, 0x8257, 0x0252, 0x0270, 0x8275, 0x827F, 0x027A, 0x826B, 0x026E, 0x0264, 0x8261, 0x0220, 0x8225, 0x822F, 0x022A, 0x823B, 0x023E, 0x0234, 0x8231, 0x8213, 0x0216, 0x021C, 0x8219, 0x0208, 0x820D, 0x8207, 0x0202 }; /** * @} */

/** @defgroup CRC16_Private_Functions * @{ */ /** * @brief Fold a data byte into CRC16 value. * @param crc Last CRC16 value * @param data New data byte * @return New CRC16 value */ unsigned int CRC16(unsigned int crc, unsigned char data) { return (crc << 8) ^ CRC16_Table[(crc >> 8) ^ data]; } /** * @} */