CASH.DLL
v4.1.1.6

Referenz CASH.DLL

Alle Funktionsnamen müssen in Großbuchstaben angegeben werden.
Damit die DLL immer erreichbar ist solte die Datei ins Windows SYSTEM-Verzeichnis kopiert werden!

QuickLinks: CASH-Interface   HOPPER-Interface   COUNTER-Board


Befehle CASH-Interface:

CASH_OPENCOM
Parameter: ComPort (0..255)
Öffnet den angegebenen COM-Port
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function CASH_OPENCOM(CASH_COMPORT: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_OPENCOM Lib "CASH.DLL" (ByVal CASH_COMPORT As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_OPENCOM Lib "CASH.DLL" (ByVal CASH_COMPORT As Integer) As Integer



CASH_CLOSECOM
Parameter: keine
Schließt einen zuvor geöffneten COM-Port
Rückgabe: keine

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Procedure CASH_CLOSECOM; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Sub CASH_CLOSECOM Lib "CASH.DLL" ()

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Sub CASH_CLOSECOM Lib "CASH.DLL" ()



CASH_READ
Parameter: keine
Lesen des Cash Interface am zuvor geöffneten COM-Port.
Rückgabe: der Zustand (Byte) des geöffneten COM-Ports, bei Fehler -1
Das gelesene Datenbyte setzt sich folgendermaßen zusammen:
Bit1 = Kanal 1
Bit2 = Kanal 2
Bit3 = Kanal 3
Bit4 = Kanal 4
Bit5 = Kanal 5
Bit6 = Kanal 6
Bit7 = BUSY Signal NVx
Bit8 = Stromversorgung ok

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function CASH_READ: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_READ Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_READ Lib "CASH.DLL" () As Integer



CASH_TOTALBLOCKING
Parameter: 0=TotalBlocking aus, 1=TotalBlocking ein
Sperrt das Gerät für die Geldannahme
Rückgabe: 1, bei Fehler -1
Hinweis: Das CASH-Interface ist nach Anlegen der Versorgungsspannung gesperrt und muss mit
             CASH_TOTALBLOCKING(0) oder CASH_TOTALBLOCKING_OFF aktiviert werden!


Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function CASH_TOTALBLOCKING(CASH_COMMAND: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_TOTALBLOCKING Lib "CASH.DLL" (ByVal CASH_COMMAND As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_TOTALBLOCKING Lib "CASH.DLL" (ByVal CASH_COMMAND As Integer) As Integer



CASH_TOTALBLOCKING_ON
Parameter: keine
Sperrt das Gerät für die Geldannahme
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function CASH_TOTALBLOCKING_ON: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_TOTALBLOCKING_ON Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_TOTALBLOCKING_ON Lib "CASH.DLL" () As Integer



CASH_TOTALBLOCKING_OFF
Parameter: keine
Gerät für die Geldannahme freigeben
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function CASH_TOTALBLOCKING_OFF: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_TOTALBLOCKING_OFF Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_TOTALBLOCKING_OFF Lib "CASH.DLL" () As Integer



CASH_IN1
Parameter: keine
Eingang 1 Status lesen
Rückgabe: 0 = Eingang IN1 offen, 1 = Eingang IN1 geschlossen, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function CASH_IN1: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_IN1 Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_IN1 Lib "CASH.DLL" () As Integer

Die Abfrage der Eingänge funktioniert nur wenn das CASH-Interface ACTIVE ist,
d.h. mit TOTALBLOCKING(0) oder TOTALBLOCKING_OFF aktiviert wurde!




CASH_IN2
Parameter: keine
Eingang 2 Status lesen
Rückgabe: 0 = Eingang IN2 offen, 1 = Eingang IN2 geschlossen, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function CASH_IN2: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_IN2 Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function CASH_IN2 Lib "CASH.DLL" () As Integer

Die Abfrage der Eingänge funktioniert nur wenn das CASH-Interface ACTIVE ist,
d.h. mit TOTALBLOCKING(0) oder TOTALBLOCKING_OFF aktiviert wurde!



Befehle HOPPER-Interface (ab board v3.01):

HOPPER_OPENCOM
Parameter: ComPort (0..255)
Öffnet den angegebenen COM-Port
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function HOPPER_OPENCOM(HOPPER_COMPORT: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER_OPENCOM Lib "CASH.DLL" (ByVal HOPPER_COMPORT As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER_OPENCOM Lib "CASH.DLL" (ByVal HOPPER_COMPORT As Integer) As Integer



HOPPER_CLOSECOM
Parameter: keine
Schließt einen zuvor geöffneten COM-Port
Rückgabe: keine

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Procedure HOPPER_CLOSECOM; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Sub HOPPER_CLOSECOM Lib "CASH.DLL" ()

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Sub HOPPER_CLOSECOM Lib "CASH.DLL" ()



HOPPER1_MOTOR_RUN
Parameter: keine
Startet den Motor Hopper 1
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function HOPPER1_MOTOR_RUN: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_MOTOR_RUN Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_MOTOR_RUN Lib "CASH.DLL" () As Integer



HOPPER2_MOTOR_RUN
Parameter: keine
Startet den Motor Hopper 2
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function HOPPER2_MOTOR_RUN: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_MOTOR_RUN Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_MOTOR_RUN Lib "CASH.DLL" () As Integer



HOPPER1_MOTOR_STOP
Parameter: keine
Stoppt den Motor Hopper 1
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function HOPPER1_MOTOR_STOP: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_MOTOR_STOP Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_MOTOR_STOP Lib "CASH.DLL" () As Integer



HOPPER2_MOTOR_STOP
Parameter: keine
Stoppt den Motor Hopper 2
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function HOPPER2_MOTOR_STOP: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_MOTOR_STOP Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_MOTOR_STOP Lib "CASH.DLL" () As Integer



HOPPER1_READ
Parameter: keine
Direktes lesen des Hopper 1 Münzsignal am zuvor geöffneten COM-Port.
Rückgabe: 0 = kein Münzsignal, 1 = Münzsignal, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function HOPPER1_READ: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_READ Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_READ Lib "CASH.DLL" () As Integer



HOPPER2_READ
Parameter: keine
Direktes lesen des Hopper 2 Münzsignal am zuvor geöffneten COM-Port.
Rückgabe: 0 = kein Münzsignal, 1 = Münzsignal, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function HOPPER2_READ: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_READ Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_READ Lib "CASH.DLL" () As Integer



HOPPER1_PAYOUT
Parameter: Anzahl Münzen (1..65535)
Münzen Auszahlen Hopper 1
Rückgabe: Ausbezahlte Münzen, bei Fehler bis zum Fehler (z.B. Hopper leer) ausbezahlte Münzen

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function HOPPER1_PAYOUT(HOPPER_COINS: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_PAYOUT Lib "CASH.DLL" (ByVal HOPPER_COINS As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER1_PAYOUT Lib "CASH.DLL" (ByVal HOPPER_COINS As Integer) As Integer



HOPPER2_PAYOUT
Parameter: Anzahl Münzen (1..65535)
Münzen Auszahlen Hopper 2
Rückgabe: Ausbezahlte Münzen, bei Fehler bis zum Fehler (z.B. Hopper leer) ausbezahlte Münzen

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function HOPPER2_PAYOUT(HOPPER_COINS: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_PAYOUT Lib "CASH.DLL" (ByVal HOPPER_COINS As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER2_PAYOUT Lib "CASH.DLL" (ByVal HOPPER_COINS As Integer) As Integer



HOPPER_IN1
Parameter: keine
Eingang 1 Status lesen
Rückgabe: 0 = Eingang IN1 offen, 1 = Eingang IN1 geschlossen, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function HOPPER_IN1: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER_IN1 Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function HOPPER_IN1 Lib "CASH.DLL" () As Integer



Tipps zur Hopper Steuerung

Die Funktion HOPPERx_PAYOUT(Anzahl) erledigt die Auszahlung vollautomatisch. Der Hopper Motor wird gestartet und bei erreichen der Anzahl auszuzahlender Münzen wieder gestoppt. Falls innerhalb 5 sec kein Münzsignal erfolgt, z.B. wenn keine Münze mehr im Hopper ist, wird der Hopper angehalten (TimeOut Überwachung) und die bis dahin ausgezahlten Münzen von der Funktion zurückgegeben. Nachteil der Funktion HOPPERx_PAYOUT ist das während des Auszahlvorganges keine Meldung über die bereits ausgezahlten Münzen erfolgt. Die Rückmeldung der ausbezahlten Münzen erfolgt erst wenn die Funktion abgeschlossen wurde.

Wird die Anzahl der ausbezahlten Münzen in Echtzeit benötigt so ist dies auch möglich. Mit der Funktion HOPPERx_MOTOR_START wird der Motor gestartet. Gleichzeitig wird das Münzsignal vom Hopper mit der Funktion HOPPERx_READ in einer Timer-Routine ausgewertet. In der Timer-Routine kann somit mit HOPPERx_READ das Münzsignal in Echtzeit erfasst und nach belieben weiterverarbeitet werden. Bei erreichen der auszuzahlenden Münzen wird der Hopper mit der Funktion HOPPERx_MOTOR_STOP gestoppt. Eine Timeout-Überwachung wird mit einem zweiten Timer erreicht. Benutzen Sie für HOPPERx_READ unbedingt einen High Resolution Timer mit 10ms Takt!

Beide Lösungen sind in den Beispielprogrammen als Quellcode einsehbar.

Falls der Hopper den PULSE Mode unterstützt kann der Hopper auch mit Impulsen gesteuert werden. Der Hopper muss dann mittels Jumper bzw. Mode Selektor auf PULSE Mode eingestellt werden. Der grosse Vorteil hier ist das der Hopper die Überwachung und Auszahlung selbst erledigt. Pro auszuzahlende Münze wird einfach nur ein Impuls zum Hopper gesendet. Ein Impuls kann mit der Funktion HOPPERx_MOTOR_START und HOPPERx_MOTOR_STOP erzeugt werden und sollte ca. 100ms lang sein.
Bsp. Delphi:
for i := 1 to Anzahl do begin
  HOPPER1_MOTOR_START;
  Sleep(100);
  HOPPER1_MOTOR_STOP;
  Sleep(100);
end;
Nachteil PULSE Mode: Eine Rückmeldung der ausbezahlten Münzen steht nicht zur Verfügung.

- Während des Auszahlvorganges sollten andere Programmaktionen angehalten werden.
- Als Timer für HOPPERx_READ sollte ein HI-Timer mit 10ms benutzt werden (kein standard Timer!).
- Evtl. die Priorität des Programms auf HIGH setzen.


Zeitverzögerung beim öffnen des COM-Ports

Das HOPPER-Interface hat ein Hardware Zeitglied integriert welches den Schnittstellentest von Windows überbrückt. Beim Booten des PCs wird die Schnittstelle vom Betriebssystem getestet und die Leitungen gehen kurzzeitig auf HIGH. Ohne das Zeitglied würde der Hopper hier anlaufen und Münzen auszahlen. Das Zeitglied überbrückt diesen Schnittstellentest und der Hopper zahlt keine Münzen aus. Durch das Zeitglied entsteht eine Verzögerung beim öffnen des COM Ports von ca. 2 Sekunden. Der COM-Port zum Hopper sollte schon beim Programmstart geöffnet werden, somit sind die Hopper später ohne Zeitverzögerung verfügbar.

Um ein zweites HOPPER-Interface ohne Zeitverzögerung beim öffnen des COM-Ports zu steuern sind zusätzlich alle HOPPER Funktionen mit der Kennung _B2 (board2) verfügbar.

HOPPER_B2_OPENCOM
HOPPER1_B2_MOTOR_RUN
HOPPER1_B2_MOTOR_STOP
HOPPER1_B2_READ
HOPPER1_B2_PAYOUT
HOPPER2_B2_MOTOR_RUN
HOPPER2_B2_MOTOR_STOP
HOPPER2_B2_READ
HOPPER2_B2_PAYOUT
HOPPER_B2_IN1
HOPPER_B2_CLOSECOM



Ältere HOPPER-Interface Versionen kleiner v3.01

CASH.DLL Version 4.0.6.8 verwenden: CASH.DLL v4.0.6.8



Befehle COUNTER-Board:

COUNTER_OPENCOM
Parameter: ComPort (0..255)
Öffnet den angegebenen COM-Port
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function COUNTER_OPENCOM(COUNTER_COMPORT: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_OPENCOM Lib "CASH.DLL" (ByVal COUNTER_COMPORT As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_OPENCOM Lib "CASH.DLL" (ByVal COUNTER_COMPORT As Integer) As Integer



COUNTER_CLOSECOM
Parameter: keine
Schließt einen zuvor geöffneten COM-Port
Rückgabe: keine

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Procedure COUNTER_CLOSECOM; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Sub COUNTER_CLOSECOM Lib "CASH.DLL" ()

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Sub COUNTER_CLOSECOM Lib "CASH.DLL" ()



COUNTER_COUNT1
Parameter1: COUNT (1..65535)
Parameter2: SPEED (1..65535) in ms. 50ms = 10 Impulse/Sek
erhöht Zähler 1 um Anzahl COUNT mit Zählgeschwindigkeit SPEED
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function COUNTER_COUNT1(COUNT: Integer; SPEED: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_COUNT1 Lib "CASH.DLL" (ByVal COUNT As Long, ByVal SPEED As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_COUNT1 Lib "CASH.DLL" (ByVal COUNT As Integer, ByVal SPEED As Integer) As Integer



COUNTER_COUNT2
Parameter1: COUNT (1..65535)
Parameter2: SPEED (1..65535) in ms. 50ms = 10 Impulse/Sek
erhöht Zähler 2 um Anzahl COUNT mit Zählgeschwindigkeit SPEED
Rückgabe: 1, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
Function COUNTER_COUNT2(COUNT: Integer; SPEED: Integer): Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_COUNT2 Lib "CASH.DLL" (ByVal COUNT As Long, ByVal SPEED As Long) As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_COUNT2 Lib "CASH.DLL" (ByVal COUNT As Integer, ByVal SPEED As Integer) As Integer



COUNTER_CONNECTED
Parameter: keine
Prüft ob ein COUNTER-Board angeschlossen ist
Rückgabe: 0 = nicht angeschlossen, 1 = angeschlossen, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function COUNTER_CONNECTED: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_CONNECTED Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_CONNECTED Lib "CASH.DLL" () As Integer



COUNTER_IN1
Parameter: keine
Eingang 1 Status lesen
Rückgabe: 0 = Eingang IN1 offen, 1 = Eingang IN1 geschlossen, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function COUNTER_IN1: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_IN1 Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_IN1 Lib "CASH.DLL" () As Integer



COUNTER_IN2
Parameter: keine
Eingang 2 Status lesen
Rückgabe: 0 = Eingang IN2 offen, 1 = Eingang IN2 geschlossen, bei Fehler -1

Deklaration in Delphi:
Fügen Sie einfach die DLL-Import-Unit 'cashdll' zu Ihrer uses Klausel hinzu,
oder fügen Sie folgende Zeile im Public-Deklarationen Abschnitt ein:
function COUNTER_IN2: Integer; stdcall; external 'cash.dll';

Deklaration in Visual Basic 6:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.bas' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_IN2 Lib "CASH.DLL" () As Long

Deklaration in Visual Basic .NET:
Fügen Sie einfach die DLL-Import-Unit 'cashdll.vb' zu Ihrem Projekt hinzu,
oder fügen Sie folgende Zeile im Deklarationen Abschnitt ein:
Declare Function COUNTER_IN2 Lib "CASH.DLL" () As Integer



Tipps zur COUNTER Steuerung

Der Parameter SPEED steuert die Zählgeschwindigkeit und wird in Millisekunden angegeben,
z.B. 50 bedeutet: 50ms HIGH + 50ms LOW Signal = 100ms pro Zählimpuls, entspricht 10Hz Zählfrequenz.

Zeitverzögerung beim öffnen des COM-Ports

Das COUNTER-Board hat ein Hardware Zeitglied integriert welches den Schnittstellentest von Windows überbrückt. Beim Booten des PCs wird die Schnittstelle vom Betriebssystem getestet und die Leitungen gehen kurzzeitig auf HIGH. Ohne das Zeitglied würde das COUNTER-Board hier zählen. Das Zeitglied überbrückt diesen Schnittstellentest und das COUNTER-Board zählt nicht. Durch das Zeitglied entsteht eine Verzögerung beim öffnen des COM Ports von ca. 2 Sekunden. Der COM-Port zum COUNTER-Board sollte schon beim Programmstart geöffnet werden, somit sind die Zähler später ohne Zeitverzögerung verfügbar.



Sonstiges
- ab Version 4.x wird die TOTALBLOCKING Leitung benutzt um die Geräte freizugeben!
- ab Version 4.0.2 sind alle Variablen vom Typ INTEGER um kompatibel mit .NET zu sein.
- ab Version 4.0.3 ist das BUSY Signal vom NVx verfügbar (CASH_READ bit7).
- ab Version 4.0.4 ist ein neuer Interner Timer integriert welches das Laden der DLL verkürzt.
- ab Version 4.0.5 sind alle Variablen vom Typ 32-Bit-Ganzzahl
  (Delphi => INTEGER, Visual Basic 6 => LONG, Visual Basic .NET => INTEGER)
- ab Version 4.0.6 sind Funktionen für das seperat erhältliche HOPPER-Interface integriert
- ab Version 4.1.1.2 sind Funktionen für das seperat erhältliche COUNTER-Board integriert
- ab Version 4.1.1.3 sind Funktionen für die externen Eingänge integriert


Copyright © 2010 by bksoft