|
CCS Modul L_KAM_KONFIG |
Funktionsbeschreibung:
Festlegung der Grundkonfiguration fuer das KAM
Dieses Modul stellt - ebenso wie das 'F_ANSTEUER'-Modul -
die Schnittstelle vom GAUDI zum nachgeordneten Hardware-
Treiber dar.
Der Hardwaretreiber fuer das KAM kann sowohl durch aus-
schliesslichen Aufruf des 'F_ANSTEUER'-Moduls (mit den
entsprechenden, in der Datei 'hw_units_....cnf',
angegebenen Ansteuerunits) bedient werden, als auch
zusaetzlich mit diesem Modul.
Dieses Modul wird nur fuer spezielle Features , die in der
PAV keine Erwaehnung finden (EIN-/ZWEI-Konstanter-Betrieb,
Kaskadierung) benoetigt.
Seine Verwendung ist auf solche PAM's beschraenkt, die mit
neuer Hardware (6278) ausgestattet sind!
Die 6278 verfuegt ueber insgesamt 6 Ausgangskanaele:
ULAST, UBATT 1 - 5
Mit dem 'F_ANSTEUER'-Modul koennen diese gesteuert werden,
benutzt man die Ansteuerunits:
U_KON_ULx,
U_KON_UAx, U_KON_UBx, U_KON_UCx, U_KON_UDx, U_KON_UEx
(mit x = 2, 4)
Vorgehensweise fuer die Nutzung des F_ANSTEUER-Moduls:
- Auswahl der Ansteuer-Unit;
- Vergabe eines Ansteuernamens;
- Vorbelegung der Parameter ANSTEUER_PIN und ANSTEUER_BEZUG
mit den im Adapterfile definierten Bezeichnern;
- Vorbelegung des Parameters ANSTEUER_ART auf ANSTEUER_PAR
- zum Schalten der UBatt-/ULast-Zweige ist im Ansteuerblock
nur noch der Parameter fuer den ANSTEUER_WERT zu belegen,
z.B. mit dem Namen UB (fuer U-Batterie);
zum einfachen Abschalten wird ANSTEUER_WERT mit dem
Minus-Zeichen ('-') belegt;
Zuordnung der Unit-Namen zu den Ausgangs-Pin's:
U_KON_UAx - d18/d24
U_KON_UBx - d28/d30 kompatibel zu KON_UB_x (in SaW)
U_KON_UCx - b18/b24
U_KON_UDx - z28/z30 kompatibel zu KON_UD_x (in SaW)
U_KON_UEx - z18/z24
U_KON_ULx - dbz16/dbz32 kompatibel zu KON_UL_x (in SaW)
Die Zuordnung der Units U_KON_UBx, U_KON_UDx, U_KON_ULx
ist derart gewaehlt, dass sie kompatibel zu den bisher
fuer das aeltere KAM (6267) festgelegten Units sind
Besonderheit:
Der fuenfte UBATT-Zweig (U_KON_UEx) kann verpolt (durch
Vertauschen von PIN und BEZUG im 'F_ANSTEUER'-Modul)
angeschaltet werden. Dann darf jedoch kein weiterer
UBATT-Zweig angeschaltet sein!
Dieses Modul wird mit der Ansteuerunit U_KON_KONFIGx
kontrolliert (vgl. L_KAM_ZUSATZ), welche nicht im Modul
F_ANSTEUER benutzt werden darf!
Beschreibung der Modulparameter:1 PRUEFSCHRITT
GAUDI Pruefschritt
------------------------------2 POSITION
PAV- Position
------------------------------3 ANSTEUER_UNIT
aktueller Unitname (siehe 'hw_units....cnf')
z.Zt. gemaess Uebereinkunft RtW/SaW: U_KON_KONFIG2
U_KON_KONFIG4
------------------------------4 KON_A
A-Eingang des KAM's
hier wird angegeben, welcher der beiden Ausgaenge von
dem hieran angeschlossenen Konstanter versorgt werden
soll;
Prmtr.: UBATT_ULAST (EIN-Konstanter-Betrieb)
ULAST (nur ULAST-Anschaltung oder bei
ZWEI-Konstanter-Betrieb)
UBATT (nur UBATT-Anschaltung)
- (entspricht UBATT_ULAST = Default)
An diesen Eingang wird in der Regel der erste Konstanter
(siehe Datei "hw_units_....cnf") verdrahtet.
------------------------------5 KON_B
B-Eingang des KAM's
hier wird angegeben, welcher der beiden Ausgaenge von
dem hieran angeschlossenen Konstanter versorgt werden
soll;
Prmtr.: UBATT_ULAST (EIN-Konstanter-Betrieb)
ULAST (nur ULAST-Anschaltung bei
ausschliesslicher Versorgung der
ULAST)
UBATT (UBATT-Anschaltung bei ZWEI-
Konstanter-Betrieb)
- (keine Anschaltung = Default)
An diesen Eingang wird in der Regel der zweite
Konstanter (siehe Datei "hw_units_....cnf") verdrahtet.
Wichtig:
Bei ZWEI-Konstanter-Betrieb muss KON_A = ULAST
und KON_B = UBATT sein!
Das bedeutet: der erste Konstanter versorgt nur ULAST
der zweite nur UBATT.
------------------------------6 KON_KASK
Kaskadierung der beiden angeschlossen Konstanter (fuer
hoehere Ausgangsspannungen);
Prmtr.: NEIN (keine Kaskadierung)
JA (Kaskadierung schalten, naeheres siehe
HW-Doku)
- (wie NEIN = Default)
Wichtig:
Kaskadierung ist nur mit zwei angeschlossenen
Konstantern sinnvoll! Entsprechend muessen die
Parameter fuer ZWEI-Konstanter-Betrieb gesetzt sein.
Input:
Output:
none
----------------------------------------------------------
Return Value:
= 0: Successful completion
sonst Fehler
----------------------------------------------------------
Beispiel (optional):
----------------------------------------------------------
<\userdoc>
C4
int l_kam_konfig( shm_stringpointer *zeilen_wert
,long index_on_expPrfLst
,long anzahl_parameter )
{
define lokale Variablen
int ret_val = 0;
int unit_index = -1;
int i;
int schritt;
Modul-Parameter fuer KAM_KONFIG umladen
unit_index = suche_unit_index( *zeilen_wert->ptr[index_on_expPrfLst + ANST_UNIT] );
if ( unit_index >= 0 ) {
i = get_platzmemory( STRING_VERWALTUNG, unit_index, ANZAHL_PARAMETER );
Ssp_pp_verwaltung->unit_ablage[unit_index].put_unit_aenderung(1);
Ssp_pp_verwaltung->string_f[i + 0] = *zeilen_wert->ptr[index_on_expPrfLst + KON_A];
Ssp_pp_verwaltung->string_f[i + 1] = *zeilen_wert->ptr[index_on_expPrfLst + KON_B];
Ssp_pp_verwaltung->string_f[i + 2] = *zeilen_wert->ptr[index_on_expPrfLst + KON_KASK];
debug_message( __FILE__, __LINE__, DEB_GAUDI
,"\nkam_konfig Unit-Index : %d"
"\nkam_konfig Anzahl Parameter : %d"
"\nkam_konfig Pruefschritt : %s"
"\nkam_konfig Pruefposition : %s"
"\nkam_konfig Ansteuer Unit : %s"
"\nkam_konfig KON_A : %s"
"\nkam_konfig KON_B : %s"
"\nkam_konfig KON_KASK : %s\n"
,unit_index
,anzahl_parameter
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + PRUEFSCHRITT]
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + PRUEFPOSITION]
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + ANST_UNIT]
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + KON_A]
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + KON_B]
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + KON_KASK] );
}
else {
ret_val = -1;
}
Pruefprogramm Stepbetrieb
schritt = schrittbetrieb( zeilen_wert, index_on_expPrfLst );
if ( schritt != 1 ) {
ret_val = 0;
}
return( ret_val );
}