Files
CPXV2/CPXV2 PTS/References/GaudiCfg/help/module/q_auftrag.html
2025-03-20 08:38:05 +09:00

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 &nbsp;&nbsp;<b>Q_AUFTRAG</b></font></font>
<br>&nbsp;</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-&gt;begin_modulblock
,p_verwaltung-&gt;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 =&gt; 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||&lt;filename&gt;||MM||LL||OOOOOO||NNNNNN||
MM = Modus:
00 =&gt; Die Laenge LL ist die relev. Datenlaenge fuer die
Bloecke zum SG
01 =&gt; Die Laenge zum SG steht im File
02 =&gt; Es wird mit Offset und Laenge zugegriffen
Die Laenge LL ist die relev. Datenlaenge fuer die
Bloecke zum SG
03 =&gt; 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>