Seite 1
APC910 / PPC900 Implementierungsanleitung Datum: 17. Januar 2014 Inhaltliche Änderungen dieses Dokuments behalten wir uns ohne Ankündigung vor. B&R haftet nicht für technische oder drucktechnische Fehler und Mängel in diesem Dokument. Außerdem übernimmt B&R keine Haftung für Schäden, die direkt oder indirekt auf Lieferung, Leistung und Nutzung dieses Materials zurückzu- führen sind.
Seite 2
UPS User Settings Daten und UPS Shutdown Daten korrigiert: die untere Grenze beträgt 10 statt 0 Sekunden. Schreibfehler korrigiert. Lesen der USV Statistik („On Battery“ Stunden und Zyklen) ergänzt: Kommandodaten, Beispiel. „APC910 IF USV“ geändert auf „USV IF Option“. 2.00 09.01.2014 MTCX Command Status Register: ...
APC910 / PPC900 Implementierungsanleitung Version Datum Kommentar Bearbeiter Neu: Displayeinheit (Modul 1) und Bus Lüfter Kit (Modul 12). RAM Temperaturen können gelesen werden. MTCX Gerätekennung 0Fh ergänzt. Kommentare für unterstützte Panelnummern ergänzt. FPGA Headerkennung „P9S3“ für SDL3 Display Link ergänzt.
Seite 5
7.4.4 Version der Scancode Daten lesen ....................... 89 7.4.5 Version des AP Link FPGA lesen ......................... 90 7.5 Hardwareeigenschaften lesen ......................91 7.5.1 Gerätetyp (APC910, PPC900) lesen ......................91 7.5.2 Paneltyp (AP900, AP800, …) lesen ......................92 7.6 Geräteinformationen des PC lesen ..................... 93 7.6.1 Gerätekennung eines PC Moduls lesen ......................
Seite 6
APC910 / PPC900 Implementierungsanleitung 7.8.6 CMOS Batteriezustand lesen ........................114 7.9 Temperaturen lesen .......................... 115 7.9.1 Temperaturen eines PC Moduls lesen ......................115 7.9.2 Temperatur eines Panels lesen ........................116 7.10 Lüfterdrehzahlen lesen ........................117 7.10.1 Drehzahl der PC Lüfter lesen ........................117 7.10.2 Lüfterdrehzahl des Panels lesen .......................
1 Einleitung In diesem Dokument ist beschrieben, wie gerätespezifische Funktionen eines B&R Automation PC 910 (kurz: APC910) und B&R Panel PC 900 (kurz: PPC900) aus einer PC Anwendung bedient werden kön- nen. Auf einem APC910 und PPC900 sind z.B. folgende Funktionen möglich: ...
APC910 / PPC900 Implementierungsanleitung Voraussetzungen 2 Voraussetzungen Es wird empfohlen, dass Sie die aktuellsten BIOS und Firmwareversionen auf dem PC installieren. Sie können diese von www.br-automation.com downloaden. Information: Für einige Funktionen sind möglicherweise bestimmte BIOS oder Firmwareversionen Vorausset- zung. Die notwendigen Versionen sind bei den jeweiligen Register- und Kommandobeschreibun- gen und Codebeispielen erwähnt.
Gerätefamilien 4 Kompatibilität mit bisherigen Gerätefamilien APC910 und PPC900 besitzen im Unterschied zu bisherigen Gerätefamilien wie APC620, PPC700, APC810, PPC800, APC820, PP300/400 und PPC300 eine höhere Modularität. Es können nicht nur die Funktionen und Informationen der Systemeinheit und von optional angeschlos- senen Automation Panels angesprochen werden, sondern es werden auf dem Gerät selbst folgende zu-...
Seite 10
Wenn Sie bereits Funktionen für PP500, APC510 oder APC511 verwenden, beachten Sie bitte folgende Unterschiede: Auf dem APC910 und PPC900 werden andere Modulnummern verwendet und die Automation Panels anders adressiert: Panelnummer beginnend mit 0 statt 1. Der APC910 besitzt kein eingebautes Display.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5 MTCX Schnittstelle 5.1 Registerübersicht Die MTCX Schnittstelle besteht aus mehreren Registern, die ab I/O Portadresse 4100h liegen und insge- samt 128 Bytes umfassen. Die einzelnen Register sind 32 Bit breit. Die Registerdaten werden im INTEL Format abgelegt.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.2.1 Version Register Dieses Register beinhaltet die Version der MTCX Firmware und liegt auf I/O Port 4100h. Version Register Name / Funk- Default Mode Bemerkung tion Minor Version Niederwertige Versionsnummer Major Version Höherwertige Versionsnummer Tabelle 5: MTCX Version Register 5.2.2 Config COM Register...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3 MTCX Command Service Register (Kommandoschnittstelle) Die MTCX Command Service Register bilden die Kommandoschnittstelle des MTCX. Diese steht für all- gemeine, zeitunkritische Kommandos zur Verfügung und besteht aus mehreren Registern, die ab I/O Port 4110h liegen.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.3 MTCX Command Data [0..3] Register Die MTCX Command Data 0 bis 3 Register beinhalten den Datenbereich für das Lesen und Schreiben von Daten und liegen ab I/O Port 4118h. Maximal können bis zu 16 Bytes übertragen werden. Alle Regis- ter haben denselben Aufbau.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.1 Version Info Kommando Mit diesem Kommando wird die Versionsinformation des jeweiligen Geräts gelesen. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge 4 Byte MTCX Version 1 (Base- Version der MTCX Firmware lesen...
Factory Settings des PC gelesen werden. Information: Auf einem APC910 wird mit diesem Kommando immer die Systemeinheit und auf einem PPC900 immer das CPU Board angesprochen! Die Informationen anderer PC Module können über das neue Module Info Kommando des MTCX (siehe Seite 29) gelesen werden.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle Die folgende Tabelle beschreibt die Serial Number Daten: Offset Name / Funktion Datenlänge Bemerkung Serial Number 12 Byte Seriennummer des PC als ASCII String (inkl. Null-Zeichen) Reserve 4 Byte Tabelle 18: Serial Number Daten...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.3 Key Layer Kommando Mit diesem Kommando wird die aktuelle Tastenebene eingestellt. Information: Die Tastenebene wird nur eingestellt, wenn eine gültige Tastenkonfiguration auf dem Gerät vor- handen ist - das Kommando liefert aber keinen Fehler! Der Status der Tastenkonfiguration kann durch Lesen des Baseboard KeyState Register des MTCX (siehe Seite 44) ermittelt werden.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.4 Key Service Kommando Mit diesem Kommando kann die Bearbeitung der Tasten (Scancodes, Panelsperre) der Displayeinheit ei- nes PPC900 und eines angeschlossenen Automation Panel gesteuert werden. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle Die folgende Tabelle beschreibt die Panel Lock Daten beim Lesen (Richtung 1). Offset Name / Funktion Datenlänge Bemerkung Lock Bits 2 Byte Sperrbits: Bit x = 1: Panel x ist gesperrt Bit x = 0: Panel x ist freigegeben...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.5 Flash / EEPROM Service Kommando Mit diesem Kommando werden Flashspeicher und EEPROM Daten gelesen und programmiert. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge Scancodes 16 Byte Tastenkonfiguration le-...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.6 Statistics Info Kommando Mit diesem Kommando werden die Statistikwerte von angeschlossenen Automation Panels gelesen. Information: Das Kommando wird von der Displayeinheit eines PPC900 (Panel 15) und AP800 Extension Units nicht unterstützt. Ob es sich um eine AP800 Extension Unit handelt, kann über das Panel Version Register (siehe Seite 51) ermittelt werden.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.7 LED Service Kommando Mit diesem Kommando können die LEDs der Displayeinheit eines PPC900 und eines angeschlossenen Automation Panels gelesen oder gesetzt werden. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.8 Display Service Kommando Mit diesem Kommando werden Einstellungen der Displayeinheit eines PPC900 und eines angeschlosse- nen Automation Panel gelesen und geändert. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.9 Watchdog Service Kommando Mit diesem Kommando wird der Watchdog konfiguriert und ein Reset des PC per Software durchgeführt. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge Watchdog Config 4 Byte...
Jedes PC Modul kann theoretisch Geräteinformationen besitzen. Das Kommando liefert für nicht vorhan- dene Geräteinformationen einen Fehler. Hinweise: Auf APC910 liefert das Modul 11 (CPU Board) eingeschränkte Geräteinformationen, d.h. nur Device ID, Hardware Revision und Model Number sind mit gültigen Werten versorgt – die Serial Number z.B. ist „leer“.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle Die folgende Tabelle beschreibt die Module Device ID Daten: Offset Name / Funktion Datenlänge Bemerkung Device ID 4 Byte Gerätekennung (SAP Materialnummer): 00000000h bis FFFFFFFFh Tabelle 41: Module Device ID Daten Die folgende Tabelle beschreibt die Module Vendor & Compatibility ID Daten:...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.11 Module Temperature Kommando Mit diesem Kommando werden die Temperaturwerte eines PC Moduls gelesen. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge 4 Byte Module Tempera- 0 bis 3 0, 1, 3, 6, 7,...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.12 Module Statistics Kommando Mit diesem Kommando werden Statistikwerte eines PC Moduls gelesen. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge Module Statistics 100h 8 Byte 0, 1, 2, 3, 4, Betriebsstunden und Einschaltzyk- len eines Moduls lesen.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.13 Module Correction Kommando Mit diesem Kommando werden Korrekturdaten eines PC Moduls gelesen. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge UPS User Settings 600h Korrekturdaten eines Moduls le- (Modul-...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle Die folgende Tabelle beschreibt die UPS User Settings Daten beim Schreiben. Offset Name / Funktion Datenlänge Bemerkung Zeit in Sekunden, bis die USV nach einem „Low Battery“ Alarm aus- LowBatShutdownTime 2 Byte schaltet: 10 bis 1200.
2 Byte Tabelle 60: CPU Voltage Daten Benötigt MTCX Version 1.01 oder höher auf APC910 und MTCX Version 1.02 oder höher auf PPC900. Ältere MTCX Versionen liefern ungültige Werte. Auf anderen Systemen gibt dieser Wert nur die Leistung der CPU an.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.15 Module Header Kommando Mit diesem Kommando wird der Header der aktuell gebooteten FPGA Firmware eines PC Moduls gele- sen. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge FPGA Header...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.3.5.16 Module Fan Kommando Mit diesem Kommando werden die Lüfterdrehzahlen eines PC Moduls gelesen. Kommandofunkti- Kommando Zielgerät Rich- Geräte- Adres- Daten- Bemerkung Code tung nummer länge Module Fan 4 Byte 0 bis 3 8, 12 Lüfterdrehzahl des Lüfter Kit Mo-...
Werte außerhalb des gültigen Bereichs werden vom MTCX begrenzt. Das Laden im Standby wird erst ab MTCX Version 1.00 oder höher unterstützt. Auf APC910 ist dazu MTCX Firmware 1.00 oder höher und CPU Board Controller Firmware 9.32 oder höher erforderlich.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.4.2 Hardware Info 2 Register Dieses Register beinhaltet weitere gerätespezifische Informationen und liegt auf I/O Port 412Ch. MTCX Hardware Info 2 Register Name / Funk- Default Mode Bemerkung tion MTCX Coun- Updatezähler des aktuellen MTCX Image der Systemeinheit.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.5 Baseboard Service Register Die Baseboard Service Register beinhalten Daten und Einstellungen des Baseboard und liegen ab I/O Port 4130h. 4130h+ Register Beschreibung Offset 0000h Baseboard Support NMI Status und Watchdog Toggle 0004h Reserviert...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.5.1 Baseboard Support Register Dieses Register beinhaltet das Watchdog Toggle Bit sowie Einstellungen für die SMC NMI Bearbeitung und liegt auf I/O Port 4130h. Baseboard Support Register Name / Funk- Default Mode Bemerkung tion...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.5.2 Baseboard KeyState Register Dieses Register beinhaltet spezielle Einstellungen für die Behandlung der Matrixtasten und Tastenkonfi- guration und liegt auf I/O Port 4148h. Baseboard KeyState Register Name / Funk- Default Mode Bemerkung tion Level...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.5.3 Baseboard Specials Register Dieses Register beinhaltet spezielle Werte des PC und liegt auf I/O Port 414Ch. Baseboard Specials Register Name / Funk- Default Mode Bemerkung tion Bat State Zustand der CMOS Batterie: 0 = Batterie ist gut...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.6 UPS Service Register Die UPS Service Register beinhalten Statusflags und Betriebsdaten der USV und liegen ab I/O Port 4150h. 4150h+ Register Beschreibung Offset 0000h UPS Status USV Statusflags und Batteriespannung 0004h UPS Values...
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.6.2 UPS Values Register Dieses Register beinhaltet Betriebsdaten der USV und liegt auf I/O Port 4154h. Information: Das Register enthält nur relevante Daten, wenn die USV verbunden ist (siehe UPS Status Register auf Seite 47).
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.7 Panel Switch Register Dieses Register dient zum Umschalten der Panel Service Register des MTCX (siehe Seite 50) und liegt auf I/O Port 415Ch. Der MTCX stellt einige Daten der Panels – z.B. Temperatur, Tastenmatrix - über Register zur Verfügung.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.8 Panel Service Register Diese Register beinhalten die Daten und Einstellungen des mit dem Panel Switch Register (siehe Seite 49) ausgewählten Panels und liegen ab I/O Port 4160h. Die Daten für die einzelnen Panels werden vom MTCX zyklisch im System abgefragt und in die Panel Service Register abgelegt.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.8.1 Panel Version Register Dieses Register beinhaltet die SDL Firmware Version des Panels und liegt auf I/O Port 4160h. Information: Bevor auf dieses Register zugegriffen wird, muss über das Panel Switch Register das ge- wünschte Panel eingestellt werden.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.8.3 Panel Specials Register Dieses Register beinhaltet spezielle Einstellungen und Informationen eines Panels (Hintergrundbeleuch- tung, Schlüsselschalterstatus und die Anzahl der Tasten und LEDs) und liegt auf I/O Port 4168h. Information: Bevor auf dieses Register zugegriffen wird, muss über das Panel Switch Register das gewünschte Panel eingestellt werden.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle 5.8.4 Panel Flags Register Dieses Register beinhaltet Kennungen und spezielle Einstellungen des ausgewählten Panels und liegt auf I/O Port 416Ch. Information: Bevor auf dieses Register zugegriffen wird, muss über das Panel Switch Register das gewünschte Panel eingestellt werden.
APC910 / PPC900 Implementierungsanleitung MTCX Schnittstelle Information: Eine mit dem Key Service Kommando (siehe Seite 22) geänderte Scancodesperre wird bedingt durch den internen Ablauf im MTCX erst nach kurzer Verzögerung in „Scancode Lock“ im Pa- nel Flags Register angezeigt.
APC910 / PPC900 Implementierungsanleitung Codierhinweise 6 Codierhinweise In den nächsten Kapiteln finden Sie allgemeine Hinweise für die Anwendung der in diesem Dokument enthaltenen Codebeispiele. 6.1 Type-Punning Problem In den nachfolgenden Codebeispielen wird beim Lesen der MTCX Register an einigen Stellen eine spezi- elle cast Anweisung verwendet, z.B.:...
APC910 / PPC900 Implementierungsanleitung Codierhinweise 6.2 TODO: Anweisungen In den Codebeispielen sind TODO: Anweisungen enthalten. Ersetzen Sie diese durch entsprechenden Code. 6.3 Datenformate Die in den Codebeispielen verwendeten Standard C Datentypen müssen folgende Größen besitzen: Datenformat Größe in Bytes char...
APC910 / PPC900 Implementierungsanleitung Codierhinweise 6.4 READ_PORT_x, WRITE_PORT_x Sie müssen die in den Codebeispielen enthaltenen READ_PORT_x und WRITE_PORT_x Funktionen durch die entsprechenden I/O Port Zugriffsfunktionen Ihrer Entwicklungsumgebung ersetzen. Beispiel für Implementierung der READ_PORT_x und WRITE_PORT_x Funktionen mit inp und outp (z.B.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7 Codebeispiele In den folgenden Kapiteln sind die Codebeispiele für die gerätespezifischen Funktionen beschrieben, z.B.: Lesen von Temperaturen und Geräteinformationen. 7.1 Hilfsfunktionen Die folgenden Codebeispiele zeigen Hilfsfunktionen, die in den Codebeispielen verwendet werden. 7.1.1 2-Byte Wert swappen Das folgende C Codebeispiel zeigt, wie die Bytereihenfolge eines 2-Byte Werts geändert werden kann.
Diese Definitionen werden in den Codebeispielen in diesem Dokument verwendet. Sie können diese De- finitionen als Datei BrMtcx.h speichern und in Ihrem C Code inkludieren. // BrMtcx.h : Definitions for MTCX interface on APC910 and PPC900. // Copyright (c) Bernecker + Rainer...
Seite 62
// BIOS booted from: 0 = backup area, 1 = normal (update) area unsigned long FpgaBootArea : 1; // FPGA booted from: 0 = low area, 1 = high area // PP500/APC51x: I/O board, APC910/PPC900: Display Link unsigned long Reserve : 21; } MTCX_HW_INFO_REG; typedef struct...
Seite 63
:16; // pos. value = charge current in mA // neg. value = discharge current in mA unsigned long BatVoltage :16; // mV } MTCX_UPS_VALUES_REG2; // Values register for IF UPS on APC910 and PPC900 typedef struct unsigned long Minor unsigned long Major...
Seite 64
APC910 / PPC900 Implementierungsanleitung Codebeispiele typedef struct unsigned long Detected unsigned long Linked unsigned long Locked unsigned long ScanCodeLock unsigned long SoftwareLock unsigned long Reserve1 :11; unsigned long EqualizerAuto unsigned long EqualizerSupport unsigned long Reserve2 unsigned long EqualizerUser unsigned long EqualizerMode unsigned long Reserve3 } MTCX_PANEL_FLAGS_REG;...
Seite 65
APC910 / PPC900 Implementierungsanleitung Codebeispiele char SerialNumber[12]; // incl. 0 byte char Reserve[4]; } MTCX_SERIAL_NUMBER_DATA; typedef struct unsigned long PowerOnHours; // 1/4 h unsigned long PowerOnCycles; } MTCX_MODULE_STATISTICS_DATA; typedef struct unsigned long BacklightOnHours; // 1/4 h unsigned long BacklightOnCycles; } MTCX_DISPLAY_STATISTICS_DATA;...
Seite 66
APC910 / PPC900 Implementierungsanleitung Codebeispiele typedef struct unsigned short Delay; // 10 to 1200 s unsigned short Reserve; } MTCX_UPS_SHUTDOWN_DATA; typedef struct unsigned long Status unsigned long Reserve :8; unsigned long Flags long Temp :10; // Temperature value in 0.25 degrees Celsius } MTCX_MODULE_TEMPERATURE_DATA;...
Panels vom MTCX unterstützt werden. Information: Auf APC910 und PPC900 werden vom MTCX immer max. 16 Panels unterstützt - unabhängig da- von wie viele Panels an das Gerät tatsächlich angeschlossen werden können: z.B. auf einem APC910 ohne Display Link sind theoretisch max. 8 Automation Panel möglich.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.2.4 Panel umschalten Durch Beschreiben des Panel Switch Register des MTCX (siehe Seite 49) kann das Panel ausgewählt werden, auf dessen Daten und Einstellungen über die Panel Service Register des MTCX anschließend zugegriffen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Durch das zusätzliche Auswerten der „linked“ Kennung im Panel Flags Register des MTCX (siehe Seite 53) kann eine Funktion erstellt werden, mit der auf ein angeschlossenes Panel umgeschaltet wird. Aus Performancegründen wird in MtcxSwitchToLinkedPanel ebenfalls nur das niederwertigste Byte des Pa- nel Flags Register angesprochen.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.2.5 Basisfunktionen für MTCX Kommandoschnittstelle Diese Funktionen sind für die Bearbeitung von MTCX Kommandos notwendig (Basisfunktionen) und wer- den von MtcxReadCommand und MtcxWriteCommand aufgerufen. // Lock the command interface. // Return 0 if interface is already locked and // 1 if interface is locked successfully now.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.2.6 Daten lesen mit MTCX Kommando Mit dieser Funktion wird ein MTCX Kommando zum Lesen von Daten abgesetzt. Diese Funktion wird in weiteren Codebeispielen aufgerufen. // Read data via MTCX command. // Parameters Command [in] Specifies the command code (see MTCX_CMD_x constants).
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.2.7 Daten schreiben mit MTCX Kommando Mit dieser Funktion wird ein MTCX Kommando zum Schreiben von Daten abgesetzt. Diese Funktion wird in weiteren Codebeispielen aufgerufen. // Write data via MTCX command. // Parameters Command [in] Specifies the command code (see MTCX_CMD_x constants).
7.3 Panelfunktionen Die Panelfunktionen werden vom MTCX ausgeführt. An einem APC910 und PPC900 können je nach Modell ein oder mehrere Automation Panels ange- schlossen werden. Diese Automation Panels werden über eine Panelnummer ab 0 (bei Anschluss an der Monitor / Panel Schnittstelle) bzw. 8 (bei Anschluss am optionalen Display Link = Monitor / Panel Option) angesprochen.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.3.1 Panel „unterstützt“ prüfen Ob ein Panel unterstützt wird, kann erkannt werden, indem versucht wird, auf das Panel umzuschalten. Das folgende C Codebeispiel zeigt, wie geprüft werden kann, ob ein Panel „unterstützt“ wird. // Check if panel is supported.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.3.2 Panel „erkannt“ prüfen Ob ein Panel erkannt wurde, kann über das Panel Flags Register des MTCX (siehe Seite 53) geprüft werden. Das folgende C Codebeispiel zeigt, wie geprüft werden kann, ob ein Panel erkannt wurde.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.3.3 Panel „verbunden“ prüfen Ob ein Panel verbunden ist (d.h. die Kommunikation mit dem Panel funktioniert), kann über das Panel Flags Register des MTCX (siehe Seite 53) geprüft werden. Das folgende C Codebeispiel zeigt, wie geprüft werden kann, ob ein Panel verbunden ist.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.3.4 Panel „gesperrt“ prüfen Ob ein Panel gesperrt ist, kann über das Panel Flags Register des MTCX (siehe Seite 53) geprüft wer- den. Das folgende C Codebeispiel zeigt, wie geprüft werden kann, ob ein Panel gesperrt ist.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.3.5 Scancodes „gesperrt“ prüfen Ob die Scancodes eines Panels gesperrt sind, kann über das Panel Flags Register des MTCX (siehe Seite 53) geprüft werden. Die Scancodes sind in der Tastenkonfiguration definiert. Eine Tastenkonfiguration kann mit dem B&R Key Editor erstellt und auf das Gerät geladen werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.3.6 Panelsperrzeit lesen/setzen Die Sperrzeit eines Panels kann mit dem Key Service Kommando des MTCX (siehe Seite 22) gelesen und gesetzt werden. Die Panelsperrzeit gibt an, wie lange auf anderen Panels die Eingabe über Tasten und resistivem Touch- screen gesperrt ist, wenn auf einem Panel eine Eingabe erfolgt.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die Sperrzeit gesetzt werden kann. Information: Geben Sie als Sperrzeit entweder 0 (= keine Sperre) oder Werte ab 500 ms an. Information: Die Panelsperrzeit wird bei Neustart des Systems oder wenn die Tastenkonfiguration neu pro- grammiert oder neu geladen wird, auf den in der Tastenkonfiguration parametrierten Wert zurück-...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.3.7 Panelsperre lesen/setzen Die Sperre eines Panels kann mit dem Key Service Kommando des MTCX (siehe Seite 22) gelesen und manuell gesetzt werden. Die Eingabe über Tasten und resistivem Touchscreen eines Panels ist normalerweise automatisch ge- sperrt, wenn auf einem anderen angeschlossenen Panel eine Eingabe erfolgt und eine Panelsperrzeit in der Tastenkonfiguration oder mit dem Key Service Kommando eingestellt ist.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die Sperre eines angeschlossenen Panels gesetzt werden kann. Wenn Lock 1 ist, wird die Eingabe über Tasten und resistivem Touchscreen gesperrt. Es können dann die Zustände der Tasten auch nicht durch Lesen der Tastenmatrix ermittelt werden. Wenn Lock 0 ist, wird die Eingabe wieder freigegeben.
„Bernecker + Rainer Industrie-Elektronik Sv.yy“ Wobei Q die Kennung des BIOS für APC910 und PPC900 mit QM77 Chipsatz bzw. S die Kennung des BIOS für einen HM76 Chipsatz ist und v.yy die BIOS Version bezeichnet. Das folgende C Codebeispiel zeigt, wie die BIOS Kennung und Version gelesen werden können.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.4.2 Version des MTCX lesen Die Version der MTCX Firmware kann vom Version Register des MTCX (siehe Seite 12) gelesen wer- den. Das folgende C Codebeispiel zeigt, wie die MTCX Version gelesen werden kann. // Read version of MTCX.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die Display Link FPGA Version gelesen werden kann. // Read version of Display Link FPGA. // Parameters Major [out] Points to a variable that receives the major version number: 0 to 255.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.4.4 Version der Scancode Daten lesen Die Version der Scancode Daten kann mit dem Version Info Kommando des MTCX (siehe Seite 18) ge- lesen werden. Information: Die Version der Scancode Daten gibt nur über das Format der Datenstruktur Auskunft und ist un- abhängig von der Version, die im B&R Key Editor beim Erstellen der Tastenkonfiguration einge-...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.4.5 Version des AP Link FPGA lesen Die Version des AP Link FPGA eines angeschlossenen Automation Panels kann vom Panel Version Register des MTCX (siehe Seite 51) gelesen werden. Information: Diese Funktion wird nur für Panel 0 bis 14 unterstützt. Die Displayeinheit eines PPC900 (Panel 15) besitzt kein AP Link FPGA.
Die folgenden Codebeispiele zeigen, wie Sie Eigenschaften der verwendeten Hardware lesen können. 7.5.1 Gerätetyp (APC910, PPC900) lesen Der Typ (APC910 oder PPC900) des verwendeten Geräts kann über das Hardware Info Register des MTCX (siehe Seite 29) gelesen werden. Das folgende C Codebeispiel zeigt, wie der Typ des Geräts gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.5.2 Paneltyp (AP900, AP800, …) lesen Ob es sich bei einem Panel um ein AP900 oder ein AP800 usw. handelt, kann über das Panel Version Register des MTCX (siehe Seite 51) gelesen werden. Das folgende C Codebeispiel zeigt, wie der Paneltyp gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6 Geräteinformationen des PC lesen Die folgenden Codebeispiele zeigen, wie Sie die B&R spezifischen Geräteinformationen (z.B. Serien- nummer oder Hardwarerevision) lesen können. Damit können Sie auch die Informationen von optionalen Komponenten wie z.B. der USV IF Option lesen.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6.2 Kompatibilitätskennung eines PC Moduls lesen Die Kompatibilitätskennung eines PC Moduls dient zur Erkennung von Hardwareänderungen, die für ge- rätespezifische Software von Bedeutung sind und kann mit dem Module Info Kommando des MTCX (siehe Seite 29) gelesen werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6.3 Herstellerkennung eines PC Moduls lesen Die Herstellerkennung eines PC Moduls ist bei B&R immer 0 und kann mit dem Module Info Kommando des MTCX (siehe Seite 29) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Herstellerkennung eines PC Moduls gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6.4 Hardwarerevision eines PC Moduls lesen Die Hardwarerevision eines PC Moduls kann mit dem Module Info Kommando des MTCX (siehe Seite 29) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Hardwarerevision eines PC Moduls gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6.5 Seriennummer eines PC Moduls lesen Die Seriennummer eines PC Moduls kann mit dem Module Info Kommando des MTCX (siehe Seite 29) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Seriennummer eines PC Moduls gelesen werden kann. Ge- ben Sie für SerialNumber eine mindestens 12 char große Variable an.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6.6 Bestellnummer eines PC Moduls lesen Die Bestellnummer eines PC Moduls kann mit dem Module Info Kommando des MTCX (siehe Seite 29) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Bestellnummer eines PC Moduls gelesen werden kann. Ge- ben Sie für ModelNumber eine mindestens 41 char große Variable an.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6.7 Parent Gerätekennung eines PC Moduls lesen Die Parent Gerätekennung eines PC Moduls gibt die Gerätekennung des PC Moduls an, von dem das aktuelle Gerät „abgeleitet“ wurde (z.B. bei einer kundenspezifischen Variante eines Standardgeräts). Die Parent Gerätekennung kann mit dem Module Info Kommando des MTCX (siehe Seite 29) gelesen wer-...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.6.8 Parent Kompatibilitätskennung eines PC Moduls lesen Die Parent Kompatibilitätskennung eines PC Moduls gibt die Kompatibilitätskennung des PC Moduls an, von dem das aktuelle Gerät „abgeleitet“ wurde (z.B. bei einer kundenspezifischen Variante eines „Stan- dard“ Geräts). Die Parent Kompatibilitätskennung kann mit dem Module Info Kommando des MTCX (siehe Seite 29) gelesen werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.7 Geräteinformationen eines Panels lesen Die folgenden Codebeispiele zeigen, wie Sie die B&R spezifischen Geräteinformationen (z.B. Serien- nummer oder Hardwarerevision) eines angeschlossenen Automation Panels lesen können. Die in den folgenden Codebeispielen gelesenen Informationen sind Bestandteil der Factory Settings des Automation Panels und liegen in folgender Datenstruktur vor (Startoffset in den Factory Settings ist 80h): #define BR_INT_DATA_PANEL_HEADER_ID "\xff\x55\xaa\xff\x00\x00\xff\xff"...
APC910 / PPC900 Implementierungsanleitung Codebeispiele // Don't send Flash command to built-in display because MTCX does not // respond on some platforms... if (reg.Id == MTCX_VER_ID_DISP) return -1; // Read B&R internal data from flash memory. for (i = 0; i < sizeof(BR_INT_DATA_PANEL); i += MTCX_CMD_DATA_SIZE) unsigned char ErrorCode;...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.7.1 Gerätekennung eines Panels lesen Die Gerätekennung eines angeschlossenen Automation Panels entspricht der B&R internen Produkt- nummer und kann aus den Factory Settings des Panels mit dem Flash / EEPROM Service Kommando (siehe Seite 24) des MTCX gelesen werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.7.2 Kompatibilitätskennung eines Panels lesen Die Kompatibilitätskennung eines angeschlossenen Automation Panels kann aus den Factory Settings des Panels mit dem Flash / EEPROM Service Kommando des MTCX (siehe Seite 24) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Kompatibilitätskennung eines angeschlossenen Automation Panels gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.7.3 Herstellerkennung eines Panels lesen Die Herstellerkennung eines angeschlossenen Automation Panels kann aus den Factory Settings des Panels mit dem Flash / EEPROM Service Kommando des MTCX (siehe Seite 24) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Herstellerkennung eines angeschlossenen Automation Pa- nels gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.7.4 Hardwarerevision eines Panels lesen Die Hardwarerevision eines angeschlossenen Automation Panels kann aus den Factory Settings des Pa- nels mit dem Flash / EEPROM Service Kommando des MTCX (siehe Seite 24) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Hardwarerevision eines angeschlossenen Automation Panels gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.7.5 Seriennummer eines Panels lesen Die Seriennummer eines angeschlossenen Automation Panels kann aus den Factory Settings des Panels mit dem Flash / EEPROM Service Kommando des MTCX (siehe Seite 24) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Seriennummer eines angeschlossenen Automation Panels gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.7.6 Bestellnummer eines Panels lesen Die Bestellnummer eines angeschlossenen Automation Panels kann aus den Factory Settings des Pa- nels mit dem Flash / EEPROM Service Kommando des MTCX (siehe Seite 24) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Bestellnummer eines angeschlossenen Automation Panels gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.8 Statistikwerte lesen Sie können folgende Statistikwerte lesen: Betriebsstunden und Einschaltzyklen eines PC Moduls Betriebsstunden und Einschaltzyklen (der Hintergrundbeleuchtung) der Displayeinheit eines PPC900 bzw. eines Automation Panels Betriebsstunden und Einschaltzyklen der PC Lüfter ...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.8.2 Betriebsstunden und Einschaltzyklen der Displayeinheit lesen Die Betriebsstunden und Einschaltzyklen (der Hintergrundbeleuchtung) der Displayeinheit eines PPC900 können mit dem Module Statistics Kommando des MTCX (siehe Seite 32) gelesen werden. Das folgende C Codebeispiel zeigt, wie die Betriebsstunden und Einschaltzyklen der Displayeinheit gele- sen werden können.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.8.3 Betriebsstunden und Einschaltzyklen der PC Lüfter lesen Die Betriebsstunden und Einschaltzyklen der PC Lüfter können mit dem Module Statistics Kommando des MTCX (siehe Seite 32) gelesen werden. Jedes PC Modul kann bis zu vier Lüfter besitzen. Das Kommando liefert für nicht vorhandene Lüfter ei- nen Fehler.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.8.4 On-Battery Stunden und Zyklen der USV lesen Die „On-Battery“ Stunden und Zyklen der USV können mit dem Module Statistics Kommando des MTCX (siehe Seite 32) gelesen werden. Das folgende C Codebeispiel zeigt, wie die „On-Battery“ Stunden und Zyklen der USV gelesen werden können.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.8.5 Betriebsstunden und Einschaltzyklen eines Panels lesen Die Betriebsstunden und Einschaltzyklen (der Hintergrundbeleuchtung) eines angeschlossenen Automa- tion Panels können mit dem Statistics Info Kommando des MTCX (siehe Seite 25) gelesen werden. Information: Diese Funktion wird nur für Panel 0 bis 14 unterstützt. Die Statistikwerte der Displayeinheit ei- nes PPC900 (Panel 15) können über das Module Statistics Kommando (siehe Seite 32 und...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.8.6 CMOS Batteriezustand lesen Der CMOS Batteriezustand kann über das Baseboard Specials Register des MTCX (siehe Seite 45) ge- lesen werden. Der Zustand der Batterie wird als Integer Wert geliefert: 0 = gut, 3 = schlecht Das folgende C Codebeispiel zeigt, wie der CMOS Batteriezustand gelesen werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.9 Temperaturen lesen Sie können folgende Temperaturen auslesen: Temperaturen eines PC Moduls Temperatur eines angeschlossenen Automation Panel Temperatur der USV Batterie (siehe Seite 154) Alle Temperaturen werden vom MTCX erfasst und zur Verfügung gestellt.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.9.2 Temperatur eines Panels lesen Die Temperatur eines angeschlossenen Automation Panels (Umgebungstemperatur des Displays) kann über das Panel TempFan Register des MTCX (siehe Seite 51) gelesen werden. Information: Diese Funktion wird nur für Panel 0 bis 14 unterstützt. Die Temperatur der Displayeinheit eines PPC900 (Panel 15) wird mit dieser Funktion immer mit 0 geliefert und kann über das Module...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.10 Lüfterdrehzahlen lesen Die folgenden Codebeispiele zeigen, wie Sie die Drehzahlen der Lüfter lesen können. 7.10.1 Drehzahl der PC Lüfter lesen Die Drehzahl der Lüfter eines PC Moduls kann mit dem Module Fan Kommando des MTCX (siehe Seite 38) gelesen werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.10.2 Lüfterdrehzahl des Panels lesen Die Lüfterdrehzahl eines angeschlossenen Automation Panels kann über das Panel TempFan Register des MTCX (siehe Seite 51) gelesen werden. Information: Diese Funktion wird nur für Panel 0 bis 14 unterstützt. Die Lüfterdrehzahl der Displayeinheit ei- nes PPC900 (Panel 15) wird mit dieser Funktion immer mit 0 geliefert.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.11 Spannungswerte lesen Sie können folgende Spannungen auslesen: Batteriespannung Vbat Eingangsspannung Vin sowie die aktuelle Systemleistung Alle Werte werden vom MTCX erfasst und zur Verfügung gestellt. Die folgenden Codebeispiele zeigen, wie Sie die Spannungen lesen können.
Information: Für das Lesen von gültiger Eingangsspannung (Vin) und Systemleistung (Wcpu) ist MTCX Versi- on 1.01 oder höher auf APC910 und MTCX Version 1.02 oder höher auf PPC900 notwendig. Ältere MTCX Versionen liefern ungültige Werte. Vin ist immer 0. Das folgende C Codebeispiel zeigt, wie die Spannungswerte gelesen werden können.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.12 Displayfunktionen An einem APC910 und PPC900 können ein oder mehrere Automation Panels angeschlossen werden. Für das Display eines Automation Panels können Sie folgende Funktionen ausführen: Displayhelligkeit lesen und einstellen Display Equalizerwert lesen und einstellen Für die Displayeinheit eines PPC900 können Sie folgende Funktionen ausführen:...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.12.1 Displayhelligkeit lesen/einstellen Die Displayhelligkeit (der Hintergrundbeleuchtung) der Displayeinheit eines PPC900 und eines ange- schlossenen Automation Panels kann über das Display Service Kommando des MTCX (siehe Seite 27) gelesen und eingestellt werden. Die eingestellte Helligkeit gilt nur bis zum nächsten Start des Systems. Wenn die Helligkeit auch nach dem nächsten Systemstart verwendet werden soll, müssen Sie diese in Ihrer Anwendung speichern und...
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die Helligkeit eines Displays eingestellt werden kann (auch wenn das Panel nicht angeschlossen ist). // Set display brightness (backlight). // Parameters PanelNumber [in] Specifies the panel number: 0 to 15.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.12.2 Equalizer lesen/einstellen Der Equalizer eines angeschlossenen Automation Panels kann über das Panel Flags Register des MTCX (siehe Seite 53) gelesen und eingestellt werden. Der Equalizer ist im Automation Panel eingebaut und passt das DVI Signal für unterschiedliche Kabellän- gen an.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie der Equalizerwert eines Displays gelesen werden kann. // Get display equalizer value. // Parameters PanelNumber [in] Specifies the panel number: 0 to 15. EqualizerMode [out] Points to a variable that receives the equalizer mode: 0 = automatic or 1 = user specific.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie der Equalizerwert eines Displays eingestellt werden kann. // Set display equalizer value. // Parameters PanelNumber [in] Specifies the panel number: 0 to 15. EqualizerMode [in] Specifies the equalizer mode: 0 = automatic or 1 = user specific.
Codebeispiele 7.13 Tastenfunktionen An einem APC910 und PPC900 können ein oder mehrere Automation Panels angeschlossen werden. Auf einem Automation Panel und der Displayeinheit eines PPC900 können jeweils bis zu 128 Matrixtas- ten vorhanden sein, die in 4 Tastenebenen bedient werden können und für die Sie folgende Funktionen ausführen können:...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.13.1 Tastenanzahl lesen Die Anzahl der unterstützen Tasten eines Panels kann durch Lesen des Panel Specials Register des MTCX (siehe Seite 52) ermittelt werden. Information: Derzeit wird technisch bedingt von allen B&R Geräten, die Tasten unterstützen können, die An- zahl der Tasten mit 128 gemeldet.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.13.2 Tastenmatrix lesen Die Zustände der Matrixtasten eines Panels können über die Panel Key Matrix Register des MTCX (sie- he Seite 54) gelesen werden. Hinweis: Die Tastenzustände können auch gelesen werden, wenn keine gültige Tastenkonfiguration im System vorhanden ist.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.13.3 Schlüsselschalter lesen Die Zustände der Schlüsselschalter eines Panels können durch Lesen des Panel Specials Register des MTCX (siehe Seite 52) gelesen werden. Die Schalterzustände können nur gelesen werden, wenn eine gültige Tastenkonfiguration im System vor- handen ist.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.13.4 Scancodesperre der Matrixtasten lesen/setzen Die Scancodesperre der Matrixtasten eines Panels können mit dem Key Service Kommando des MTCX (siehe Seite 22) gelesen und gesetzt werden. Diese Funktion kann zum Sperren der Scancodes verwendet werden, wenn z.B. für Testzwecke die Tas- tenmatrix gelesen wird und das Betriebssystem währenddessen nicht auf Tastendrücke reagieren soll.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die Scancodes der Matrixtasten eines Panels gesperrt und frei- gegeben werden können. Wenn Lock gleich 0 ist, werden die Scancodes freigegeben und die zugeordneten Tastencodes werden an das Betriebssystem gesendet, wenn eine Taste gedrückt wird. Wenn Lock ungleich 0 ist, sind die Scancodes gesperrt und das Betriebssystem empfängt keine Tastencodes.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.13.5 Status der Tastenkonfiguration lesen Der Status der Tastenkonfiguration im Flashspeicher (gültig/ungültig) kann durch Lesen des Baseboard KeyState Register des MTCX (siehe Seite 44) ermittelt werden. Eine Tastenkonfiguration kann mit dem B&R Key Editor erstellt und auf das Gerät geladen werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.13.6 Modus der Tastenebene lesen Der Modus der Tastenebene kann über das Baseboard KeyState Register des MTCX (siehe Seite 44) ermittelt werden. Die Tasten eines B&R Geräts können in vier verschiedenen Ebenen bedient werden, d.h. eine Taste kann bis zu vier verschiedene Tastencodes senden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.13.7 Tastenebene lesen/einstellen Die aktuelle Tastenebene kann über das Baseboard KeyState Register des MTCX (siehe Seite 44) ge- lesen und eingestellt werden. Die Tasten eines B&R Geräts können in vier verschiedenen Ebenen bedient werden, d.h. eine Taste kann bis zu vier verschiedene Tastencodes senden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die Tastenebene eingestellt werden kann. Information: Die Tastenebene wird nur eingestellt, wenn eine gültige Tastenkonfiguration auf dem Gerät vor- handen ist (siehe Seite 133) - das Kommando liefert aber keinen Fehler! // Set key layer.
Codebeispiele 7.14 LED Funktionen An einem APC910 und PPC900 können ein oder mehrere Automation Panels angeschlossen werden. Auf einem Automation Panel und der Displayeinheit eines PPC900 können analog zu den Matrixtasten auch jeweils bis zu 128 LEDs vorhanden sein, die in 4 Ebenen angesteuert werden können und für die Sie folgende Funktionen ausführen können:...
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.14.1 LED Anzahl lesen Die Anzahl der unterstützten LEDs eines Panels kann durch Lesen des Panel Specials Register des MTCX (siehe Seite 52) ermittelt werden. Information: Derzeit wird technisch bedingt von allen B&R Geräten, die LEDs unterstützen können, die Anzahl der LEDs mit 128 gemeldet.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.14.2 LED Matrix lesen/setzen Die Zustände der Matrix-LEDs eines Panels können mit dem LED Service Kommando des MTCX (siehe Seite 26) gelesen und gesetzt werden. LEDs können wie die Tasten in vier verschiedenen Ebenen bedient werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele MTCX_DEV_PANEL, LedMatrix, 16, &ErrorCode)) != MTCX_OKAY) // TODO: add your error handling here return -1; return 0; Listing 74: GetLedMatrix – LED Matrix lesen Das folgende C Codebeispiel zeigt, wie die gesamte LED Matrix eines angeschlossenen Panels ge- schrieben werden kann.
APC910 / PPC900 Implementierungsanleitung Codebeispiele return -1; return 0; Listing 75: SetLedMatrix – LED Matrix schreiben Die verwendeten Definitionen finden Sie auf Seite 59. Die aufgerufene Funktion MtcxSwitchToLinkedPanel finden Sie auf Seite 68. Die aufgerufene Funktion MtcxReadCommand finden Sie auf Seite 73.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.14.3 Einzelne LED lesen/setzen Der Zustand einer einzelnen LED eines Panels kann ebenfalls mit dem LED Service Kommando des MTCX (siehe Seite 26) gelesen und gesetzt werden. LEDs können wie die Tasten in vier verschiedenen Ebenen bedient werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie eine einzelne LED eines angeschlossenen Panels gesetzt wer- den kann. // Set the state of a LED. // Parameters PanelNumber [in] Specifies the panel number: 0 to 15. Layer [in] Specifies the layer: 0 to 3.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.14.4 Run LED lesen/setzen Die Run LED kann über das Config 2nd Register des MTCX (siehe Seite 13) gelesen und eingestellt werden. Das folgende C Codebeispiel zeigt, wie die Run LED gelesen werden kann. // Read Run LED state.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.15 Watchdogbedienung, Software Reset Der Watchdog ist eine Lebensüberwachung, die von einer PC Anwendung jederzeit ein- und ausgeschal- tet werden kann. Die Watchdog Überwachung wird vom MTCX durchgeführt. Der Watchdog muss von der PC Anwendung über die MTCX Kommandoschnittstelle konfiguriert werden.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.15.1 Watchdog Zeitfenster einstellen Damit der Watchdog verwendet werden kann, muss als erstes mit dem Watchdog Service Kommando des MTCX (siehe Seite 28) das Zeitfenster für das Quittieren (Toggeln) des Watchdog eingestellt werden. Das Zeitfenster wird über eine Minimal- und Maximalzeit in Millisekunden angegeben. Im Normalfall wird die Minimalzeit mit 0 Millisekunden eingestellt.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie das Zeitfenster des Watchdog eingestellt werden kann. // Set minimum and maximum watchdog time. // Parameters MinTime [in] Specifies the minimum watchdog time in milliseconds: 0 to 65535. MaxTime [in] Specifies the maximum watchdog time in milliseconds: 0 or 65535.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.15.2 Watchdog toggeln Nachdem das Zeitfenster des Watchdog eingestellt wurde, kann der Watchdog durch erstmaliges Be- schreiben des Toggle Bit im Baseboard Support Register (siehe Seite 43) aktiviert werden. Anschließend muss das Toggle Bit innerhalb des konfigurierten Zeitfensters beschrieben werden, bis der Watchdog durch Einstellen eines neuen Zeitfensters wieder deaktiviert wird.
Codebeispiele 7.16 Anwenderfunktionen Auf einem APC910 und PPC900 wird die Vergabe einer User Serial ID unterstützt. Die User Serial ID ist ein 32 Bit großer, frei definierbarer Wert. Mit der User Serial ID können Sie das verwendete B&R Gerät mit Ihrer eigenen Erkennungsnummer versehen. Die User Serial ID wird dauerhaft am B&R Gerät ge- speichert.
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die User Serial ID eingestellt werden kann. // Set User Serial ID. // Parameters [in] Specifies the User Serial ID: 00000000h to FFFFFFFFh. // Return 0 at success and -1 at failure.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.17.3 USV Statusflags lesen Der aktuelle Status der USV (z.B. ob Batteriebetrieb aktiv ist) kann über das UPS Status Register des MTCX (siehe Seite 47) gelesen werden. Information: Diese Funktion liefert nur gültige Werte, wenn die USV „verbunden“ ist (siehe Seite 151).
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.17.4 USV Batteriespannung lesen Die aktuelle Spannung der USV Batterie kann über das UPS Values Register des MTCX (siehe Seite 48) gelesen werden. Information: Diese Funktion liefert nur gültige Werte, wenn die USV „verbunden“ ist (siehe Seite 151).
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.17.6 USV Batterietemperatur lesen Die aktuelle Temperatur der USV Batterie kann über das UPS Status Register des MTCX (siehe Seite 47) gelesen werden. Information: Diese Funktion liefert nur gültige Werte, wenn die USV „verbunden“ ist (siehe Seite 151).
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.17.7 USV Anwendereinstellungen lesen/schreiben Die Anwendereinstellungen der USV können mit dem Module Correction Kommando des MTCX (siehe Seite 34) gelesen und geschrieben werden. Vorsicht! Ein Low Battery Shutdown unterbricht einen eventuell bereits laufenden USV Shutdown (siehe Seite 157) und kann damit die geplante Abschaltzeit des Systems verkürzen!
APC910 / PPC900 Implementierungsanleitung Codebeispiele Das folgende C Codebeispiel zeigt, wie die USV Anwendereinstellungen geschrieben werden können. Information: Die USV muss nicht neu gestartet werden, damit geänderte Anwendereinstellungen übernommen werden. // Set UPS user settings. // Parameters LowBatShutdownTime [in] Specifies the low battery shutdown time in seconds: 10 to 1200.
APC910 / PPC900 Implementierungsanleitung Codebeispiele 7.17.8 USV abschalten (Shutdown) Die USV kann mit dem UPS Service Kommando des MTCX (siehe Seite 39) abgeschaltet werden. Diese Funktion wird z.B. vom Windows USV Dienst aufgerufen, bevor das System runtergefahren wird. Damit wird vermieden, dass das System weiterhin im USV Betrieb verbleibt und die USV Batterie „aus- leert“, wenn Windows nicht ordnungsgemäß...