Herunterladen Diese Seite drucken

Panelsperre Lesen/Setzen - B&R PC 300 Implementierungsanleitung

Vorschau ausblenden Andere Handbücher für PC 300:

Werbung

Panel PC 300
Implementierungsanleitung

7.3.6 Panelsperre lesen/setzen

Die Sperre des Panels kann mit dem Key Service Kommando des MTCX (siehe Seite 19) gelesen und
manuell gesetzt werden.
Das folgende C Codebeispiel zeigt, wie die Sperre des Panels gelesen werden kann.
Locked = 1 zeigt an, dass das Panel gesperrt ist. Eingaben über Tasten des Panels werden dann nicht
ausgewertet. Bei Locked = 0 ist das Panel nicht gesperrt.
Ob ein Panel gesperrt ist, kann auch schneller über das Panel Flags Register des MTCX (siehe Seite
35) ermittelt werden (siehe MtcxIsPanelLocked Codebeispiel auf Seite 61).
Hinweis: Auf dem PPC300 wird nur die Panelnummer 0 unterstützt.
// Get lock state of panel.
//
// Parameters
//
PanelNumber
//
[in] Specifies the panel number: 0 to 15.
//
Note: PPC300 supports only panel number 0.
//
Locked
//
[out] Points to a variable that receives the
//
lock state: 1 = locked, 0 = unlocked.
//
// Return 0 at success and -1 at failure.
int GetPanelLock(unsigned int PanelNumber, int *Locked)
{
MTCX_PANEL_LOCK_DATA data;
unsigned char ErrorCode;
int retvalue;
if ((retvalue = MtcxReadCommand(MTCX_CMD_KEY_SERVICE, 0, 4, MTCX_DEV_BASEBOARD,
&data, sizeof(data), &ErrorCode)) != MTCX_OKAY)
{
// TODO: add your error handling here
return -1;
}
// Note: LockBits bit x represents the lock state of panel x:
//
bit value 0 = lock OFF, 1 = lock ON.
*Locked = (data.LockBits & (1<<PanelNumber)) ? 1 : 0;
return 0;
}
Listing 18: GetPanelLock – Panelsperre lesen
Das folgende C Codebeispiel zeigt, wie die Sperre des Panels gesetzt werden kann.
Wenn Lock 1 ist, wird die Eingabe über Tasten 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 freigege-
ben.
Hinweis: Auf dem PPC300 wird nur die Panelnummer 0 unterstützt.
// Set lock state of panel.
//
// Parameters
//
PanelNumber
//
[in] Specifies the panel number: 0 to 15.
//
Note: PPC300 supports only panel number 0.
//
Lock
//
[in] Specifies the lock state: 1 = locked, 0 = unlocked.
//
Copyright © B&R - Änderungen vorbehalten
PPC300_Implementierungsanleitung_V1_02.doc
Codebeispiele
02.11.09
63/132

Werbung

loading