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

112 lines
5.4 KiB
HTML
Raw Blame History

<HTML>
<HEAD>
<TITLE>Q_CANSTD</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_CANSTD</b></font></font>
<br>&nbsp;</td>
</tr>
</table>
<PRE>
$Id: q_canstd.C,v 1.9 2005/09/01 07:11:40 sniff Exp $
---------------------------------------------------------------------
Kurzbeschreibung: CAN - Auftrag an die PSS/SKM senden
---------------------------------------------------------------------
Projekt: CCS
Sourcefile: q_canstd.C
Autor: RtW/TEF72-Keppler (04.08.99)
Zielsystem: HP9000/V743 (HP-RT 2.0x), /Sxxx (HP-UX 9.0x)
Sprache: C++
---------------------------------------------------------------------
Prototyp:
MPI Schnittstelle
void q_canstd(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 SKM. Es bereitet die
Eingangsdaten zu einem SKM-verstaendlichen String auf und veranlasst
die gewuenschten Aktionen.
Die Antwort wird im shared Memory abgelegt und kann dort z.B. vom Modul
p_zerlege_string geholt und verarbeitet werden.
ACHTUNG: Derzeit nur SKM
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> Befehl an die SKM
CANBLOCK: Die folgenden Parameter werden wie in der
Standard-Pruefvorschrift beschrieben interpretiert.</pre><b><a name="param4">4</a> ID_SENDEN</b><pre>Sende Identifier an das SG: Identifier in HEX an das
SG. Soll keine Botschaft gesendet werden, so wird
kein Wert eingetragen.</pre><b><a name="param5">5</a> ID_SENDEN_LEN</b><pre>Hier wird die Bitzahl des Sende-Identifier eingetragen.
11 = 11 Bit Identifier
29 = 29 Bit Identifier</pre><b><a name="param6">6</a> ID_LESEN</b><pre>Lese Identifier: Gibt den Identifier an fuer das Objekt,
auf dem die Antwort des SG erwartet wird.
Soll keine Antwort vom SG gelesen werden, so ist hier
nichts einzutragen.</pre><b><a name="param7">7</a> ID_LESEN_LEN</b><pre>Hier wird die Bitzahl des Lese-Identifiers eingetragen.
11 = 11 Bit Identifier
29 = 29 Bit Identifier</pre><b><a name="param8">8</a> MODUS_STD</b><pre>Gibt an, wie die Botschaft behandelt werden soll.
C: Die Strings in DATEN werden so lange aneinander gehaengt
bis hier ein Wert != C eingetragen wird.
D: Der angegebene Identifier wird geloescht.
E: Echoboard-Funktion:
Das als Lesebotschaft eingestellte Objekt loest nach Empfang
einen Interrupt auf der SKM aus, welcher das Senden des als
Sendebotschaft eingestellten Objektes veranlasst. Das Senden
geschieht unmittelbar nach Empfang.
Es mu<6D> hier als Sendebotschaft und Lesebotschaft eingestellt
werden, sonst geschieht Unsinn.
L: Lese- und Steuerfunktion: Ist in den Parametern ID_SENDEN
und ID_SENDEN_LEN eine Botschaft spezifiziert, so wird
dieses Frame an das SG gesendet.
Es wird eine Botschaft (spez. unter ID_LESEN) zurueck-
erwartet.
Soll nur eine Botschaft vom SG gelesen werden, (z.B. eine
vom SG zyklisch gesendete Botschaft) so bleiben ID_SENDEN
und ID_SENDEN_LEN leer.
S: Es wird eine Botschaft zum SG mittels Dataframe gesendet.
Es wird keine Antwort erwartet.
R: Es wird eine Botschaft mittels Remote-Frame gelesen.
Der Tester(SKM) sendet eine als Remote-Frame gekenn-
zeichnete Botschaft an das SG. Die Antwort wird in diesem
Objekt erwartet.
ID_LESEN, ID_LESEN_LEN und DATEN werden hier nicht
beruecksichtigt.
Die resultierende Botschaft wird zurueckgegeben
(noch nicht implementiert).
INIT: Einstellen (Initialisieren) eines Lese-Identifiers.
Es wird ein Identifier der als ID_LESEN angegeben
wird dem CAN-Baustein mitgeteilt. Der Host wartet jedoch
nicht bis die SKM eine Antwort liefert, sondern faehrt
im Programm fort.
Die Antwort kann mit dem Modul L in einem spaeteren Schritt
abgeholt werden.</pre><b><a name="param9">9</a> SG_DATEN</b><pre> Hier werden die Daten, die zum SG gesendet werden sollen
(ID_SENDEN), eingetragen.</pre><b><a name="param10">10</a> PERIODE_SEND</b><pre>Gibt an, ob ein Sendeobjekt einmal oder zyklisch gesendet
werden soll.
0 = einmal senden
n = Zeitintervall in ms
-1 = Zyklisches Senden beenden
Diese Angaben beziehen sich auf ID_SENDEN</pre><b><a name="param11">11</a> TIMEOUT_SKM</b><pre>Wird eine Anforderung innerhalb dieser Zeit nicht beant-
wortet, so wird ein Fehler generiert.</pre><b><a name="param12">12</a> FEHLERFLAG</b><pre> Wird gesetzt bei aufgetretenem Fehler</pre><b><a name="param13">13</a> ERGEBNIS</b><pre> Pointer auf den Antwortstring der PSS/SKM
</PRE>
</BODY>
</HTML>