uber

Über / About
 Startseite Vor
Hilfefile zur / Help file for /
UserLib JHCbw32Dll von / by Jens Haipeter

Library:
V1.13 vom / built 06.02.2011
Hilfe / Help:
V1.13 vom / built 06.02.2011

Die Library ist ausschließlich für:
PB 4.50 / PB4.51 32Bit-Windows-Version /

The library is only for:
PB4.50 / PB4.51 32-Bit-Windows version

(Win98, ME, XP, Vista, Windows7)

Die Libray ist nur Threadsafe (Unicode wird von der gewrappten DLL nicht unterstützt)

Die Library ist dennoch als MultiLib erstellt, keine SubSystems-Einträge.

Diese UserLibrary wurde geschrieben für PureBasic Version 4.xx. Sie dient verschiedenen Funktionen zur direkten Benutzung der cbw32.dll der Firma Measurement Computing unter PureBasic. Die Funktionen wurden mehrfach getestet. Es wird keinerlei Garantie auf Funktion oder Nichtfunktion übernommen. Die Benutzung erfolgt auf eigene Gefahr. Die Library beinhaltet nur eine Teilmenge der Funktionen der cbw32.dll. Sie müssen im Besitz einer Lizenz für die cbw32.dll sein, was durch Kauf eines entsprechenden Moduls erfolgt.

English

This UserLibrary was written for PureBasic version 4.xx. This library is good for some functions around to use the cbw32.dll from the company Measurement Computing direct whith PureBasic. The functions were tested repeatedly. No guarantee is taken on function or not function. The use carried out at her own risk. The library used only a part of functions from cbw32.dll. You must have a license for the original cbw32.dll what you have if you buy a modul from this company.

Dem Paket beigefügt ist ein Codebeispiel, welches alle Funktionen beinhaltet.
A code example which contains all functions is enclosed with the package.

Diese UserLibrary wird ohne die entsprechende Windows-DLL ausgeliefert. Sie müssen zur Nutzung entweder die DLL beim Hersteller von der Seite herunterladen oder Sie haben ein Modul erworben und die DLL im Paket erhalten. Die Library ahmt keine Funktionen nach, sondern setzt sie nur zur Verwendung unter PureBasic um.

This UserLibrary will you be load down with out the DLL for windows. You must this separate load down from the sellers website or you have a modul with this software in the package.

Chemnitz, Dezember 2010

Jens Haipeter, Website: www.jens-haipeter.de


History
 Zurück Startseite Vor
Änderungen, Erweiterungen, Reparaturen an der UserLib

Version 000.000.001 vom 16.01.2008:

- Public Release

Version 000.000.002 vom 19.01.2008:

- Hilfe begonnen zu ergänzen

Version 000.001.000 vom 22.01.2008:

- Hilfe ergänzt um die derzeit unterstützten Funktionen
- Ein paar Sonderfunktionen hinzugefügt

Version 000.001.010 vom 30.03.2009:

- PB4.30 geeignet

Version 000.001.011 vom 14.01.2010:

- PB4.40 geeignet

Version 000.001.012 vom 30.12.2010:

- PB4.50/4.51 geeignet

Version 000.001.013 vom 06.02.2011:

- Threadsafe geeignet


Allgemeines

Allgemeines / General
allgemeine Vereinbarung / General agreements

Measurement Computing unterstützt Board-Nummern von 0 bis 99. Darauf bitte ich zu achten. Die Intialisierung der Boards sollte mit dem Programm InstaCal erfolgen, Sie erhalten es im Paket mit einem Modul oder können sich das Programmpaket von der Seite der Firma herunterladen.

Die UserLibrary ersetzt nicht die Windows DLL cbw32.dll der Firma Measurement Computing, sie stellt nur die Funktionen unter PureBasic zur Verfügung. Die UserLibrary bedient nur einen Teil der Gesamtmenge an Funktionen der cbw32.dll.

Einschränkung für Windows9x:

Die letzte Version die für diese Systeme nutzbar ist, ist die Version ical32_562.exe

Stringrückgaben

sofern erforderlich erfolgen in ASCII, eine Unicode-Version ist nicht möglich

English

This library you can only use with the cbw32.dll from the company Measurement Computing. Measurement Computing used board numbers from 0 to 99. For initial the board, please use the program InstaCal of Measurement Computing. You can load down from sellers website or you have become it with the modul and the dll in a package. The UserLibrary used only a part of all functions from cbw32.dll.

Please note:

for Window9x you can use as latest version ical32_562.exe

Strings

are all in ASCII, Unicode is impossible.

Fehlermeldungen / ERROR-Messages

keine Fehlermeldungen vorgesehen.

Alle Hinweise die in der Editorsyntaxvorschau angezeigt werden sind englisch.

English

No error messages in this library.

All notes are also these shown on the editor syntax line be english.


Danksagungen

Danksagungen / Credits
Dank gilt an dieser Stelle / thanks for:

Miguel Calderon alias El_Choni für seinen Library-Maker Tailbite, ohne ihn wäre es unmöglich UserLib direkt aus PureBasic Quellcode zu erstellen.

Klaus Dresen alias ABBKlaus aus dem PB Forum für die Mühen die TailBite für PB4.xx einsatzfähig zu machen.

Gnozal der sich auch Tailbite angenommen hat.

Falko Lünsmann der 2006 die Idee hatte, dies umzusetzen und sich jede Menge Mühe gemacht hat, die entsprechenden Funktionen herauszufiltern.

Allen ungenannten, die durch ihre Kritik zu Verbesserungen oder Veränderung beigetragen haben oder dies noch tun wollen ;) Es dürfen gern Vorschläge oder Wünsche auf meiner Webseite im Gästebuch oder im Forum hinterlassen werden.

English

By her criticism these have contributed to improvements or change or want to do this still all unnamed. Notes, suggestions being able to and so on be left on my web page in the forum or in the visitor's book. I will assume gratefully or pick up for changes her.


Functions

Funktionen / Functions
Übersicht der Funktionen der Library

Start- und Endefunktionen

- JHCbw32Dll_Close
- JHCbw32Dll_GetConfigPath
- JHCbw32Dll_Initial
- JHCbw32Dll_IsInitial
- JHCbw32Dll_OpenInstaCal

Konfigurationsfunktionen

- JHCbw32Dll_cbCreateBoard
- JHCbw32Dll_cbFlashLED
- JHCbw32Dll_cbGetBoardName
- JHCbw32Dll_cbGetConfig
- JHCbw32Dll_cbLoadConfig
- JHCbw32Dll_cbSaveConfig
- JHCbw32Dll_cbSetConfig
- JHCbw32Dll_cbDConfigBit
- JHCbw32Dll_cbDConfigPort
- JHCbw32Dll_cbErrHandling

Zählerfunktionen

- JHCbw32Dll_cb32CLoad
- JHCbw32Dll_cbCLoad
- JHCbw32Dll_cb32CIn
- JHCbw32Dll_cbCIn

Ein- und Ausgabefunktionen

- JHCbw32Dll_cbOutWord
- JHCbw32Dll_cbOutDoubleWord
- JHCbw32Dll_cbOutByte
- JHCbw32Dll_cbInWord
- JHCbw32Dll_cbInDoubleWord
- JHCbw32Dll_cbInByte
- JHCbw32Dll_cbDOut
- JHCbw32Dll_cbDIn
- JHCbw32Dll_cbDBitOut
- JHCbw32Dll_cbDBitIn

Extrafunktionen

- JHCbw32Dll_Version
- JHCbw32Dll_VersionDate
- JHCbw32Dll_SetZ80Bus
- JHCbw32Dll_ReadZ80SysInfo
- JHCbw32Dll_ReadZ80ASD
- JHCbw32Dll_WriteZ80ASD


Start- und Endefunktionen
Hier sind die Funktionen rund um das Starten und Beenden enthalten. Des weiteren eine Funktion zum Starten des Programms InstaCal der Firma Measurement Computing.

- JHCbw32Dll_Close
- JHCbw32Dll_GetConfigPath
- JHCbw32Dll_Initial
- JHCbw32Dll_IsInitial
- JHCbw32Dll_OpenInstaCal


JHCbw32Dll_Close
Syntax

Result.l =JHCbw32Dll_Close()

Beschreibung / Description

Schließt die cbw32.dll. Eine weitere Verwendung im Programm ist dann nur durch erneute Initialisierung möglich.

English

Close the cbw32.dll. You can´t use anymore.

Rückgabewerte / Returns

- #True wenn die DLL geschlossen wurde
- #False wenn nicht

- #True if succesfull
- #False at fault


JHCbw32Dll_GetConfigPath
Syntax

result.s = JHCbw32Dll_GetConfigPath()

Beschreibung / Description

Versucht den Konfigurationspfad der cbw32.dll von Measurement Computing auszulesen.

English

Return the configurations path of the real dll.

Rückgabewerte / Returns

- Den Pfad zur DLL wenn erfolgreich
- einen Leerstring wenn fehlgeschlagen

- the path to the real dll if succesfull
- a empty string at fault


JHCbw32Dll_Initial
Syntax

result.l = JHCbw32Dll_Initial([fullpath.s])

Beschreibung / Description

Versucht die cbw32.dll und ihre Umgebungsvariablen zu initialisieren. Der Vorgang kann einen Moment dauern. Diese Funktion muß vor allen anderen Befehlen dieser Library aufgerufen werden.

English

Open the cbw32.dll and initial the environment variable for using. This function must be called befor all other of this library.

Rückgabewerte / Returns

- #True wenn die DLL geöffnet wurde
- #False wenn nicht

- #True if succesfull
- #False at fault


JHCbw32_Dll_IsInitial
Syntax

Result.l =JHCbw32Dll_IsInitial()

Beschreibung / Description

Prüft ob die DLL geöffnet und richtig initialisiert ist.

English

Lock for correctly initial of dll.

Rückgabewerte / Returns

- #True wenn erfolgreich
- #False wenn nicht

- #True if succesfull
- #False at fault


JHCbw32Dll_OpenInstaCal
Syntax

result.l = JHCbw32Dll_OpenInstaCal([path.s])

Beschreibung / Description

Versucht die inscal32.exe von Measurement Computing zu starten. Optional können Sie den Pfad angeben, wenn Sie wissen wo sich das Programm befindet. Haben Sie es jedoch ordnungsgemäß installiert, sollte der Pfad selbst gefunden werden.

English

Open the program inscal32.exe von Measurement Computing if succesfull. As option you can give the path to the program. If you have install this correctly, the path will find automatically.

Rückgabewerte / Returns

- #True wenn das Programm gestartet wurde
- #False wenn nicht

- #True if succesfull
- #False at fault


Konfigurationsfunktionen
Funktionen rund um die Konfiguration von Boards und Ports.

- JHCbw32Dll_cbCreateBoard
- JHCbw32Dll_cbFlashLED
- JHCbw32Dll_cbGetBoardName
- JHCbw32Dll_cbGetConfig
- JHCbw32Dll_cbLoadConfig
- JHCbw32Dll_cbSaveConfig
- JHCbw32Dll_cbSetConfig
- JHCbw32Dll_cbDConfigBit
- JHCbw32Dll_cbDConfigPort
- JHCbw32Dll_cbErrHandling


JHCbw32Dll_cbDConfigPort
Syntax

result.l = JHCbw32Dll_cbGetBoardName(BoardNum.l, PortNum.l, Direction.l)

BoardNum: ein Wert von 0 bis 99

PortNum kann die folgenden Werte annehmen:
#FIRSTPORTA
#FIRSTPORTB
#FIRSTPORTCL
#FIRSTPORTCH

Direction kann die folgenden Werte annehmen:
#DIGITALIN
#DIGITALOUT

Beschreibung / Description

Setzt die Richtung des angegebenen Ports. (Ein-, Ausgabe)

English

Set the port direction of given port for input or output.

Rückgabewerte / Returns

- #True wenn erfolgreich
- #False wenn fehlerhaft

- #True if succesfull
- #False at fault


JHCbw32Dll_cbGetBoardName
Syntax

result.l = JHCbw32Dll_cbGetBoardName(BoardNum.l)

BoardNum: ein Wert von 0 bis 99

Beschreibung / Description

Findet den Namen des Boards mit der angegebenen Nummer.

English

Find the name of board with given number.

Rückgabewerte / Returns

- den Namen des Boards wenn erfolgreich
- einen Leerstring wenn kein Board unter der Nummer aktiv ist

- the name of board if succesfull
- a empty string if not a board is registered under the given number


JHCbw32Dll_cbFlashLED
Syntax

result.l = JHCbw32Dll_cbFlashLED(BoardNum.l)

BoardNum: ein Wert von 0 bis 99

Beschreibung / Description

Lässt die LED auf dem angesprochenen Board blinken.

English

Flash the LED on board.

Rückgabewerte / Returns

- ein Ergebnis <> 1 wenn erfolgreich

- result <> 1 if succesfull


JHCbw32Dll_cbCreateBoard
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbDConfigBit
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbErrHandling
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbGetConfig
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbLoadConfig
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbSaveConfig
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbSetConfig
noch nicht dokumentiert und enthalten


Zahlerfunktionen

Zählerfunktionen
Funtionen zum Abruf der teilweise in den Modulen integrierten Zähler.

- JHCbw32Dll_cb32CLoad
- JHCbw32Dll_cbCLoad
- JHCbw32Dll_cb32CIn
- JHCbw32Dll_cbCIn


JHCbw32Dll_cb32CLoad
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbCLoad
noch nicht dokumentiert und enthalten


JHCbw32Dll_cb32CIn
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbCIn
noch nicht dokumentiert und enthalten


Ein- und Ausgabefunktionen
Funktionen zum Zugriff auf die Ports zur Ein- und Ausgabe

- JHCbw32Dll_cbOutWord
- JHCbw32Dll_cbOutDoubleWord
- JHCbw32Dll_cbOutByte
- JHCbw32Dll_cbInWord
- JHCbw32Dll_cbInDoubleWord
- JHCbw32Dll_cbInByte
- JHCbw32Dll_cbDOut
- JHCbw32Dll_cbDIn
- JHCbw32Dll_cbDBitOut
- JHCbw32Dll_cbDBitIn


JHCbw32Dll_cbDIn
Syntax

result.l = JHCbw32Dll_cbDIn(BoardNum.l, PortNum.l)

BoardNum: ein Wert von 0 bis 99

PortNum kann die folgenden Werte annehmen:
#FIRSTPORTA
#FIRSTPORTB
#FIRSTPORTCL
#FIRSTPORTCH

Beschreibung / Description

Liest den Wert vom angegebenen Board und dessen vorgegebenen Port.

English

Read the value of given board with given portnumber.

Rückgabewerte / Returns

- der Wert des Ports wenn erfolgreich, kann auch NULL sein
- einen Wert kleiner Null wenn Fehler

- the value of port, can be NULL
- a value < 0 at fault


JHCbw32Dll_cbDOut
Syntax

result.l = JHCbw32Dll_cbDOut(BoardNum.l, PortNum.l, PortVal.l)

BoardNum: ein Wert von 0 bis 99

PortNum kann die folgenden Werte annehmen:
#FIRSTPORTA
#FIRSTPORTB
#FIRSTPORTCL
#FIRSTPORTCH

PortVal:
in Abhängigkeit von der Breite des Ports.
z.B. 8 Bit: 0 - 255

Beschreibung / Description

Gibt den Wert auf den angegebenen Board und dem angegebenen Port aus.

English

Set the value at given board and port.

Rückgabewerte / Returns

- #True wenn erfolgreich
- #False wenn fehlerhaft

- #True if succesfull
- #False at fault


JHCbw32Dll_cbDBitIn
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbDBitOut
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbInByte
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbOutByte
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbInWord
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbOutWord
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbInDoubleWord
noch nicht dokumentiert und enthalten


JHCbw32Dll_cbOutDoubleWord
noch nicht dokumentiert und enthalten


Extrafunktionen
In diesem Kapitel finden Sie einige Interne und Sonderfunktionen.

interne Funktionen

- JHCbw32Dll_Version
- JHCbw32Dll_VersionDate

Z80 Bussimulation

- JHCbw32Dll_SetZ80Bus
- JHCbw32Dll_ReadZ80SysInfo
- JHCbw32Dll_ReadZ80ASD
- JHCbw32Dll_WriteZ80ASD


JHCbw32DLL_Version
Syntax

result.s = JHCbw32Dll_Version (flag.b)

Beschreibung / Description

Gibt die Versionsnummer der PB UserLibrary als ASCII-String zurück.

English

Return the number of version from the PB user library as ASCII string.

Rückgabewerte / Returns

- mit flag = 1 wird ein Requester geöffnet der die Daten anzeigt. Außerdem wird
der Rückgabestring mit der Versionsnummer belegt.

- mit flag <> 1 wird nur der Rückgabestring mit der Versionsnummer belegt.

- with flag = #True is open a requester with the version informations. The string will be return
the number of version.

- with flag <> #True give only the string with version number.


JHCbw32Dll_VersionDate
Syntax

result.s = JHCbw32Dll_VersionDate()

Beschreibung / Description

Gibt das Versionsdatum der PB UserLibrary als ASCII-String zurück.

English

Returns the date of version from the PB user library as ascii-string.

Rückgabewerte / Returns

- Das Versionsdatum der PB Library

- the date of version from the PB library


Z80 Bussimulation
Sonderfunktionen für die Z80 Bussimulation

In diesem Kapitel werden einige Sonderfunktionen beschrieben, die für eines meiner Projekte bestimmt sind. Da sie in der Library enthalten sind, möchte ich sie in der Beschreibung nicht unter den Tisch fallen lassen.

Es handelt sich dabei um Funktionen, die nur mit einem Modul sinnvoll verwendbar sind, wenn es 24 Bit parallele Ausgänge aufweist, wie zum Beispiel das PMD-1024LS. Nur mit diesem Modul ist die Funktion getestet.

Die Befehle dienen der Simulation des Z80 Input-/Output Busses, es sind also je 8 Bit Adressen und Daten und 4 Bit Systembus die generiert werden. Weitere 4 Bit des höherwertigen Nibbles des Kanals C stehen für die Rückführung einiger Systemdaten zur Verfügung, welche aber nur mit der ausgangseitigen Hardware eine Funktion erfüllen.

Bei entspechender externer Dekodierung können damit 65536 Signale abgebildet werden.

Für weitere Informationen kann auch das Programm <ControlUSBPort.exe> herangezogen werden. Hier möchte ich nur ein Diagramm zur Verdeutlichung darstellen. Hauptverwendung des Ganzen ist in meinem Projekt WBahn2008.

Um das alles benutzen zu können, müssen Sie eine entsprechende externe Beschaltung aufbauen. Auch hierzu können Sie auf meiner Homepage nachlesen und sich auch den entsprechenden Schaltplan herunterladen www.jens-haipeter.de unter Projekte Hardware.

- JHCbw32Dll_SetZ80Bus
- JHCbw32Dll_ReadZ80SysInfo
- JHCbw32Dll_ReadZ80ASD
- JHCbw32Dll_WriteZ80ASD

Zeitablaufdiagramm Z80 Bus


JHCbw32Dll_SetZ80Bus
Syntax

result.l = JHCbw32Dll_SetZ80Bus(BoardNum.l)

BoardNum: ein Wert von 0 bis 99

Beschreibung / Description

Setzt die Signale für den Z80 Bus auf einen Grundzustand.

English

Set the signals for Z80 bus.

Rückgabewerte / Returns

- #True wenn erfolgreich
- #False bei Fehler

- #True if succesfull
- #False at fault


JHCbw32Dll_ReadZ80SysInfo
Syntax

result.s = JHCbw32Dll_ReadZ80SysInfo(BoardNum.l)

BoardNum: ein Wert von 0 bis 99

Beschreibung / Description

Liest die Signale des höherwertigen Nibbles von Port C. Diese dienen der Rückführung einiger Hardwareinformationen.

English

Read the signals from port CH.

Rückgabewerte / Returns

Die Signale sind invertiert, bitte beachten!

Ein 4 Bit Binärstring mit folgender Wertigkeit:

- Bit 4 von Port C - externe Spannungsversorgung OK = 0
- Bit 5 von Port C - frei verfügbar, offen = 1
- Bit 6 von Port C - frei verfügbar, offen = 1
- Bit 7 von Port C - frei verfügbar, offen = 1

Im Fehlerfalle einen Leerstring.

English

Please note: all inputs are inverted!

A binary string with following content

- Bit 4 Port C - external power OK = 0
- Bit 5 Port C - free = 1
- Bit 6 Port C - free = 1
- Bit 7 Port C - free = 1

A empty string at fault.


JHCbw32Dll_ReadZ80ASD
Syntax

result.l = JHCbw32Dll_ReadZ80ASD2(BoardNum.l, Adresse.l, [Time_0.l, Time_1.l])

BoardNum: ein Wert von 0 bis 99
Adresse: ein Wert von 0 bis 255

Optionale Parameter Verzögerungszeiten

Time_0: ein Wert von 2 bis 500 (ms)
Time_1: ein Wert von 2 bis 500 (ms)

Beschreibung / Description

Liest das Datenbyte von Kanal B des PMD-1024LS auf der dazu angegebenen Adresse von Kanal A. Dazu werden die entsprechenden Systembussignale gesetzt, so daß extern damit eine Dekodierung durchgeführt werden kann.

Optional können die Zeiten T0 und T1 angegeben werden. Dabei ist T0 eine Zeit die zwischen den einzelnen Schritten wirkt und T1 die Zeit, für die die Eingangssignale gelesen werden. Siehe dazu auch das Diagramm . Werden keine Zeiten angegeben, so sind diese intern auf je 2 ms gesetzt.

English

Read channel B of PMD-1024 as databyte from Z80 with given address of channel A.

Rückgabewerte / Returns

- der Wert des Ports wenn erfolgreich, kann auch NULL sein
- einen Wert kleiner als Null wenn Fehler

- the value of port, can be NULL
- a value < 0 at fault


JHCbw32Dll_WriteZ80ASD
 Zurück Startseite
Syntax

result.l = JHCbw32Dll_WriteZ80ASD2(BoardNum.l, Adresse.l, Daten.l, [Time_0.l, Time_1.l])

BoardNum: ein Wert von 0 bis 99
Adresse: ein Wert von 0 bis 255
Daten: ein Wert von 0 bis 255

Optionale Parameter Verzögerungszeiten

Time_0: ein Wert von 2 bis 500 (ms)
Time_1: ein Wert von 2 bis 500 (ms)

Beschreibung / Description

Schreibt das Datenbyte auf Kanal B des PMD-1024LS auf die dazu angegebenen Adresse von Kanal A. Dazu werden die entsprechenden Systembussignale gesetzt, so daß extern damit eine Dekodierung durchgeführt werden kann.

Optional können die Zeiten T0 und T1 angegeben werden. Dabei ist T0 eine Zeit die zwischen den einzelnen Schritten wirkt und T1 die Zeit, für die die Eingangssignale gelesen werden. Siehe dazu auch das Diagramm . Werden keine Zeiten angegeben, so sind diese intern auf je 2 ms gesetzt.

English

Write channel B of PMD-1024 as databyte from Z80 to the given address of channel A.

Rückgabewerte / Returns

- #True wenn erfolgreich
- #False wenn Fehler

- #True if succesfull
- #False at fault