333 lines
13 KiB
HTML
333 lines
13 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<TITLE>Q_AUFTRAG</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>Q_AUFTRAG</b></font></font>
|
|
<br> </td>
|
|
</tr>
|
|
</table>
|
|
<PRE>
|
|
$Id: q_auftrag.C,v 1.16 2005/09/09 09:25:44 scl3an Exp $
|
|
---------------------------------------------------------------------
|
|
Kurzbeschreibung: Auftrag an die PSS senden.
|
|
---------------------------------------------------------------------
|
|
Projekt: CCS
|
|
Sourcefile: q_auftrag.C
|
|
Autor: RtW/TEF72-Schneider (02.04.96)
|
|
Zielsystem: HP9000/V743 (HP-RT 2.0x), /Sxxx (HP-UX 9.0x)
|
|
Sprache: C++
|
|
---------------------------------------------------------------------
|
|
Prototyp:
|
|
MPI Schnittstelle
|
|
void p_init(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 Auftragsvergabe an die PSS. Hiermit koennen beliebige
|
|
Strings an die PSS bzw. an das SG gesendet werden. Die Auswertung der
|
|
Antwort erfolgt nicht in diesem Modul. Die Antwort wird im shared Memory
|
|
abgelegt und kann dort z.B. vom Modul p_zerlege_string geholt und
|
|
verarbeitet werden.
|
|
|
|
Beschreibung der Moduluebergabeparameter:</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> BEFEHL</b><pre> Steuerbefehl fuer die PSS
|
|
Diese Befehle gelten auch fuer die SKM, falls dies
|
|
explizit vermerkt ist.
|
|
BEDIENBLOCK: Der Block mit dem die Kommunikation mir dem SG
|
|
aufrechterhalten werden soll, kann hier der PSS
|
|
mitgeteilt werden. Dieser Befehl muss nach Initialisierung
|
|
der Schnittstelle und vor dem Reizen des SG erfolgen.
|
|
Unterstuetzt bei:
|
|
KP2000
|
|
BLOCK
|
|
BUILD_CS: Dieser Befehl bildet eine Checksumme ueber den im Parameter
|
|
Daten angegebenen Datenbereich.
|
|
Stringaufbau im Parameter DATUM:
|
|
Anfangsadresse = 00..FF
|
|
Endadresse = 00..FF
|
|
Unterstuetzt bei:
|
|
EEPROM
|
|
COMBLOCK: Kommunikation mit dem SG. Es wird ein Block
|
|
zum SG gesendet und auf die Antwort vom SG
|
|
gewartet. Die Antwort vom SG wird zum Host
|
|
weitergeleitet.
|
|
Der zum SG zu sendende Block ist im Parameter
|
|
DATUM einzutragen.
|
|
Unterstuetzt bei:
|
|
KP2000
|
|
DDS
|
|
JECS: PS-Befehl
|
|
EASY
|
|
K71
|
|
BLOCK
|
|
COMBLOCK_MAD: Wie COMBLOCK, jedoch wird nach Empfang der Botschaft
|
|
das Senden des SG gestoppt.
|
|
Unterstuetzt bei:
|
|
JECS: MAD-Kommando
|
|
DLM_NACHLADEN: Mit diesem Befehl wird das Downloadmodul aus dem
|
|
(nur SKM) pcc-File zum SG geladen.
|
|
Unterstuetzt bei: (nur SKM)
|
|
Prokist
|
|
DREZAHLF_AN: Mit diesem Befehl wird Frequenz fuer die Drehzahlfuehler der
|
|
ABS-Geraete angeschaltet. Es werden 4 Frequenzen benoetigt.
|
|
Eingabe in DATUM:
|
|
2450\\3400\\2450\\4000\\ in HEX xxxx Hz
|
|
z.B.: 2450H => 9296 Hz
|
|
Unterstuetzt bei: (nur SKM)
|
|
alle Protokolle
|
|
DREZAHLF_AUS: Die Drehzahlfuehler werden abgeschaltet.
|
|
Unterstuetzt bei: (nur SKM)
|
|
alle Protokolle
|
|
EMPFANG_SG: Die Schnittstelle wird auf Hoeren geschaltet. Es muss
|
|
innerhalb der Timeoutzeit eine Botschaft vom SG
|
|
empfangen werden, sonst erfolgt eine Fehlermeldung.
|
|
ACHTUNG:
|
|
Ein Schalten der Kommunikationsleitung auf High, waehrend
|
|
die Schnittstelle auf Hoeren geschaltet ist, fuehrt zu
|
|
falschen (sinnlosen) empfangenen Botschaften und ist
|
|
daher nicht moeglich.
|
|
Unterstuetzt bei:
|
|
DDS
|
|
EASY
|
|
K71
|
|
FLASH_PROG: Mit diesem Befehl kann eine Flashprogrammierung durch-
|
|
gefuehrt werden. In der Vatiablen DATUM sind die
|
|
notwendigen Informationen an die PSS einzutragen.
|
|
(Siehe auch PSS-Doku.) Ist das zu programmierende File
|
|
der PSS nicht bekannt, so wird dies hier automatisch
|
|
geladen, und dann die Programmierung durchgefuehrt.
|
|
Beispielstring in DATUM:
|
|
AA||<filename>||MM||LL||OOOOOO||NNNNNN||
|
|
|
|
MM = Modus:
|
|
00 => Die Laenge LL ist die relev. Datenlaenge fuer die
|
|
Bloecke zum SG
|
|
01 => Die Laenge zum SG steht im File
|
|
02 => Es wird mit Offset und Laenge zugegriffen
|
|
Die Laenge LL ist die relev. Datenlaenge fuer die
|
|
Bloecke zum SG
|
|
03 => Es wird mit Offset und Laenge zugegriffen
|
|
Die Laenge zum SG steht im File
|
|
LL =Laenge: Laenge des Blocks zum SG. (0..FF)
|
|
Bei Modus 02 oder 03: OOOOOO und NNNNNN
|
|
OOOOOO=Offset: Offset mit dem auf das File zugegriffen
|
|
werden soll
|
|
NNNNNN=Laenge: Zu programmierende Laenge in Byte
|
|
|
|
Unterstuetzt bei:
|
|
Alle Protokolle
|
|
FLASH_ANTW_EIN: Mit diesem Befehl kann die Antwort, die vom SG bei der
|
|
Flashprogrammierung erwartet wird, eingestellt werden.
|
|
Mit Setzen des Initparameters 0x80 = FLASH_SG_ANTW = 02
|
|
wird die Antwort des SG dann mit dieser Botschaft auf
|
|
Uebereinstimmung verglichen (nur die Nutzdaten einschl.
|
|
Blocktitel).
|
|
Unterstuetzt bei: (SKM)
|
|
Alle Protokolle
|
|
FLASH_PROG_PAR: Wie FLASH_PROG, jedoch koennen hier im Zusammenhang mit
|
|
PARA3 = L mehrere PSS'n nacheinander dazu veranlasst
|
|
werden, einen Flashdatensatz zum SG zu programmieren.
|
|
Die Antwort OK wird zurueckgegeben bevor die Flash-
|
|
programmierung erfolgt.
|
|
Die Antwort fuer die Richtigkeit der Programmierung
|
|
kann spaeter mit einem erneuten Modulaufruf
|
|
geholt werden, indem PARA3 = G gesetzt wird.
|
|
Bevor eine andere PSS angesprochen wird, muss zuerst die
|
|
Adresse mit dem Modul P_STEUER geaendert werden.
|
|
Unterstuetzt bei:
|
|
Alle Protokolle
|
|
INIT_PRUEFUNG: Hiermit wird initialisiert, ob
|
|
(nur SKM) E = Endpruefung
|
|
Z = Zwischenpruefung oder
|
|
P = Programmierung des SG
|
|
gewuenscht wird. Das Zeichen E/Z/P muss unter Datum
|
|
eingetragen werden.
|
|
Unterstuetzt bei: (nur SKM)
|
|
Prokist
|
|
KOMM_ENDE: Hiermit beendet die Schnittstelle die Kommunikation mit
|
|
dem SG. D.h., dass eine Bedienung der Schnittstelle nicht
|
|
mehr erfolgt.
|
|
Wird dieser Befehl vor Abschalten des SG nicht an die
|
|
Schnittstelle gegeben, so wird ein Timeout abgewartet,
|
|
und die Pruefung verzoegert sich entsprechend.
|
|
Unterstuetzt bei:
|
|
Alle Protokolle
|
|
PRUEFMODUL: Mit diesem Befehl wird die SKM veranlasst eine Pruef-
|
|
(nur SKM) sequenz aus dem pms-File abzuarbeiten.
|
|
Das entsprechende Label muss im Parameter DATUM angegeben
|
|
werden. (Z.B. LABEL_55)
|
|
Dieses Label muss selbstverstaendlich im pms-File
|
|
wiederzufinden sein.
|
|
Unterstuetzt bei: (nur SKM)
|
|
Prokist
|
|
READ_EEPROM: Dieser Befehl liest aus einem EEPROM die Daten eines
|
|
Adressbereiches von Anfangsadresse bis Endadresse aus.
|
|
Aufbau des Datenstrings:
|
|
Anfangsadresse = 00..FF
|
|
Endadresse = 00..FF
|
|
Unterstuetzt bei:
|
|
EEPROM
|
|
REIZEN: Reizen des SG.
|
|
Unterstuetzt bei:
|
|
KP2000: (5-Baud Reizung)
|
|
JECS
|
|
REIZ_MA: Reizen des SG mit Massetastung.
|
|
Nach Massetastung meldet sich das SG. Die PSS empfaengt
|
|
die Meldung, und gibt an den Host ein OK zurueck.
|
|
Unterstuetzt bei:
|
|
KP2000
|
|
DDS
|
|
K71
|
|
REIZ_MA_E3: Reizen des SG mit Massetastung.
|
|
Nach Massetastung meldet sich das SG. Die PSS/SKM empfaengt
|
|
die Meldung, und gibt sie an den Host weiter.
|
|
Bei Fehler SG_ANTWORTET_NICHT wird als Status OK zurueck
|
|
gegeben.
|
|
Als Daten wird E3E3E3 an den Host zurueck gegeben.
|
|
Unterstuetzt bei:
|
|
KP2000
|
|
REIZ_PO_KEY: Reizen des SG durch Power On (einschalten UBATT).
|
|
Nach Power On meldet sich das SG mit den Key Bytes.
|
|
Die Schnittstelle empfaengt die Meldung und den darauf folgenden
|
|
Acknowledge Block und gibt dann dem Host ein OK zurueck.
|
|
Unterstuetzt bei:
|
|
K71
|
|
RELAIS_CLOSE: Die bei der Initialisierung eingeschalteten Relais koennen
|
|
hier nach einem RELAIS_OPEN wieder geschlossen werden.
|
|
Unterstuetzt bei:
|
|
Alle Protokolle
|
|
RELAIS_OPEN: Die bei der Initialisierung eingeschalteten Relais koennen
|
|
hier geoeffnet werden.
|
|
Unterstuetzt bei:
|
|
Alle Protokolle
|
|
RESET: Es wird ein Reset auf die Schnittstellenkarte ausgegeben.
|
|
Alle Protokolle (SKM noch nicht)
|
|
RESETTEST: Reset-Test fuer das DDS-SG.
|
|
Es wird eine Botschaft zum SG gesendet, und es darf
|
|
keine Antwort zurueckkommen. Dann ist dieser Test OK.
|
|
Unterstuetzt bei:
|
|
DDS
|
|
RETURN: Ruecksprung aus Protokoll ohne die Initialisierungs-
|
|
parameter zu aendern.
|
|
Unterstuetzt bei: (nur SKM)
|
|
Alle Protokolle
|
|
SEED_KEY: Seed and Key Verfahren fuer EDC 15 C. Es werden hierbei 2
|
|
Kommunikationen mit dem SG aufgenommen, die im
|
|
DATUM eingetragen werden muessen.
|
|
B1B1B1B1...||MM||B2B2BK0K1K2K3B2B2....||
|
|
B1 = Botschaft 1
|
|
B2 = Botschaft 2
|
|
K0 - Kn = Platzhalter fuer Key
|
|
MM = Mode : 02 = EDC15 C (Access - Mode aus Botschaft B1)
|
|
03 = (Access - Mode aus INIT-Feld 0xE0)
|
|
Unterstuetzt bei:
|
|
Alle Protokolle
|
|
SEND_SG: Die eingegebene Botschaft wird an das SG gesendet. Es
|
|
wird nicht auf eine Antwort gewartet. Die Schnittstelle
|
|
liefert sofort ein OK zurueck.
|
|
Unterstuetzt bei:
|
|
K71
|
|
BLOCK
|
|
STOP_SG_SEND: Hiermit wird das SG veranlasst, das dauernde Senden
|
|
einzustellen.
|
|
Unterstuetzt bei:
|
|
JECS
|
|
TIMEOUT_PSS:
|
|
Hiermit kann der Timeout der PSS gesetzt werden.
|
|
(Eintrag in ms, 1...640000ms)
|
|
TIMEOUT_SKM:
|
|
Hiermit kann der Timeout der PSS gesetzt werden.
|
|
(Eintrag in ms, 1...640000ms)
|
|
TRIG_SGEMPF_ON: Einschalten des Triggers bei Empfang vom SG.
|
|
Achtung nur als Gate-Funktion zu verwenden.
|
|
Triggerline unter DATUM eintragen:
|
|
Unterstuetzt bei SKM:
|
|
EASY
|
|
TRIG_SGEMPF_OF: Abschalten des Triggers bei Empfang vom SG.
|
|
noch nicht implementiert !!
|
|
WEGFAHRSPERRE: Hiermit wird die Wegfahrsperre im SG geloest.
|
|
Unterstuetzt bei:
|
|
JECS
|
|
WEGFAHR_LESE: Hiermit wird das Wegfahrsperrenbyte vom SG gelesen.
|
|
Unterstuetzt bei:
|
|
JECS
|
|
WRITE_EEPROM: Dieser Befehl beschreibt ein EEPROM mit den im String DATUM
|
|
stehenden Daten, ab der Anfangsadresse.
|
|
Aufbau des Datenstrings:
|
|
Anfangsadresse = 00..FF
|
|
Datum 1 = 00..FF (highbyte)
|
|
Datum 1 = 00..FF (lowbyte)
|
|
Datum n = 00..FF (highbyte)
|
|
Datum n = 00..FF (lowbyte)
|
|
Unterstuetzt bei:
|
|
EEPROM
|
|
WRITE_ENABLE: Dieser Befehl schaltet das Eeprom in den Zustand, dass
|
|
es beschrieben werden kann.
|
|
Unterstuetzt bei:
|
|
EEPROM
|
|
WRITE_DISABLE: Dieser Befehl schaltet das Eeprom in den Zustand, dass
|
|
das Beschreiben verboten wird.
|
|
Unterstuetzt bei:
|
|
EEPROM
|
|
BEFEHLxx: Mit diesem Schluesselwort kann jeder beliebige Befehl an
|
|
die Schnittststelle gegeben werden.
|
|
Syntax:
|
|
BEFEHLXX wobei XX fuer den Hex-Code des entsprechenden
|
|
Befehls steht. Der Hex-Code zum jeweiligen Befehl
|
|
kann der Doku der Schnittstelle entnommen werden.
|
|
Vor den Datenstring wird hier noch eine Stringlaenge
|
|
fuer das Protokoll gehaengt.
|
|
COMMANDxx: Wie BEFEHLxx, jedoch wird keine Laenge vor den Daten-
|
|
string gehaengt.</pre><b><a name="param4">4</a> DATUM</b><pre> Hier ist der String zur PSS bzw. zum SG einzutragen.
|
|
Blocklaenge und Checksumme fuer die jeweiligen Protokolle
|
|
ermittelt die Software hier oder auf der PSS selbst.
|
|
Der Header von KP2000 muss beim INIT mitgeteilt werden.</pre><b><a name="param5">5</a> PARA1</b><pre> Steuerparameter for future use</pre><b><a name="param6">6</a> TEST_FLAG</b><pre>Steuerparameter fuer
|
|
ONLY_GOOD : diesen Schritt nur ausfuehren wenn fehlerfrei
|
|
ONLY_BAD : diesen Schritt nur bei Fehlern ausfuehren
|
|
sonst : diesen Schritt unabhaengig vom Fehlerstatus tun</pre><b><a name="param7">7</a> PARA3</b><pre> Steuerparameter
|
|
C: Die Strings in Datum werden so lange aneinander gehaengt
|
|
bis hier ein L oder S eingetragen wird.
|
|
L: Der String in Datum wird zur PSS gesendet, und es wird
|
|
auf Antwort gewartet.
|
|
S: Der String in Datum wird zur PSS gesendet, dann wird das
|
|
Programm ohne auf Antwort zu warten fortgesetzt.
|
|
G: Es wird eine Antwort von der PSS geholt.
|
|
Dies kann erforderlich sein, wenn in einem frueheren
|
|
Modulaufruf ein Job abgeschickt wurde, dessen Antwort
|
|
jetzt erst ausgewertet werden soll.</pre><b><a name="param8">8</a> SELECT</b><pre> Steuerparameter for MASTER
|
|
ONLY_MASTER : diese Funktion darf nur bei MASTER erfolgen
|
|
SKIP_MASTER : diese Funktion darf nicht bei MASTER erfolgen
|
|
ONLY_SERIE : diese Funktion darf nur bei SERIE erfolgen
|
|
SKIP_SERIE : diese Funktion darf nicht bei SERIE erfolgen</pre><b><a name="param9">9</a> ERGEBNIS</b><pre> Pointer auf den Antwortstring der PSS
|
|
|
|
-------------------------------
|
|
|
|
...
|
|
---------------------------------------------------------------------
|
|
</PRE>
|
|
</BODY>
|
|
</HTML>
|