|
CCS Modul S_PFK2 |
$Id: s_pfk2.C,v 1.12 2005/12/02 15:08:41 krf3rt Exp $ --------------------------------------------------------------------- Kurzbeschreibung: Routine zur Ermittlung der Prueffortschrittskennung --------------------------------------------------------------------- Projekt: CCS Sourcefile: s_pfk2.C Autor: RtW2/TEF72-Keppler (17.03.2003) Zielsystem: HP9000/V743 (HP-RT 3.01), /7/C/D (HP-UX 10.20),Linux Sprache: C++ --------------------------------------------------------------------- Prototype: MPI Schnittstelle void s_pfk2(shm_stringpointer *zeilen_info ,shm_stringpointer *zeilen_wert ,long index1 ,long anzahl) --------------------------------------------------------------------- Aufruf: im Vectorinterpreter (*funktionen[modulnummer]) (Ssp_expand_zeile ,Ssp_expand_wert ,p_verwaltung->begin_modulblock ,p_verwaltung->anzahl_modulparameter); --------------------------------------------------------------------- --------------------------------------------------------------------- Funktionsbeschreibung: Dieses Modul dient zur Erzeugung der Daten für die Prüfvortschrittskennung. Siehe hierzu auch im Modul s_pfk. Dieses Modul arbeitet wie s_pfk, jedoch kann im Konfigfile pfk_konvert2.cnf Produktabhängig die Beziehung zwischen dem Prueftyp und dem Standtyp definiert werden. Außerdem können 16 Prüftore definiert werden und die Reihenfolge der Bits gehorcht der Reihenfolge wie die Prüftore in pfk_konvert2.cnf definiert sind. Der Standtyp wird im shm_init_<ccsxxxx>_...cnf festgelegt. Der Prueftyp ist der Typ der Pruefliste. z.B. GASU/11/12345678980 -> Prueftyp=SU Die Reihenfolge der Abzuarbeitenden Pruefungen wird im Modul s_pfkconfig2 festgelegt. Hier ist der Prueftyp in der Reihenfolge einzutragen, in der die Pruefungen erfolgen sollen. Beschreibung der Moduluebergabeparameter:1 PRUEFSCHRITT
GAUDI Pruefschritt ------------------------------2 POSITION
PAV- Position ------------------------------3 MODUS
START Wird eingetragen wenn das Modul am Anfang des Pruef- programmes aufgerufen wird. Es werden die unten beschriebenen Zaehler hochgezaehlt und die entsprechenden Aktionen durchgefuehrt. STOP Wird eingetragen wenn das Modul am Ende des Pruef- programmes aufgerufen wird. Es werden die unten beschriebenen Aktionen ausgefuehrt4 PFKBYTE_IN1
Eingabe des aus dem SG ausgelesenen PFK-Bytes 1 (PFK-Byte)5 PFKBYTE_IN2
Eingabe des aus dem SG ausgelesenen PFK-Bytes 2 (PFK-Byte)6 PFKBYTE_IN3
Eingabe des aus dem SG ausgelesenen PFK-Bytes 3 (Zaehler)7 PFKBYTE_IN4
Eingabe des aus dem SG ausgelesenen PFK-Bytes 4 (Zaehler)8 PFKBYTE_IN5
Eingabe des aus dem SG ausgelesenen PFK-Bytes 5 (Zaehler)9 PFKBYTE_IN6
Eingabe des aus dem SG ausgelesenen PFK-Bytes 6 (Zaehler)10 PFKBYTE_IN7
Eingabe des aus dem SG ausgelesenen PFK-Bytes 7 (Zaehler)11 PFKBYTE_IN8
Eingabe des aus dem SG ausgelesenen PFK-Bytes 8 (Zaehler)12 PFKBYTE_IN9
Eingabe des aus dem SG ausgelesenen PFK-Bytes 9 (Zaehler)13 PFKBYTE_IN10
Eingabe des aus dem SG ausgelesenen PFK-Bytes 10(Zaehler)
Bemerkung: Das Eingabeformat ist CCS-ueblich in INT (zur Basis 10)
Modulrueckgabeparameter14 PFKBYTE_OUT1Rueckgabe des errechneten PFK-Bytes 1 (PFK-Byte)15 PFKBYTE_OUT2
Rueckgabe des errechneten PFK-Bytes 2 (PFK-Byte)16 PFKBYTE_OUT3
Rueckgabe des errechneten PFK-Bytes 3 (Zaehler)17 PFKBYTE_OUT4
Rueckgabe des errechneten PFK-Bytes 4 (Zaehler)18 PFKBYTE_OUT5
Rueckgabe des errechneten PFK-Bytes 5 (Zaehler)19 PFKBYTE_OUT6
Rueckgabe des errechneten PFK-Bytes 6 (Zaehler)20 PFKBYTE_OUT7
Rueckgabe des errechneten PFK-Bytes 7 (Zaehler)21 PFKBYTE_OUT8
Rueckgabe des errechneten PFK-Bytes 8 (Zaehler)22 PFKBYTE_OUT9
Rueckgabe des errechneten PFK-Bytes 9 (Zaehler)23 PFKBYTE_OUT10
Rueckgabe des errechneten PFK-Bytes 10 (Zaehler)
Bemerkung: Das Rueckgabeformat ist ein String mit den Byte als
Hexwerte (z.B. F8) immer 2 Zeichen.24 FEHLERFLAGWird != 0 gesetzt wenn im Modul ein Fehler aufgetreten ist.25 ERGEBNIS
Rueckgabe eines Ergebnisstrings (OK- oder Fehlermelung)
---------------------------------------------------------------------------------
------------- Beschreibung von Byte 1 und Byte 2. -------------
Es sind also 16 Prüftypen (Prüftore) möglich.
Die Reihenfolge der Prüftypen unten ist nur ein Beispiel von Byte 1. Die Reihenfolge ergibt sich aus
der Reihenfolge im Konfigurationsfile pfk_konvert2.cnf fuer das jeweilige Produkt.
PFK-Definition Bit 7 6 5 4 3 2 1 0
ICT IC 1 1 1 1 1 1 1 0
Flashen PF 1 1 1 1 1 1 0 1
Funktionspruefung AB 1 1 1 1 1 0 1 1
TT TT 1 1 1 1 0 1 1 1
HT HT 1 1 1 0 1 1 1 1
EP nach IRI EP 1 1 0 1 1 1 1 1
Reparaturplatzflag Rp 1 0 1 1 1 1 1 1
Run-in IR 0 1 1 1 1 1 1 1
-------- Reihenfolge der zugehörigen Prueftorzaehler. ---------------
Die Prueftorzaehler zu obigem Beispiel der PFK-Bits ist.
Zaehler zu IC = Lownibbel von PFKBYTE_OUT3 bzw. PFKBYTE_IN3
Zaehler zu PF = Highnibble von PFKBYTE_OUT3 bzw. PFKBYTE_IN3
etc.
----------------------------------------------------------------------------------
Umsetzung fuer ACC
siehe gesonderte Doku im Intranet.
Beschreibung:
PFK-Modul
Das PFK-Modul verwaltet die fuer SG2000 definierten 5 PFK-Bytes . Im ersten Byte sind in den einzelnen Bits die durchlaufenen
Prueftore abgebildet. Die folgenden 4 Bytes sind jeweils unterteilt in insgesamt 8 Halbbytes. In diesen Halbbytes werden Zähler
dargestellt (s. o.). Je nach Betriebszustand werden beim Durchlaufen des Moduls ein Bit im PFK-Byte und 1 Zahler geändert.
Das Modul enthält ausschließlich die Aufbereitung der PFK-Bytes. Die Kommunikation ( PFK lesen und schreiben) ist
prueflingsindividuell und wird vor und nach dem Modul mit bestehenden Kommunikationsmodulen realisiert.
Konfigurationsmodul
Im Konfigurationsmodul werden die Prueftore, die das Erzeugnis zu durchlaufen hat definiert und den PFK-Bits zugeordnet.
Stichproben:
Es wird von einer Stichprobenprüfung ausgegangen, wenn Standtyp != Prueftyp ist. Dann wird der
Prueftorzaehler incrementiert. Es wird allerdings nicht die Vorgeschichte überprüft.
Die Stichproben, die vorkommen koennen muessen im s_pfkconfig eingetragen sein.
Implementierung im Pruefprogramm:
das Konfigurationsmodul und das PFK-Modul im Modus "Start" wird in der Pruefliste mit der
erforderlichen Kommunikation am Listen-Anfang aufgerufen.
Am Ende der Pruefliste wird das PFK-Modul mit den notwendigen Kommunikationsmodulen im Modus Stop aufgerufen
Um keine Informationen zu verlieren, ist sowohl bei "Start" als auch bei "Stop" ein Beschreiben des EEProms mit
PFK-Informationen angebracht