[성현모] TRA V2 삭제
This commit is contained in:
393
CPXV2 PTS/References/GaudiCfg/help/module/l_kam_zusatz.html
Normal file
393
CPXV2 PTS/References/GaudiCfg/help/module/l_kam_zusatz.html
Normal file
@ -0,0 +1,393 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>L_KAM_ZUSATZ</TITLE>
|
||||
<META NAME="Generator" CONTENT="KDOC ">
|
||||
</HEAD>
|
||||
<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
|
||||
|
||||
<table BORDER=0 COLS=1 WIDTH="100%" BGCOLOR="#FFFFCC" NOSAVE >
|
||||
<tr ALIGN=CENTER VALIGN=CENTER NOSAVE>
|
||||
<td NOSAVE><font face="Arial,Helvetica"><font size=+2></font></font>
|
||||
<br><font face="Arial,Helvetica"><font size=+2>CCS Modul <b>L_KAM_ZUSATZ</b></font></font>
|
||||
<br> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<PRE>
|
||||
----------------------------------------------------------
|
||||
Funktionsbeschreibung:
|
||||
|
||||
Einstellung der fuer Ueberwachung/Messung notwendigen
|
||||
Parameter
|
||||
|
||||
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 (Sensing, Messkanaele),
|
||||
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 werden!
|
||||
|
||||
|
||||
Dieses Modul wird mit der Ansteuerunit U_KON_KONFIGx
|
||||
kontrolliert (vgl. L_KAM_KONFIG), welche nicht im Modul
|
||||
F_ANSTEUER benutzt werden darf.
|
||||
|
||||
Beschreibung der Modulparameter:</pre><b><a name="param1">1</a> PRUEFSCHRITT</b><pre>
|
||||
GAUDI Pruefschritt
|
||||
|
||||
------------------------------</pre><b><a name="param2">2</a> POSITION</b><pre>
|
||||
PAV- Position
|
||||
|
||||
------------------------------</pre><b><a name="param3">3</a> ANSTEUER_UNIT</b><pre>
|
||||
aktueller Unitname (siehe 'hw_units....cnf')
|
||||
z.Zt. gemaess Uebereinkunft RtW/SaW: U_KON_KONFIG2
|
||||
U_KON_KONFIG4
|
||||
|
||||
------------------------------</pre><b><a name="param4">4</a> SENSE_UB_UNIT</b><pre>
|
||||
Anschaltung einer der 5 moeglichen UBATT-SenseLeitungen
|
||||
an einen KonstanterEingang;
|
||||
|
||||
Prmtr.: U_KON_UAx --> d20/d24
|
||||
U_KON_UBx --> b28/b30 (kompatibel zur 6267)
|
||||
U_KON_UCx --> b20/b22
|
||||
U_KON_UDx --> b26/z26
|
||||
U_KON_UEx --> z20/z22
|
||||
INTERN (internes Sensing ohne ext. Anschaltung;
|
||||
ohne Funktion bei 6267)
|
||||
- (=Default, dh. autom. Sensing bei
|
||||
U_KON_UBx, sonst kein Sensing)
|
||||
|
||||
Wichtig:
|
||||
Es wird - auch wenn mit F_ANSTEUER mehrere UBATT-
|
||||
Ausgaenge belegt wurden - stets nur eine SenseLeitung
|
||||
angeschaltet!
|
||||
Die Anschaltung erfolgt auch nur dann, wenn die
|
||||
zugehoerige UBATT-Anschaltung komplett (+/-) erfolgt
|
||||
ist!
|
||||
Bei EIN-Konstanter-Betrieb kann nur auf einem der
|
||||
beiden moeglichen Kanaele (ULAST oder UBATT) ein Sensing
|
||||
durchgefuehrt werden.
|
||||
Bei ZWEI-Konstanter-Betrieb koennen die SenseLeitungen
|
||||
unabhaengig voneinander - sowohl fuer KON_A als auch
|
||||
KON_B - gewaehlt werden.
|
||||
Bei Kaskadierung erfolgt kein automatisches Sensing auf
|
||||
U_KON_UBx!
|
||||
|
||||
Kompatibilitaet zum 6267:
|
||||
Ohne Angabe einer SenseUnit wird bei Auswahl von
|
||||
U_KON_UBx automatisch die entsprechende SenseLeitung
|
||||
angeschaltet (es wird dann eine Fehlermeldung ausgegeben),
|
||||
das gleiche gilt bei Auswahl U_KON_ULx.
|
||||
Werden beide Zweige angeschaltet, erfolgt allerdings
|
||||
nur auf dem UBATT-Zweig ein automatisches Sensing.
|
||||
|
||||
------------------------------</pre><b><a name="param5">5</a> SENSING_UB</b><pre>
|
||||
Auswahl des an KON_A/KON_B angeschlossenen Konstanters,
|
||||
der mit der Senseleitung verbunden werden soll;
|
||||
der hier angegebene Parameter sollte mit dem im
|
||||
Modul "L_KAM_KONFIG" angegebenen Parametern in Einklang
|
||||
stehen:
|
||||
Prmtr.: KON_A (hat dokumentarischen Charakter)
|
||||
KON_B (hat dokumentarischen Charakter)
|
||||
- (=Default)
|
||||
|
||||
Beispiel:
|
||||
L_KAM_KONFIG:
|
||||
KON_A - ULAST
|
||||
KON_B - UBATT
|
||||
L_KAM_ZUSATZ:
|
||||
SENSE_UB_UNIT - U_KON_UAx
|
||||
SENSING_UB - KON_B
|
||||
|
||||
------------------------------</pre><b><a name="param6">6</a> SENSE_UL_UNIT</b><pre>
|
||||
Anschaltung der ULAST-SenseLeitung an den entspr.
|
||||
KonstanterEingang;
|
||||
|
||||
Prmtr.: U_KON_ULx --> dbz16/dbz32 (kompatibel zur 6267)
|
||||
INTERN (internes Sensing ohne ext. Anschaltung;
|
||||
ohne Funktion bei 6267)
|
||||
- (=Default, dh. autom. Sensing, wenn
|
||||
U_KON_UBx nicht benutzt wird)
|
||||
|
||||
Wichtig:
|
||||
Die Anschaltung erfolgt auch nur dann, wenn die
|
||||
zugehoerige ULAST-Anschaltung komplett (+/-) erfolgt
|
||||
ist!
|
||||
Bei EIN-Konstanter-Betrieb kann nur auf einem der
|
||||
beiden moeglichen Kanaele (ULAST oder UBATT) ein Sensing
|
||||
durchgefuehrt werden.
|
||||
Bei ZWEI-Konstanter-Betrieb koennen die SenseLeitungen
|
||||
unabhaengig voneinander - sowohl fuer KON_A als auch
|
||||
KON_B - gewaehlt werden.
|
||||
Bei Kaskadierung erfolgt kein automatisches Sensing auf
|
||||
U_KON_ULx!
|
||||
|
||||
Kompatibilitaet zum 6267:
|
||||
Ohne Angabe einer SenseUnit wird bei Auswahl von
|
||||
U_KON_ULx (und ohne Benutzung von U_KON_UBx) automatisch
|
||||
die entsprechende SenseLeitung angeschaltet; ein Eintrag
|
||||
an dieser Stelle erzeugt in diesem Fall eine Fehlermeldung.
|
||||
|
||||
------------------------------</pre><b><a name="param7">7</a> SENSING_UL</b><pre>
|
||||
Auswahl des an KON_A/KON_B angeschlossenen Konstanters,
|
||||
der mit der Senseleitung verbunden werden soll;
|
||||
(siehe "L_KAM_KONFIG")
|
||||
der hier angegebene Parameter sollte mit dem im
|
||||
Modul "L_KAM_KONFIG" angegebenen Parametern in Einklang
|
||||
stehen:
|
||||
Prmtr.: KON_A (hat dokumentarischen Charakter)
|
||||
KON_B (hat dokumentarischen Charakter)
|
||||
- (=Default)
|
||||
|
||||
Beispiel:
|
||||
L_KAM_KONFIG:
|
||||
KON_A - ULAST
|
||||
KON_B - UBATT
|
||||
L_KAM_ZUSATZ:
|
||||
SENSE_UB_UNIT - U_KON_ULx
|
||||
SENSING_UB - KON_A
|
||||
|
||||
------------------------------</pre><b><a name="param8">8</a> MESS_UNIT</b><pre>
|
||||
Auswahl eines der 5 moeglichen UBATT-Zweige fuer eine
|
||||
Strom- oder Spannungsmessung (nur U_KON_UEx);
|
||||
|
||||
Prmtr.: U_KON_UAx, U_KON_UBx, U_KON_UCx, U_KON_UDx,
|
||||
U_KON_UEx
|
||||
- (=Default, keine Messung)
|
||||
|
||||
------------------------------</pre><b><a name="param9">9</a> MESS_KANAL</b><pre>
|
||||
Auswahl eines der moeglichen Messkanaele;
|
||||
Prmtr.: MESSKA_A (Strommesskanal: d10/b10)
|
||||
MESSKA_AB (Spannungs- und Strommessung
|
||||
ausschliesslich fuer U_KON_UEx)
|
||||
MESSKA_B (Spannungsmesskanal ausschliesslich
|
||||
fuer U_KON_UEx: z10/d12)
|
||||
MESSKA_BC (Spannungs- und Strommessung
|
||||
ausschliesslich fuer U_KON_UEx)
|
||||
MESSKA_C (Strommesskanal: b12/z12)
|
||||
- (=Default, kein Messkanal)
|
||||
Wichtig:
|
||||
Eine Messanschaltung wird nur fuer einen komplett
|
||||
angeschalten UBATT-Zweig ausgefuehrt!
|
||||
|
||||
------------------------------</pre><b><a name="param10">10</a> STROMMESS_R</b><pre>
|
||||
Auswahl eines der moeglichen Shunt-Widerstaende:
|
||||
0.1 / 1.0 / 10.0 / 100.0 / 1000.0 / 1K
|
||||
(die Einheit ist jeweils Ohm)
|
||||
- (=Default, kein MessShunt)
|
||||
|
||||
Kompatibilitaet zum 6267:
|
||||
Diese Hardware unterstuetzt nur die Widerstaende 0.1
|
||||
und 10 Ohm.
|
||||
|
||||
------------------------------</pre><b><a name="param11">11</a> ANSCHALTUNG</b><pre>
|
||||
Auswahl von UBATT-Anschaltungsmodi des KAM's:
|
||||
die Hardware ermoeglicht die alleinige Anschaltung
|
||||
saemtlicher Pfade ohne ein tatsaechliches
|
||||
Durchschalten (dh. ohne Relais K41/RQZ) der UBATT
|
||||
(Prmtr. ==> PFAD);
|
||||
in einem weiteren Aufruf dieses Moduls kann dann -
|
||||
unter Einsparung zeitintensiver Ablaeufe - die
|
||||
vollstaendige Anschaltung erzielt werden
|
||||
(Prmtr. ==> SCHNELL);
|
||||
desweiteren kann eine - etwas langsamere -
|
||||
vollstaendige Anschaltung unmittelbar gewaehlt
|
||||
werden (Prmtr. ==> KOMPLETT);
|
||||
|
||||
Prmtr.: PFAD (nur Pfade schalten bis auf RQZ/K41;
|
||||
hiermit wird die Anschaltung also
|
||||
vorbereitet;)
|
||||
SCHNELL (Schnellanschaltung unter Umgehung
|
||||
interner Ablaeufe - bedingt einen
|
||||
erneuten Aufruf dieses Moduls mit
|
||||
denselben sonstigen Parametern und
|
||||
ein erneutes E_OUT)
|
||||
KOMPLETT (komplette Anschaltung unter
|
||||
Beruecksichtigung der Reihenfolge der
|
||||
entsprechenden Relaisanschaltungen und
|
||||
daher langsamer)
|
||||
- (=Default, wie KOMPLETT)
|
||||
|
||||
Kompatibilitaet zum 6267:
|
||||
Hat fuer die 6267 keine Bedeutung.
|
||||
|
||||
Input:
|
||||
|
||||
Output:
|
||||
none
|
||||
|
||||
----------------------------------------------------------
|
||||
Return Value:
|
||||
= 0: Successful completion
|
||||
sonst Fehler
|
||||
----------------------------------------------------------
|
||||
Beispiel (optional):
|
||||
|
||||
----------------------------------------------------------
|
||||
<\userdoc>
|
||||
C4
|
||||
int l_kam_zusatz( 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_ZUSATZ 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 + 3] = *zeilen_wert->ptr[index_on_expPrfLst + SENSE_UB_UNIT];
|
||||
Ssp_pp_verwaltung->string_f[i + 4] = *zeilen_wert->ptr[index_on_expPrfLst + SENSING_UB];
|
||||
Ssp_pp_verwaltung->string_f[i + 5] = *zeilen_wert->ptr[index_on_expPrfLst + SENSE_UL_UNIT];
|
||||
Ssp_pp_verwaltung->string_f[i + 6] = *zeilen_wert->ptr[index_on_expPrfLst + SENSING_UL];
|
||||
Ssp_pp_verwaltung->string_f[i + 7] = *zeilen_wert->ptr[index_on_expPrfLst + MESS_UNIT];
|
||||
Ssp_pp_verwaltung->string_f[i + 8] = *zeilen_wert->ptr[index_on_expPrfLst + MESS_KANAL];
|
||||
Ssp_pp_verwaltung->string_f[i + 9] = *zeilen_wert->ptr[index_on_expPrfLst + STROMMESS_R];
|
||||
Ssp_pp_verwaltung->string_f[i + 10]= *zeilen_wert->ptr[index_on_expPrfLst + ANSCHALTUNG];
|
||||
|
||||
debug_message( __FILE__, __LINE__, DEB_GAUDI
|
||||
,"\nkam_zusatz Unit-Index : %d"
|
||||
"\nkam_zusatz Anzahl Parameter : %d"
|
||||
"\nkam_zusatz Pruefschritt : %s"
|
||||
"\nkam_zusatz Pruefposition : %s"
|
||||
"\nkam_zusatz Ansteuer Unit : %s"
|
||||
"\nkam_zusatz SENSE_UB_UNIT : %s"
|
||||
"\nkam_zusatz SENSING_UB : %s"
|
||||
"\nkam_zusatz SENSE_UL_UNIT : %s"
|
||||
"\nkam_zusatz SENSING_UL : %s"
|
||||
"\nkam_zusatz MESS_UNIT : %s"
|
||||
"\nkam_zusatz MESS_KANAL : %s"
|
||||
"\nkam_zusatz STROMMESS_R : %s"
|
||||
"\nkam_zusatz ANSCHALTUNG : %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 + SENSE_UB_UNIT]
|
||||
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + SENSING_UB]
|
||||
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + SENSE_UL_UNIT]
|
||||
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + SENSING_UL]
|
||||
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + MESS_UNIT]
|
||||
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + MESS_KANAL]
|
||||
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + STROMMESS_R]
|
||||
,(const char*) *zeilen_wert->ptr[index_on_expPrfLst + ANSCHALTUNG]
|
||||
);
|
||||
|
||||
|
||||
nicht initialisierte Felder belegen:
|
||||
if ( (Ssp_pp_verwaltung->string_f[i + 0] == "UBATT_ULAST")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 0] == "ULAST")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 0] == "UBATT")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 0] == "-") ) {
|
||||
;
|
||||
|
||||
}
|
||||
else {
|
||||
debug_message( __FILE__, __LINE__, DEB_GAUDI
|
||||
,"Feld 'KON_A' von 'L_KAM_KONFIG' nicht initialisiert" );
|
||||
|
||||
Ssp_pp_verwaltung->string_f[i + 0] = "-";
|
||||
|
||||
}
|
||||
if ( (Ssp_pp_verwaltung->string_f[i + 1] == "UBATT_ULAST")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 1] == "ULAST")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 1] == "UBATT")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 1] == "-") ) {
|
||||
;
|
||||
|
||||
}
|
||||
else {
|
||||
debug_message( __FILE__, __LINE__, DEB_GAUDI
|
||||
,"Feld 'KON_B' von 'L_KAM_KONFIG' nicht initialisiert" );
|
||||
|
||||
Ssp_pp_verwaltung->string_f[i + 1] = "-";
|
||||
|
||||
}
|
||||
if ( (Ssp_pp_verwaltung->string_f[i + 2] == "NEIN")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 2] == "JA")
|
||||
|| (Ssp_pp_verwaltung->string_f[i + 2] == "-") ) {
|
||||
;
|
||||
|
||||
}
|
||||
else {
|
||||
debug_message( __FILE__, __LINE__, DEB_GAUDI
|
||||
,"Feld 'KON_KASK' von 'L_KAM_KONFIG' nicht initialisiert" );
|
||||
|
||||
Ssp_pp_verwaltung->string_f[i + 2] = "-";
|
||||
|
||||
}
|
||||
}
|
||||
else {
|
||||
ret_val = -1;
|
||||
|
||||
}
|
||||
|
||||
Pruefprogramm Stepbetrieb
|
||||
schritt = schrittbetrieb( zeilen_wert, index_on_expPrfLst );
|
||||
|
||||
if ( schritt != 1 ) {
|
||||
ret_val = 0;
|
||||
|
||||
}
|
||||
return( ret_val );
|
||||
|
||||
}
|
||||
</PRE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
Reference in New Issue
Block a user