de.adwin.driver
Class ADwinDevice

java.lang.Object
  extended byde.adwin.driver.ADwinDevice

public class ADwinDevice
extends java.lang.Object

Bietet Zugriff auf ein ADwin-System, und eine einfache Device-Tabelle. Sie hat nichts mit der ADConfig-Device-Tabelle zu tun, und nur wenige ADConfig-Einstellungen (wie das Passwort) haben einen Einfluß auf diese Klasse. Jedes System, das benutzt werden soll, muß zur Device-Tabelle (mit der Add_Entry-Methode) hinzugefügt worden sein.
Die einzige (checked) Exception, die von Methoden dieser Klasse geworfen wird, ist ADwinCommunicationError. Deren getCode - Methode liefert zusätzliche Infos zum aufgetretenen Fehler. Bevor eine der Methoden, die auf ein ADwin-System zugreifen, aufgerufen wird, muß zuvor eines mit Set_DeviceNo ausgewählt worden sein.

See Also:
Add_Entry(int, java.net.InetAddress, java.lang.String, int, int), ADwinCommunicationError.getCode()

Field Summary
static int LANGID_ENGLISH
           
static int LANGID_GERMAN
           
static int LANGID_SYSDEFAULT
           
 
Constructor Summary
ADwinDevice()
          Erstellt ein neues ADwinDeviceObject, die Sprache für Exceptions usw. wird auf Englisch gesetzt, außer, Locale.getDefault ().getISO3Language ().compareTo ("deu") !
 
Method Summary
 void Add_Entry(int DevNo, java.net.InetAddress IP, java.lang.String Password, int Hostlink, int Port)
          Fügt der Device-Tabelle einen neuen Eintrag hinzu.
 void Boot(java.lang.String Filename)
          Bootet ein ADwin-System und lädt ein Betriebssystem.
 void Clear_Process(int ProcessNo)
          Löscht einen Prozess und gibt alle von ihm belegten Ressourcen frei.
 int Data_Length(int DataNo)
          Liest die Länge eines Datas.
 void Data2File(java.lang.String Filename, int DataNo, int Startindex, int Count, int Mode)
          Liest ein Data und speichert es in eine Datei, oder hängt es an eine Datei an.
 void Fifo_Clear(int FifoNo)
          Löscht alle Elemente, die in ein Fifo geschrieben wurden.
 int Fifo_Empty(int FifoNo)
          Liest die Anzahl der noch freien Elemente eines Fifos.
 int Fifo_Full(int FifoNo)
          Liest die Anzahl der Elemente, die bereits in ein Fifo geschrieben wurden.
 int Free_Mem(int Mem_Spec)
          Liefert die Menge des freien RAMs eines ADwin-Systems in Bytes.
 ADwinDevice Get_Copy()
          Erzeugt eine unabhängige Kopie dieses Objekts.
 int Get_DeviceNo()
          Ermittelt die augenblicklich gesetzte Device-Nummer.
 void Get_FPar_All(float[] Array)
          Liest alle Float-Parameter in ein Array ein.
 void Get_FPar_Block(float[] Array, int FirstIndex, int Count)
          Liest einen Block von Float-Parametern.
 float Get_FPar(int Index)
          Liest einen Float - Parameter von einem ADwin-System.
 int Get_Globaldelay(int ProcessNo)
          Liest das Process Delay eines bestimmten Prozesses.
 int[] Get_Known_DeviceNo()
          Liefert ein Array, das alle Device-Nummern, die mit Add_Entry der Device-Tabelle hinzugefügt wurden, enthält.
 void Get_Par_All(int[] Array)
          Liest alle Parameter in ein Array ein.
 void Get_Par_Block(int[] Array, int FirstIndex, int Count)
          Liest einen Block von Integer-Parametern.
 int Get_Par(int Index)
          List einen int-Parameter von einem ADwin-System.
 void GetData_Float(int DataNo, float[] Data, int FirstIndex, int Count)
          Liest einen Teil eines Float-Datas.
 void GetData_Long(int DataNo, int[] Data, int FirstIndex, int Count)
          Liest einen Teil eines Integer-Datas.
 java.lang.String GetData_String(int DataNo)
          Liest ein String Data.
 int GetData_String(int DataNo, char[] Data, int MaxCount)
          List ein String Data in ein char Array ein.
 void GetFifo_Float(int FifoNo, float[] Data, int Count)
          Liest einige Floats von einem Fifo.
 void GetFifo_Long(int FifoNo, int[] Data, int Count)
          Liest einige Integer von einem Fifo.
 void Load_Process(java.lang.String Filename)
          Lädt einen Prozess (eine Datei der Form <ffff>.T<p><n>, mit fff = Dateiname, p = Prozessor, n = Prozessnummer) auf ein ADwin-System.
 int Process_Status(int ProcessNo)
          Liefert Informationen darüber, ob ein Prozess läuft.
 int Processor_Type()
          Liefert den auf einem ADwin-System installierten Prozessor.
 boolean Remove_Entry(int DevNo)
          Löscht einen Entrag, der mit Add_Entry der Device-Tabelle hinzugefügt wurde
 void Set_DeviceNo(int DevNo)
          Wählt ein ADwin-System aus der Device-Tabelle aus, mit dem dann gearbeitet wird.
 void Set_FPar(int Index, float Value)
          Setzt einen Float-Parameter.
 void Set_Globaldelay(int ProcessNo, int Globaldelay)
          Setzt das Process Delay eines bestimmten Prozesses.
 void Set_Language(int LanguageID)
          Setzt die Sprache, in der die Meldungen von Exceptions sind
 void Set_Par(int Index, int Value)
          Setzt einen der int-Parameter.
 void SetData_Float(int DataNo, float[] Data, int FirstIndex, int Count)
          Setzt einen Teil eines Float-Datas.
 void SetData_Long(int DataNo, int[] Data, int FirstIndex, int Count)
          Setzt einen Teil eines Integer-Datas.
 void SetData_String(int DataNo, java.lang.String Data)
          Schreibt einen String in ein Data.
 void SetFifo_Float(int FifoNo, float[] Data, int Count)
          Schreibt einige Floats in ein Fifo.
 void SetFifo_Long(int FifoNo, int[] Data, int Count)
          Schreibt einige ints in ein Fifo.
 void Start_Process(int ProcessNo)
          Startet einen Prozess, der vorher mit Load_Process geladen wurde.
 void Stop_Process(int ProcessNo)
          Stoppt einen Prozess.
 int String_Length(int DataNo)
          Liest die Länge eines Strings.
 int Test_Version()
          Testet, ob man auf ein ADwin-System zugreifen kann.
 void Use_FileLocks(boolean Usage)
          Bestimmt, ob Dateien auf der Festplatte (im temporären Verzeichnis) erzeugt werden, um den Zugriff auf das ADwin-System zu synchronisieren (bei NetARM AEI Version < 2.52 und IXP AEI Version < 2.64 ist das nötig).
 int Workload()
          Liefert die Auslastung eines ADwin-Systems.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LANGID_ENGLISH

public static final int LANGID_ENGLISH
See Also:
Constant Field Values

LANGID_GERMAN

public static final int LANGID_GERMAN
See Also:
Constant Field Values

LANGID_SYSDEFAULT

public static final int LANGID_SYSDEFAULT
See Also:
Constant Field Values
Constructor Detail

ADwinDevice

public ADwinDevice()
Erstellt ein neues ADwinDeviceObject, die Sprache für Exceptions usw. wird auf Englisch gesetzt, außer, Locale.getDefault ().getISO3Language ().compareTo ("deu") != 0 ist true.

Method Detail

Add_Entry

public void Add_Entry(int DevNo,
                      java.net.InetAddress IP,
                      java.lang.String Password,
                      int Hostlink,
                      int Port)
Fügt der Device-Tabelle einen neuen Eintrag hinzu. Wenn eine Device-Nummer in der Device-Tabelle gespeichert wurde, kann sie mit Set_DeviceNo benutzt werden.

Parameters:
DevNo - Neue Device-Nummer, die gespeichert werden soll.
IP - IP-Adresse des ADwin-Systems
Password - Passwort (das mit ADConfig gesetzt wurde)
Hostlink - Gibt eine Device-Nummer an, die vom Programm ADwin TCP/IP-Server verwendet wird. Falls das Gerät, das zur Device-Tabelle hinzugefügt wird, nicht vom ADwin TCP/IP-Server simuliert wird, wird dieser Parameter ignoriert.
Port - Port, der auf dem ADwin-System mit ADconfig eingestellt wurde (Standard: 6543)
Throws:
java.lang.IllegalArgumentException - Wenn die Device-Nummer schon hinzugefügt wurde
See Also:
Set_DeviceNo(int)

Remove_Entry

public boolean Remove_Entry(int DevNo)
Löscht einen Entrag, der mit Add_Entry der Device-Tabelle hinzugefügt wurde

Parameters:
DevNo - Zu löschende Device-Nummer
Returns:
true, wenn die Device-Nummer gefunden wurde, und sie gelöscht wurde.
See Also:
Add_Entry(int, java.net.InetAddress, java.lang.String, int, int)

Use_FileLocks

public void Use_FileLocks(boolean Usage)
Bestimmt, ob Dateien auf der Festplatte (im temporären Verzeichnis) erzeugt werden, um den Zugriff auf das ADwin-System zu synchronisieren (bei NetARM AEI Version < 2.52 und IXP AEI Version < 2.64 ist das nötig).
Wenn für Usage true übergeben wird, dann können mehrere Java-Prozesse auf das gleiche ADwin-System auch dann zugreifen, wenn nicht eine der neueren als der oben genannten Version installiert ist, allerdings kostet das etwa eine zehntel Millisekunde pro Methoden-Aufruf.
Wenn eine der neueren Versionen benutzt wird, können immer mehrere Java-Prozesse auf ein ADwin-System zugreifen, egal, ob dieses Flag gesetzt wird oder nicht, der Zeitverbrauch ist aber trotzdem da.
Standardmäßig ist Synchronisation über Dateien ausgeschaltet.

Parameters:
Usage - true übergeben, um Synchronisation über Dateien einzuschalten, false, um sie auszuschalten

Set_Language

public void Set_Language(int LanguageID)
Setzt die Sprache, in der die Meldungen von Exceptions sind

Parameters:
LanguageID - LANGID_SYSDEFAULT (0), LANGID_ENGLISH (1) oder LANGID_GERMAN (2)

Get_Known_DeviceNo

public int[] Get_Known_DeviceNo()
Liefert ein Array, das alle Device-Nummern, die mit Add_Entry der Device-Tabelle hinzugefügt wurden, enthält.

Returns:
das Array

Set_DeviceNo

public void Set_DeviceNo(int DevNo)
                  throws ADwinCommunicationError
Wählt ein ADwin-System aus der Device-Tabelle aus, mit dem dann gearbeitet wird.
Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000

Parameters:
DevNo - Device-Nummer, die zur gerade bearbeiteten Device-Nummer wird.
Throws:
java.lang.IllegalArgumentException - Wenn die Device-Nummer nicht in der Device-Tabelle ist.
ADwinCommunicationError
See Also:
Add_Entry(int, java.net.InetAddress, java.lang.String, int, int), Tabelle der Fehlercodes

Get_DeviceNo

public int Get_DeviceNo()
Ermittelt die augenblicklich gesetzte Device-Nummer.

Returns:
Die aktulle Device-Nummer. 0, falls bisher noch keine gesetzt war.

Get_Par

public int Get_Par(int Index)
            throws ADwinCommunicationError
List einen int-Parameter von einem ADwin-System.
Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 1, 2

Parameters:
Index - Index des zu lesenden Parameters
Throws:
java.lang.IllegalArgumentException - Wenn Index zu groß ist.
ADwinCommunicationError
See Also:
Get_FPar(int), Set_Par(int, int), Tabelle der Fehlercodes

Processor_Type

public int Processor_Type()
                   throws ADwinCommunicationError
Liefert den auf einem ADwin-System installierten Prozessor. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 1, 2

Returns:
Die Nummer des installierten Prozessors. T + die zurückgelieferte Nummer ergibt den Typ des Prozesors.
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

GetData_Long

public void GetData_Long(int DataNo,
                         int[] Data,
                         int FirstIndex,
                         int Count)
                  throws ADwinCommunicationError
Liest einen Teil eines Integer-Datas. Zu beachten ist, daß der erste Index in ADBasic-Arrays 1 ist. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Nummer des zu lesenden Datas.
Data - Array, in das das Data gespeichert wird.
FirstIndex - Erster zu lesenden Index.
Count - Anzahl der zu lesenden ints.
Throws:
java.lang.IllegalArgumentException - Wenn DataNo außerhalb des gültigen Bereichs ist (1 <= DataNo <= 200)
ADwinCommunicationError
See Also:
SetData_Long(int, int[], int, int), Tabelle der Fehlercodes

GetData_Float

public void GetData_Float(int DataNo,
                          float[] Data,
                          int FirstIndex,
                          int Count)
                   throws ADwinCommunicationError
Liest einen Teil eines Float-Datas. Zu beachten ist, daß der erste Index in ADBasic-Arrays 1 ist. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Nummer des zu lesenden Datas.
Data - Array, in das das Data gespeichert wird.
FirstIndex - Erster zu lesenden Index.
Count - Anzahl der zu lesenden Floats.
Throws:
java.lang.IllegalArgumentException - Wenn DataNo außerhalb des gültigen Bereichs ist (1 <= DataNo <= 200)
ADwinCommunicationError
See Also:
SetData_Float(int, float[], int, int), Tabelle der Fehlercodes

SetData_Long

public void SetData_Long(int DataNo,
                         int[] Data,
                         int FirstIndex,
                         int Count)
                  throws ADwinCommunicationError
Setzt einen Teil eines Integer-Datas. Zu beachten ist, daß der erste Index in ADBasic-Arrays 1 ist. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Nummer des zu setzenden Datas
Data - Array, das die zu setzenden Elemente enthätl.
FirstIndex - Erster Index im Data, der gesetzt werden soll.
Count - Anzahl der zu setzenden Elemente
Throws:
java.lang.IllegalArgumentException - Wenn der Typ des Datas nicht int ist, oder wenn FirstIndex und Count nicht zur Größe des Datas passen.
ADwinCommunicationError
See Also:
GetData_Long(int, int[], int, int), Tabelle der Fehlercodes

SetData_Float

public void SetData_Float(int DataNo,
                          float[] Data,
                          int FirstIndex,
                          int Count)
                   throws ADwinCommunicationError
Setzt einen Teil eines Float-Datas. Zu beachten ist, daß der erste Index in ADBasic-Arrays 1 ist. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1

Parameters:
DataNo - Nummer des zu setzenden Datas
Data - Array, das die zu setzenden Elemente enthält.
FirstIndex - Erster Index im Data, der gesetzt werden soll.
Count - Anzahl der zu setzenden Elemente
Throws:
java.lang.IllegalArgumentException - Wenn der Typ des Datas nicht float ist, oder wenn FirstIndex und Count nicht zur Größe des Datas passen.
ADwinCommunicationError
See Also:
GetData_Float(int, float[], int, int), Tabelle der Fehlercodes

Set_Par

public void Set_Par(int Index,
                    int Value)
             throws ADwinCommunicationError
Setzt einen der int-Parameter. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Index - Nummer des zu setzenden Parameters
Value - Neuer Wert für den Parameter
Throws:
java.lang.IllegalArgumentException - Wenn Index zu groß ist
ADwinCommunicationError
See Also:
Table of error codes, Table of error codes

Get_Par_Block

public void Get_Par_Block(int[] Array,
                          int FirstIndex,
                          int Count)
                   throws ADwinCommunicationError
Liest einen Block von Integer-Parametern. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, in das die Parameter gespeichet werden
FirstIndex - Index des ersten zu lesenden Parameters
Count - Anzahl der zu lesenden Parameter
Throws:
java.lang.IllegalArgumentException - Wenn FirstIndex oder Count negativ oder zu groß sind
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Get_FPar_Block

public void Get_FPar_Block(float[] Array,
                           int FirstIndex,
                           int Count)
                    throws ADwinCommunicationError
Liest einen Block von Float-Parametern. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, in das die Parameter gespeichet werden
FirstIndex - Index des ersten zu lesenden Parameters
Count - Anzahl der zu lesenden Parameter
Throws:
java.lang.IllegalArgumentException - Wenn FirstIndex oder Count negativ oder zu groß sind
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Data_Length

public int Data_Length(int DataNo)
                throws ADwinCommunicationError
Liest die Länge eines Datas. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 100, 2000, 2, 1.

Parameters:
DataNo - Nummer des Datas dessen Länge gelesen werden soll.
Returns:
Länge des Datas
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Fifo_Empty

public int Fifo_Empty(int FifoNo)
               throws ADwinCommunicationError
Liest die Anzahl der noch freien Elemente eines Fifos. Falls das Fifo nicht existiert wird 0 zurückgeliefert. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
FifoNo - Nummer des Fifos,
Returns:
Anzahl der freien Elemente im Fifo
Throws:
java.lang.IllegalArgumentException - Wenn FifoNo nicht im Bereich [1, 200] ist
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Fifo_Full

public int Fifo_Full(int FifoNo)
              throws ADwinCommunicationError
Liest die Anzahl der Elemente, die bereits in ein Fifo geschrieben wurden. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
FifoNo - Nummer des Fifos, dessen Anzahl an belegten Elementen ermittelt werden soll
Returns:
Anzahl der im Fifo belegten Elemente
Throws:
java.lang.IllegalArgumentException - Wenn FifoNo außerhalb des Bereichs [1, 200] ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Fifo_Clear

public void Fifo_Clear(int FifoNo)
                throws ADwinCommunicationError
Löscht alle Elemente, die in ein Fifo geschrieben wurden. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
FifoNo - Nummer des Fifos, das bereinigt wird.
Throws:
java.lang.IllegalArgumentException - Wemm FifoNo außerhalb des Bereichs [1, 200] ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

SetFifo_Long

public void SetFifo_Long(int FifoNo,
                         int[] Data,
                         int Count)
                  throws ADwinCommunicationError
Schreibt einige ints in ein Fifo. Man kann Fifo_Empty benutzen, um zu überprüfen, ob dort noch genug Platz frei ist. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 101, 2000, 2, 1.

Parameters:
FifoNo - Nummer des Fifos, in das geschrieben wird
Data - Array, das die zu schreibenden Daten enthält
Count - Anzahl der zu schreibenden Elemente.
Throws:
java.lang.IllegalArgumentException - Wenn Fifo FifoNo kein Integer-Fifo ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Fifo_Empty(int)

SetFifo_Float

public void SetFifo_Float(int FifoNo,
                          float[] Data,
                          int Count)
                   throws ADwinCommunicationError
Schreibt einige Floats in ein Fifo. Man kann Fifo_Empty benutzen, um zu überprüfen, ob dort noch genug Platz frei ist. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 101, 2000, 2, 1.

Parameters:
FifoNo - Nummer des Fifos, in das geschrieben wird
Data - Array, das die zu schreibenden Daten enthält
Count - Anzahl der zu schreibenden Elemente.
Throws:
java.lang.IllegalArgumentException - Wenn Fifo FifoNo kein Float-Fifo ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Fifo_Empty(int)

Get_Par_All

public void Get_Par_All(int[] Array)
                 throws ADwinCommunicationError
Liest alle Parameter in ein Array ein. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, in dem die Parameter gespeichert werden. Seine Größe muß >= 80 sein.
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Get_FPar_All

public void Get_FPar_All(float[] Array)
                  throws ADwinCommunicationError
Liest alle Float-Parameter in ein Array ein. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Array - Array, in dem die Parameter gespeichert werden. Seine Größe muß >= 80 sein.
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

GetFifo_Long

public void GetFifo_Long(int FifoNo,
                         int[] Data,
                         int Count)
                  throws ADwinCommunicationError
Liest einige Integer von einem Fifo. Man kann Fifo_Full benutzen, um zu überprüfen, ob genug Werte hineingeschrieben wurden. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 102, 2, 1.

Parameters:
FifoNo - Nummer des auszulesenden Fifos
Data - Array, in das die gelesenden Daten gespeichert werden
Count - Anzahl der zu lesenden Elemente
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Fifo_Full(int)

GetFifo_Float

public void GetFifo_Float(int FifoNo,
                          float[] Data,
                          int Count)
                   throws ADwinCommunicationError
Liest einige Floats von einem Fifo. Man kann Fifo_Full benutzen, um zu überprüfen, ob genug Werte hineingeschrieben wurden. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 102, 2, 1.

Parameters:
FifoNo - Nummer des auszulesenden Fifos
Data - Array, in das die gelesenden Daten gespeichert werden
Count - Anzahl der zu lesenden Elemente
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Fifo_Full(int)

Get_FPar

public float Get_FPar(int Index)
               throws ADwinCommunicationError
Liest einen Float - Parameter von einem ADwin-System. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Index - Nummer des zu lesenden Float-Parameters
Returns:
Wert des gelesenen Parameters
Throws:
java.lang.IllegalArgumentException - Wenn Index nicht im Bereich [1, 80] ist.
ADwinCommunicationError
See Also:
Tabekke der Fehlercodes, Set_FPar(int, float)

Set_FPar

public void Set_FPar(int Index,
                     float Value)
              throws ADwinCommunicationError
Setzt einen Float-Parameter. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Index - Nummer des zu setzenden Float-Parameters
Value - Neuer Wert für den Parameter
Throws:
java.lang.IllegalArgumentException - Wenn Index nicht im Bereich [1, 80] ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Get_FPar(int)

Workload

public int Workload()
             throws ADwinCommunicationError
Liefert die Auslastung eines ADwin-Systems. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Returns:
die Auslastung
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Free_Mem

public int Free_Mem(int Mem_Spec)
             throws ADwinCommunicationError
Liefert die Menge des freien RAMs eines ADwin-Systems in Bytes. Mem_Spec bestimmt, welche Art des RAMs:
0    Alle Speicherarten (nur CPUs T2, T4, T5, T8)
1 Lokaler Programmspeicher (nur T9, T10)
3 Lokaler Datenspeicher (nur T9, T10)
4 exterer DRAM-Speicher (nur T9, T10)
Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Mem_Spec - Art des zu berücksichtigenden Speichers
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Load_Process

public void Load_Process(java.lang.String Filename)
                  throws ADwinCommunicationError
Lädt einen Prozess (eine Datei der Form <ffff>.T<p><n>, mit fff = Dateiname, p = Prozessor, n = Prozessnummer) auf ein ADwin-System. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 205, 202, 200, 2, 1.

Parameters:
Filename - Name der Datei, die geladen werden soll
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Start_Process

public void Start_Process(int ProcessNo)
                   throws ADwinCommunicationError
Startet einen Prozess, der vorher mit Load_Process geladen wurde. Process_Status kann benutzt werden, um zu überprüfen, ob ein Prozess gestartet wurde. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Nummer des Prozesses, der gestartet wird.
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Process_Status(int)

Stop_Process

public void Stop_Process(int ProcessNo)
                  throws ADwinCommunicationError
Stoppt einen Prozess. Er muß zuvor mit Start_Process gestartet worden sein, und kann mit Start_Process auch wieder fortgesetzt werden. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Nummer des zu stoppenden Prozesses.
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Clear_Process

public void Clear_Process(int ProcessNo)
                   throws ADwinCommunicationError
Löscht einen Prozess und gibt alle von ihm belegten Ressourcen frei. Der Prozess muß mit Stop_Process gestoppt worden sein, bevor er gelöscht werden kann. Mit Process_Status kann überprüft werden, ob der Prozess noch läuft. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Nummer des zu löschenden Prozesses
Throws:
java.lang.IllegalArgumentException - Wenn ProcessNo nicht im Bereich [1, 15] ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Stop_Process(int)

Process_Status

public int Process_Status(int ProcessNo)
                   throws ADwinCommunicationError
Liefert Informationen darüber, ob ein Prozess läuft.
Rückgabewerte:
1    Prozess läuft
0 Prozess läuft nicht. Er wurde noch nicht geladen, nicht gestartet oder gestoppt
-1 Prozess ist dabei, gestoppt zu werden, wartet aber noch auf das letzte Event.
Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Nummer des zu überprüfenden Prozesses
Returns:
Status des Prozesses entsprechend der obigen Tabelle
Throws:
java.lang.IllegalArgumentException - Wenn ProcessNo nicht im Bereich [1, 15] ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Boot

public void Boot(java.lang.String Filename)
          throws ADwinCommunicationError
Bootet ein ADwin-System und lädt ein Betriebssystem. Das ist eine Datei aus dem ADwin-Verzeichnis mit der Erweiterung .btl. Wenn ein falsches Betriebssystem geladen wird (das <x> in der Datei ADwin<x>.btl paßt nicht zur CPU-Nummer), wird jeder weitere Aufruf mit Fehlercode 1 oder 2 fehlschlagen, bis das ADwin-System mit dem richtigen Betriebssystem neu gebootet wird. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
Filename - Name der Datei, die das zu ladende Betriebssystem enthält
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

GetData_String

public java.lang.String GetData_String(int DataNo)
                                throws ADwinCommunicationError
Liest ein String Data. Mit SetData_String kann man einen String schreiben. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1.

Parameters:
DataNo - Nummer des zu lesenden Datenfelds.
Returns:
Der gelesene String
Throws:
java.lang.IllegalArgumentException - Wenn DataNo außerhalb des gültigen Bereichs ist, oder wenn Data DataNo nicht vom Typ int bzw. String ist
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, SetData_String(int, java.lang.String)

GetData_String

public int GetData_String(int DataNo,
                          char[] Data,
                          int MaxCount)
                   throws ADwinCommunicationError
List ein String Data in ein char Array ein. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1.

Parameters:
DataNo - Nummer des zu lesenden Datenfelds
Data - Wird von der Methode ausgefüllt und enthält nach dem Aufruf den gelesenen String.
MaxCount - Anzahl der Buchstaben, die maximal gelesen werden sollen. Falls der String auf dem ADwin-System kürzer ist, wird weniger gelesen.
Returns:
Anzahl der gelesenen Bytes.
Throws:
java.lang.IllegalArgumentException - Wenn DataNo außerhalb des gültigen Bereichs ist, oder wenn Data DataNo nicht vom Typ int bzw. String ist
ADwinCommunicationError

SetData_String

public void SetData_String(int DataNo,
                           java.lang.String Data)
                    throws ADwinCommunicationError
Schreibt einen String in ein Data. Mit GetData_String kann man einen String lesen. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1.

Parameters:
DataNo - Nummer des Datenfelds, in das geschrieben wird.
Data - String, der geschrieben wird
Throws:
java.lang.IllegalArgumentException - Wenn DataNo außerhalb des gültigen Bereichs ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, GetData_String(int)

String_Length

public int String_Length(int DataNo)
                  throws ADwinCommunicationError
Liest die Länge eines Strings. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 100, 2, 1.

Parameters:
DataNo - Nummer des String-Datas
Returns:
Länge des Strings, der in data DataNo gespeichert ist.
Throws:
java.lang.IllegalArgumentException - Wenn DataNo außerhalb des gültigen Bereichs ist
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Set_Globaldelay

public void Set_Globaldelay(int ProcessNo,
                            int Globaldelay)
                     throws ADwinCommunicationError
Setzt das Process Delay eines bestimmten Prozesses. Es spielt keine Rolle, ob der Prozess schon gestartet wurde oder nicht. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Parameters:
ProcessNo - Nummer des Prozesses, dessen Process Delay gesetzt werden soll
Globaldelay - Neues Prozessdelay für den Prozess
Throws:
java.lang.IllegalArgumentException - Wenn ProcessNo außerhalb des gültigen Bereichs ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Get_Globaldelay(int)

Get_Globaldelay

public int Get_Globaldelay(int ProcessNo)
                    throws ADwinCommunicationError
Liest das Process Delay eines bestimmten Prozesses. Es kann entweder mit Set_Globaldelay gesetzt worden sein, oder (wenn Set_Globaldelay nicht nicht mit diesem Prozess aufgerufen wurde) die in der Binärdatei gespeicherte Einstellung sein. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 2, 1.

Throws:
java.lang.IllegalArgumentException - Wenn ProcessNo außerhalb des gültigen Bereichs ist
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Set_Globaldelay(int, int)

Test_Version

public int Test_Version()
                 throws ADwinCommunicationError
Testet, ob man auf ein ADwin-System zugreifen kann. Kann nach einem Aufruf von Boot benutzt werden, um zu bestimmen, ob die richtige BTL-Datei geladen wurde. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000.

Returns:
0, wenn das ADwin-System antwortet, 3 wenn es nicht oder mit Fehlern antwortet
Throws:
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes, Boot(java.lang.String)

Data2File

public void Data2File(java.lang.String Filename,
                      int DataNo,
                      int Startindex,
                      int Count,
                      int Mode)
               throws ADwinCommunicationError
Liest ein Data und speichert es in eine Datei, oder hängt es an eine Datei an. Codes, die eine ADwinCommunicationError-Exception enthalten kann: 4000, 2002, 2000, 205, 100, 2, 1.

Parameters:
Filename - Name der Datei, in die geschrieben werden soll
DataNo - Nummer des zu lesenden Datas
Startindex - Erster zu lesender Index
Count - Anzahl der zu lesenden Words (Floats oder Integers)
Mode - Mode = 0: Datei wird überschrieben, Mode = 1: Das Data wird an die Datei angehängt
Throws:
java.lang.IllegalArgumentException - Wenn Mode nicht 0 oder 1 ist.
ADwinCommunicationError
See Also:
Tabelle der Fehlercodes

Get_Copy

public ADwinDevice Get_Copy()
Erzeugt eine unabhängige Kopie dieses Objekts. Nach dem Erstellen der Kopie muß zunächst, bevor sie weiter verwendet wird, die Set_DeviceNo - Methode aufgerufen werden. Die in der Kopie eingestellte Sprache und Device-Tabelle ist die selbe wie in dem Original.

Returns:
Die Kopie