[성현모] TRA V2 삭제
This commit is contained in:
186
CPXV2 PTS/References/GaudiCfg/help/module/r_pam2server.html
Normal file
186
CPXV2 PTS/References/GaudiCfg/help/module/r_pam2server.html
Normal file
@ -0,0 +1,186 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>R_PAM2SERVER</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>R_PAM2SERVER</b></font></font>
|
||||
<br> </td>
|
||||
</tr>
|
||||
</table>
|
||||
<PRE>
|
||||
----------------------------------------------------------
|
||||
Funktionsbeschreibung:</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> METHOD</b><pre>
|
||||
AUDIWFS4: Senden der PIN und des KEY zum AUDIWFS4 Server
|
||||
Der Server bucht die Daten in eine Vordatenbank
|
||||
Von da werden diese <20>ber eine Hauptdatenbank zur
|
||||
die AUDI-FAZIT Datenbank gesendet.
|
||||
PIN und KEY k<>nnen mit r_seedkey generiert werden.
|
||||
------------------------------</pre><b><a name="param4">4</a> VERSION</b><pre>
|
||||
Versionsnummer
|
||||
F<>r AUDIWFS4 ist zur Zeit nur 01 implementiert
|
||||
------------------------------</pre><b><a name="param5">5</a> MODE</b><pre>
|
||||
Art der Aktion.
|
||||
SEND: Daten zum Server senden
|
||||
------------------------------</pre><b><a name="param6">6</a> PS_STRING1</b><pre>
|
||||
AUDIWFS4: SN,0 von KUNDDAT
|
||||
------------------------------</pre><b><a name="param7">7</a> PS_STRING2</b><pre>
|
||||
AUDIWFS4: PIN 4 Zeichen Hexstring (2 Bytes)
|
||||
------------------------------</pre><b><a name="param8">8</a> PS_STRING3</b><pre>
|
||||
AUDIWFS3: KEY 14 Zeichen Hexstring (7 Bytes)
|
||||
------------------------------</pre><b><a name="param9">9</a> PS_STRING4</b><pre>
|
||||
AUDIWFS4: Baugruppennummer der Hardware TTNR
|
||||
------------------------------</pre><b><a name="param10">10</a> PS_STRING5</b><pre>
|
||||
AUDIWFS5: Baugruppennummer der Seriennummer
|
||||
------------------------------</pre><b><a name="param11">11</a> PS_STRING6</b><pre>
|
||||
AUDIWFS6: Typteilenummer
|
||||
------------------------------</pre><b><a name="param12">12</a> PS_STRING7</b><pre>
|
||||
AUDIWFS7: Containerkennung
|
||||
------------------------------</pre><b><a name="param13">13</a> PS_STRING8</b><pre>
|
||||
AUDIWFS8: Leer
|
||||
------------------------------</pre><b><a name="param14">14</a> PS_STRING9</b><pre>
|
||||
AUDIWFS9: Leer
|
||||
------------------------------</pre><b><a name="param15">15</a> PS_STRING10</b><pre>
|
||||
AUDIWFS10: Leer
|
||||
------------------------------</pre><b><a name="param16">16</a> R_ERGEBNIS</b><pre>
|
||||
Ergebnis. Kann mit GAUDI-Variable gelesen werden
|
||||
------------------------------</pre><b><a name="param17">17</a> ERRORSTRING</b><pre>
|
||||
Fehlerstring bei Fehler
|
||||
------------------------------</pre><b><a name="param18">18</a> ERRORFLAG</b><pre>
|
||||
:= 0 Kein Fehler
|
||||
:= 1 Fehler
|
||||
|
||||
|
||||
Input: Zeiger auf den relevanten "Wert" einer Zeile der
|
||||
expandierten Pruefliste;
|
||||
Index im entsprechenden Speicherbereich fuer
|
||||
Moduldaten;
|
||||
Anzahl der Modulparameter;
|
||||
|
||||
Output: none
|
||||
|
||||
----------------------------------------------------------
|
||||
Return Value:
|
||||
= 0: Successful completion
|
||||
-1: bei Ueberschreitung der Gesamtlaenge von 80 Zeichen;
|
||||
|
||||
----------------------------------------------------------
|
||||
Beispiel (optional):
|
||||
|
||||
<\userdoc>
|
||||
----------------------------------------------------------
|
||||
C4
|
||||
int r_pam2server( shm_stringpointer *zeilen_wert, long index1, long anzahl_parameter )
|
||||
{
|
||||
static char ident[] = "@(#)$Id: r_pam2server.C,v 1.6 2003/05/19 08:33:48 sgc3sa Exp $";
|
||||
const int par_errstring = 16;
|
||||
const int par_errflag = 17;
|
||||
|
||||
|
||||
Lokale Variablen
|
||||
char auftrag[80]; // auftrag der ueber Messagequeue versendet wird
|
||||
char quittung[80]; // Quittung auf Auftrag
|
||||
unsigned auftrag_len; // Laenge Auftrag String
|
||||
unsigned quittung_len = 80; // Laenge Quittungsstring
|
||||
int error; // return von msg_send_wait
|
||||
long msgstat;
|
||||
long hispnr;
|
||||
long schritt;
|
||||
int revision = 1;
|
||||
|
||||
|
||||
Schrittbetriebshandler
|
||||
schritt = schrittbetrieb(zeilen_wert,index1);
|
||||
if (schritt!=1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
Modulstatus setzen
|
||||
Ssp_ss->progs[G_mypnr].status = 1; // Testdatenladen laeuft
|
||||
|
||||
Revision bestimmen
|
||||
revision = 1;
|
||||
|
||||
// Fehlerflag abfragen
|
||||
if ( Ssp_vi->multi[Ssp_vi->test.multiindex].error != 0 ||
|
||||
Ssp_vi->multi[Ssp_vi->test.multiindex].abbruch != 0 ) {
|
||||
strcpy(Ssp_ss->progs[G_mypnr].result,JOB_RESULT_GOOD);
|
||||
if ( *Ssp_expand_wert->ptr[index1+par_errflag] != "-" )
|
||||
{
|
||||
*Ssp_expand_wert->ptr[index1+par_errflag] = "0";
|
||||
}
|
||||
if ( *Ssp_expand_wert->ptr[index1+par_errstring] != "-" )
|
||||
{
|
||||
STRING hilf2 = "Not executed";
|
||||
*Ssp_expand_wert->ptr[index1+par_errstring] = hilf2;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
Message an seedkey
|
||||
sprintf(auftrag,"INDEX=%d;REVISION=%d;MODUL=PAM2SERVER;", index1, revision );
|
||||
auftrag_len = strlen (auftrag) + 1;
|
||||
error = msg_send_wait (SK_SEEDKEY,
|
||||
auftrag, auftrag_len,-1,200,
|
||||
quittung, &quittung_len,&msgstat,&hispnr);
|
||||
|
||||
Fehlerbehandlung msg_send_wait
|
||||
if (error!=0) {
|
||||
Fehlermeldung
|
||||
// error_message (ERR_ERROR, HEADER, __LINE__, "Fehler Aufruf msg_send_wait" );
|
||||
error_message (ERR_ERROR, HEADER, __LINE__, "Error calling msg_send_wait" );
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
Quittung ausgeben
|
||||
debug_message(__FILE__,__LINE__,2,"r_pam2server> quittung = %s\n", quittung );
|
||||
}
|
||||
Timeout Behandlung
|
||||
if (msgstat & MSG_R_TIMEOUT) {
|
||||
Fehlertext
|
||||
ccl_befehl( Ssp_ss->progs[G_mypnr].result, JOB_RESULT, ERROR, RESULT_MAX );
|
||||
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,JOB_ERRSTR);
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,SEP_GLEICH);
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,"Timeout-SK");
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,SEP_SEMIKOLON);
|
||||
|
||||
return -1; // Timeout --> Fehler
|
||||
}
|
||||
|
||||
|
||||
JOB RESULT
|
||||
if ( strstr(quittung,JOB_RESULT_ERROR) ) {
|
||||
strcpy(Ssp_ss->progs[G_mypnr].result,JOB_RESULT_ERROR);
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,JOB_ERRSTR);
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,SEP_GLEICH);
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,"SK: ");
|
||||
|
||||
char *semi = strchr(quittung,';');
|
||||
|
||||
if ( semi ) {
|
||||
int len = strlen(semi+1);
|
||||
if ( len + 5 + strlen(Ssp_ss->progs[G_mypnr].result) >= RESULT_MAX ) {
|
||||
len = RESULT_MAX - strlen(Ssp_ss->progs[G_mypnr].result) - 6;
|
||||
}
|
||||
strncat(Ssp_ss->progs[G_mypnr].result, semi+1, len );
|
||||
}
|
||||
else {
|
||||
strcat(Ssp_ss->progs[G_mypnr].result, "unknown" );
|
||||
}
|
||||
strcat(Ssp_ss->progs[G_mypnr].result,SEP_SEMIKOLON);
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
</PRE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
Reference in New Issue
Block a user