ftcomputing
Class JavaFish

java.lang.Object
  extended byftcomputing.JavaFish

public class JavaFish
extends java.lang.Object

Steuerung der FischerTechnik Interfaces.
Controlling the fischertechnik Intefaces.

The class JavaFish contains a number of methods and properties to access the fischertechnik Interfaces. JavaFish uses the Wrapper-DLL javaFish.DLL for access to the common umFish20.DLL via JNI. To obtain all changes of the E-Inputs, umFish20.DLL polls them with high priority (using the MultiMediaTimer) in intervals of about 10 msec. In addition to the polling a refresh of the M-Outputs is done. If requested, it reads EX / EY too. The state is stored in an internal control block (can be determinined with instancing). The changes of the E-Inputs are counted and stored in special counter fields. This counters can be used for determining the position of an model (look for "impulse wheel" on the Industry Robots).

Sources and objects are contained in javaFish.ZIPumFish20Setup.EXE can be used to install the class files and the DLL's more comfortable. It contains also a tool : InterfacePanel to control the Interface values interactive.

Organisation:
Ulrich Müller, D-33100 Paderborn, Lange Wenne 18
Fon 05251/56873, Fax 05251/55709
eMail: UM@ftcomputing.de
Homepage: www.ftcomputing.de

Version:
1.1 vom 10.08.03
Author:
Ulrich Müller, Copyright: © 2001-2004
CoAutor : Matthias Taulien

Field Summary
 boolean emergencyHalt
          Abbruchwunsch angemeldet, wenn true, Defaultwert = false
     cancel request, if true, default = false
static int FT_ERROR
          Fehlerwert FT_ERROR = 131071, wenn Verbindung zum Interface fehlgeschlagen ist
          Error value,
FT_ERROR = 131071 if connection to the interface failed
static int LEFT
          Motor-Zustand LEFT = 1
     Motor state LEFT = 1
static int OFF
          Motor-Zustand OFF = 0
     Motor state OFF = 0
static int ON
          Motor-Zustand ON = 1
     Motor state ON = 1
static int RIGHT
          Motor-Zustand RIGHT = 2
     Motor state Right = 2
 
Constructor Summary
JavaFish()
          Standard-Konstruktor bei nur einem Interface.
          Standard constructor, if only one interface
JavaFish(int ftInstanz)
          Konstruktor, nur erforderlichen bei mehreren Interfaces.
          Constructor, if more than one interface in an application
 
Method Summary
 void clearCounters()
Löschen aller Zähler, d.h. jeder Zähler wird auf den Wert 0 gesetzt.
Clear all Counters ( = 0 )
 void clearMotors()
Ausschalten aller M-Ausgänge
Switch off all M-Outputs
 int closeInterface()
Schließen der Verbindung zum Interface.
Close the connection to the interface
 boolean finish()
Prüft, ob die Escape-Taste gedrückt ist.
Looks for cancel request (ESC Key only)
 boolean finish(int inputNr)
Prüft, ob ein bestimmter digitaler E-Eingang geschlossen oder die Escape-Taste gedrückt ist.
Looks for cancel request (ESC Key, E-Input)
 int getAnalog(int analogNr)
Liest einen Analog-Eingang aus.
Read Analog-Input EX(0) / EY(1)
 int getCounter(int counterNr)
Auslesen eines aktuellen Zähler-Wertes
Read a single counter value, counter 1 belongs to E1 ...
 boolean getInput(int inputNr)
Liest eine Digital-Eingang E1 bis E8 (E9 bis E16) aus.
Read one E-Input E1-E8(E16)
 int getInputs()
Auslesen aller digitalen E-Eingänge E1 bis E16.
Read all E-Inputs E1-E8(E16), E1 = right bit 00000001 (E1 on)
 int getOutputs()
Auslesen aller M-Ausgänge M1 bis M8.
Read all M-Outputs M1-M4(M8)
 int getVersion()
Liefert die Version der eingesetzten javaFish.DLL zurück.
Version of javaFish.DLL
 int openInterface(java.lang.String portName)
Herstellen der Verbindung zum Interface.
Opening a connection to the interface
 void pause(int milliSec)
Anhalten des Programmablaufs um n Millisekunden
Stop the program flow for n milliseconds
 void setAnalogScan(boolean onOff)
Legt fest, ob die Analog-Eingänge EX und EY gescannt werden sollen.
true : Analog-Inputs (EX(0) and EY(1) will be scanned
default : false
 void setCounter(int counterNr, int counterValue)
Setzen eines Zählers auf einen Anfangswert.
Write a single counter to a start value (counter is decrremented). Counter 1 belongs to E1 ...
Can be changed to beginning with 0 by changing constan 12 to 11
 int setLamp(int lampNr, boolean onOff)
Schalten der M-Ausgänge M1 bis M4 (M5 bis M8) in "Lampenschaltung" (ein Bein an Erde).
Switch the M-Output in "lamp-wiring" (one pin to ground, one to M-Output) 1-8(16).
 int setMotor(int motorNr, int direction)
Schalten der M-Ausgänge M1 bis M4 (M5 bis M8).
Switch the M-Outputs M1-M4(M8), (1-4(8)) Left(Links) turn = 1, Right(Rechts) = 2, On(Ein) = 1, Off(Aus) = 0
 void setOutputs(int m)
Setzen aller M-Ausgänge M1 bis M8.
Write all M-Outputs M1-M4(M8), M1 right bits (00000010 : M1 right)
 void setPollInterval(int pollInterval)
legt die Zeit in Millsisekunden zwischen zwei Abfragen des Interface fest.
Time interval (msecs) for polling the interface
 void setSlave(boolean onOff)
Legt fest, ob am Intelligenten Interface ein Erweiterungsmodul angeschlossen ist.
true : an Extension Module is connected to the Intellingent Interface
 void showStatus()
Gibt die aktuellen Daten auf die Konsole aus.
Consol output of the actual state values of the interface
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

NO FURTHER ENGLISH TEXT : THERE is NOTHING additional to say

Field Detail

OFF

public static final int OFF
Motor-Zustand OFF = 0

See Also:
Constant Field Values

ON

public static final int ON
Motor-Zustand ON = 1

See Also:
Constant Field Values

LEFT

public static final int LEFT
Motor-Zustand LEFT = 1

See Also:
Constant Field Values

RIGHT

public static final int RIGHT
Motor-Zustand RIGHT = 2

See Also:
Constant Field Values

FT_ERROR

public static final int FT_ERROR
Fehlerwert FT_ERROR = 131071, wenn Verbindung zum Interface fehlgeschlagen ist

See Also:
Constant Field Values

emergencyHalt

public boolean emergencyHalt
Abbruchwunsch angemeldet, wenn true, Defaultwert = false

Constructor Detail

JavaFish

public JavaFish()
Standard-Konstruktor bei nur einem Interface.


JavaFish

public JavaFish(int ftInstanz)
Konstruktor, nur erforderlichen bei mehreren Interfaces.

Parameters:
ftInstanz - die Interface-Nummer (0 bis 3)
Method Detail

setAnalogScan

public void setAnalogScan(boolean onOff)
Legt fest, ob die Analog-Eingänge EX und EY gescannt werden sollen.

Parameters:
onOff - true für ja, false (default) für nein

setSlave

public void setSlave(boolean onOff)
Legt fest, ob am Intelligenten Interface ein Erweiterungsmodul angeschlossen ist.

Parameters:
onOff - true für ja, false (default) für nein

 

openInterface

public int openInterface(java.lang.String portName)
Herstellen der Verbindung zum Interface.

Parameters:
portName - LPT, LPT1 bis LPT3, COM1 bis COM8
Returns:
0, falls Verbindung erfolgreich, sonst FT_ERROR

closeInterface

public int closeInterface()
Schließen der Verbindung zum Interface.

Returns:
1, falls erfolgreich, sonst anderer Wert

getVersion

public int getVersion()
Liefert die Version der eingesetzten javaFish.DLL zurück.

Returns:
Versionsnummer

showStatus

public void showStatus()
Gibt die aktuellen Daten auf die Konsole aus.


setMotor

public int setMotor(int motorNr,
                    int direction)
Schalten der M-Ausgänge M1 bis M4 (M5 bis M8).

Parameters:
motorNr - Motor-Nummer M1 = 1 bis M4 = 4 (ggf. bis M8 = 8)
direction - Motor-Zustand (OFF, ON, LEFT, RIGHT)
Returns:
Status aller Ausgänge
See Also:
getOutputs()

clearMotors

public void clearMotors()
Ausschalten aller M-Ausgänge


setLamp

public int setLamp(int lampNr,
                   boolean onOff)
Schalten der M-Ausgänge M1 bis M4 (M5 bis M8) in "Lampenschaltung" (ein Bein an Erde).

Parameters:
lampNr - Nummer des M-Ausgangs M1 = 1 bis M4 = 4 (ggf. bis M8 = 8)
onOff - true für ein, für aus
Returns:
Status aller Ausgänge
See Also:
getOutputs()

getAnalog

public int getAnalog(int analogNr)
Liest einen Analog-Eingang aus.

Parameters:
analogNr - Nummer des Analog-Eingangs EX = 0, EY = 1
Returns:
Analog-Wert (0 bis 1024)

getInput

public boolean getInput(int inputNr)
Liest eine Digital-Eingang E1 bis E8 (E9 bis E16) aus.

Parameters:
inputNr - Digital-Eingang E1 = 1 bis E8 = 8 (ggf. bis E16 = 16)
Returns:
true, Kontakt geschlossen oder false, Kontakt offen

getOutputs

public int getOutputs()
Auslesen aller M-Ausgänge M1 bis M8.
Es sind jeweils 2 bit pro Ausgang belegt. Dabei bedeuten:
M1: bit 0/1 bis M8: bit 14/15

Returns:
Wert aller M-Ausgänge

setOutputs

public void setOutputs(int m)
Setzen aller M-Ausgänge M1 bis M8. Es sind jeweils 2 bit pro Ausgang belegt. Dabei bedeuten:
M1: bit 0/1 bis M8: bit 14/15

Parameters:
m - Wert aller M-Ausgänge,

getInputs

public int getInputs()
Auslesen aller digitalen E-Eingänge E1 bis E16. Es ist jeweils ein bit pro Ausgang belegt, wobei der Wert von E1 im niedrigstes bit steht.

Returns:
Wert aller E-Eingänge

clearCounters

public void clearCounters()
Löschen aller Zähler, d.h. jeder Zähler wird auf den Wert 0 gesetzt.


setCounter

public void setCounter(int counterNr,
                       int counterValue)
Setzen eines Zählers auf einen Anfangswert.

Parameters:
counterNr - Nummer des Zählers (0 bis 8, ggf. bis 16)
counterValue - Anfangswert

getCounter

public int getCounter(int counterNr)
Auslesen eines aktuellen Zähler-Wertes

Parameters:
counterNr - Zähler-Nummer (0 bis 8, ggf. bis 16)
Returns:
Wert des Zählers

pause

public void pause(int milliSec)
Anhalten des Programmablaufs um n Millisekunden

Parameters:
milliSec - Dauer der Pause in Millisekunden

finish

public boolean finish(int inputNr)
Prüft, ob ein bestimmter digitaler E-Eingang geschlossen oder die Escape-Taste gedrückt ist.

Parameters:
inputNr - Nummer der E-Eingangs (E1 = 1 bis E8 = 8 ggf. bis E16 = 16)
Returns:
true, E-Eingang ist geschlossen oder Escape-Taste gedrückt, andernfalls false

finish

public boolean finish()
Prüft, ob die Escape-Taste gedrückt ist.

Returns:
true, falls Escape-Taste gedrückt, andernfalls false