Seite 1
DIN EN ISO 9001:2000 zertifiziert ADDI-DATA GmbH Dieselstraße 3 D-77833 OTTERSWEIER Technischer Support: +49 (0)7223 / 9493 – 0 Technisches Referenzhandbuch APCI-1500, CPCI-1500 Digitale E/A-Karte, galvanisch getrennt Ausgabe: 12.08 - 02/2007...
Seite 2
Drucklegung. Der Inhalt dieses Handbuchs und die technischen Daten des Produkts können ohne vorherige Ankündigung geändert werden. Die ADDI-DATA GmbH behält sich das Recht vor, Änderungen bzgl. der technischen Daten und der hierin enthaltenen Materialien vorzunehmen. Gewährleistung und Haftung Der Nutzer ist nicht berechtigt, über die vorgesehene Nutzung der Karte hinaus Änderungen des...
Seite 5
WARNUNG Bei unsachgemäßem Einsatz und bestimmungswidrigem Gebrauch der Karte können: ♦ Personen verletzt werden, ♦ Baugruppe, PC und Peripherie beschädigt werden, ♦ Umwelt verunreinigt werden. ♦ Schützen Sie sich, andere und die Umwelt! ♦ Sicherheitshinweise unbedingt lesen. Liegen Ihnen keine Sicherheitshinweise vor, so fordern Sie diese bitte an.
Seite 6
TECHNISCHE DATEN ..........12 Elektromagnetische Verträglichkeit (EMV) ......12 Mechanischer Aufbau ............12 Optionen ................13 Grenzwerte ................13 Bestückungsplan..............16 EINBAU DER KARTE ............18 Einbau einer APCI-1500-Einsteckkarte........18 5.1.1 PC öffnen..................18 5.1.2 Auswahl eines freien Steckplatzes ..........18 5.1.3 Einbau..................19 5.1.4 PC schließen................19...
Seite 9
APCI-/CPCI-1500 Abbildungs- und Tabellenverzeichnis Abbildungen Abb. 3-1: Richtige Handhabung der APCI-1500 ........11 Abb. 3-2: Richtige Handhabung der CPCI-1500 ........11 Abb. 4-1: Bestückungsplan der APCI-1500..........16 Abb. 4-2: Bestückungsplan der CPCI-1500 ..........17 Abb. 5-1: PCI-5V (32-Bit) Steckplatz ............18 Abb.
Seite 10
APCI-/CPCI-1500 DEFINITION DES VERWENDUNGSBEREICHS Bestimmungsgemäßer Zweck Die Karte APCI-1500 eignet sich für den Einbau in einen PC mit PCI 5V/32 Bit Steckplätzen, der für elektrische Mess-, Steuer-, Regel- und Labortechnik im Sinne der EN 61010-1 (IEC 61010-1), eingesetzt wird. Die Karte CPCI-1500 eignet sich für den Einbau in einen CompactPCI/PXI Rechner mit Compact PCI 5V/32 Bit Steckplätzen, der für elektrische Mess-,...
Seite 11
APCI-/CPCI-1500 Definition des Verwendungsbereichs Beim Einsatz der Karte in den PC können sich die Störfestigkeits- und Emissionswerte des PCs verändern. Erhöhte Emissionen oder verringerte Störfestigkeit können zur Folge haben, dass die Konformität des Systems nicht mehr sichergestellt ist. Prüfen Sie daher das Schirmdämpfungsmaß von PC-Gehäuse und Kabelschirm, bevor Sie das Gerät in Betrieb nehmen.
Seite 12
Benutzer APCI-/CPCI-1500 BENUTZER Qualifikation Nur eine ausgebildete Elektronikfachkraft darf folgende Tätigkeiten ausführen: Installation Inbetriebnahme, Betrieb, Instandhaltung. Persönliche Schutzausrüstung Beachten Sie die länderspezifischen Bestimmungen zur: Unfallverhütung Einrichtung von elektrischen und mechanischen Anlagen Funkentstörung.
Seite 13
APCI-/CPCI-1500 Handhabung der Karte HANDHABUNG DER KARTE Abb. 3-1: Richtige Handhabung der APCI-1500 Abb. 3-2: Richtige Handhabung der CPCI-1500...
Seite 14
Felder ............10 V/m 10 V/m Burst ............4 kV 2 kV Geleitete Funkstörungen ......10 V 10 V Mechanischer Aufbau Die Karte ist auf einer 4-Lagen Leiterplatte aufgebaut. APCI-1500 CPCI-1500 131 mm Abmessungen 100 mm 160 g 200 g Gewicht...
Seite 15
Betriebstemperatur: ........0 bis 60°C Lagertemperatur: ........-25 bis + 70°C Relative Luftfeuchtigkeit bei Innenraumaufstellung: 50% bei +40 °C 80% bei +31 °C PC-Mindestvoraussetzungen (APCI-1500): PCI BIOS ab Version 1.0 Bus Geschwindigkeit: ....... < 33 MHz Betriebssystem: ......... Windows NT, 98, 2000 System-Mindestvoraussetzungen (CPCI-1500): - 32-Bit CompactPCI Bus (5 Volt) - PCI BIOS, PCI 2.1 Spezifikation und CompactPCI 2.1 "compliant"...
Seite 16
Maximaler Ausgangsstrom / Ausgang: ..500 mA Kurzschlussstrom / Ausgang bei 24 V, APCI-1500: R last < 0,1 R: ....... 1,5 A max. (bewirkt das Ausschalten des Ausgangs) CPCI-1500: R last < 0,01 R: ..... 2,5 A max. (bewirkt das...
Seite 17
Zeiten von 10 μs bis 37 s stehen zur Verfügung. Zählereingänge: max. 10 kHz, 24 V APCI-1500 Option schnelle Zählereingänge: ....max. 140 kHz, 24 V CPCI-1500 Anzeigen über LED am Frontblech Grüne LED an: ......... Ext. Spannungsversorgung > 8 V...
Seite 18
Technische Daten APCI-/CPCI-1500 Bestückungsplan Abb. 4-1: Bestückungsplan der APCI-1500...
Seite 19
APCI-/CPCI-1500 Technische Daten Abb. 4-2: Bestückungsplan der CPCI-1500...
Seite 20
APCI-/CPCI-1500 EINBAU DER KARTE WICHTIG! Berücksichtigen Sie unbedingt die Sicherheitshinweise. Einbau einer APCI-1500-Einsteckkarte 5.1.1 PC öffnen ♦ PC und alle am PC angeschlossenen Einheiten ausschalten. ♦ Netzstecker des PCs aus der Steckdose ziehen. ♦ PC öffnen wie im Handbuch des PC Herstellers beschrieben.
Seite 21
APCI-/CPCI-1500 Einbau der Karte 5.1.3 Einbau ♦ Karte senkrecht von oben in den gewählten Steckplatz einführen. Abb. 5-2: Einbau der Karte ♦ Karte an der Gehäuserückwand mit der Schraube befestigen, mit der das Blech befestigt war. Abb. 5-3: Die Karte an der Gehäuserückwand befestigen ♦...
Seite 22
Einbau der Karte APCI-/CPCI-1500 Einbau einer CPCI-1500-Einschubkarte Es stehen mehrere PCI Steckplatztypen für 5V-Systeme zur Verfügung: PCI-5V (32-Bit) und PCI-5V (64-Bit). Abb. 5-4: Steckplatztypenfür CompactPCI Karten ♦ Entladen Sie sich. ♦ Halten Sie die Karte am Griff. (Siehe Handhabung der Karte). ♦...
Seite 23
APCI-/CPCI-1500 Einbau der Karte ♦ Vergewissern Sie sich, dass die Karte richtig eingesteckt ist. Der Codierschlüssel des CompactPCI Steckplatzes auf der Backplane muss zum Codierschlüssel der Karte passen. (blauer Codierschüssel, wenn die Karte mit 5 V betrieben wird) Abb. 5-6: Codierschlüssel ♦...
Seite 24
Software APCI-/CPCI-1500 SOFTWARE Im folgenden Kapitel werden die Software und ihre Verwendung beschrieben. WICHTIG! Die wichtigsten Informationen für das Installieren und Deinstallieren der verschiedenen Treiber finden Sie im mitgelieferten Handbuch "Installationshinweise für den PCI- und ISA-Bus". Sie finden einen Link zu der entsprechenden PDF Datei im Navigationsfenster (Lesezeichen) von Acrobat Reader.
Seite 25
Kartenkonfiguration mit ADDIREG Das Registrierungsprogramm ADDIREG ist ein 32-Bit-Programm für Windows XP/2000/NT4.0/9x. Mit diesem Programm kann der Benutzer alle Hardware- Informationen registrieren, die für die Benutzung der ADDI-DATA PC-Karten erforderlich sind. WICHTIG! Wenn Sie eine oder mehrere Ressourcen der Karte benutzen, können Sie das ADDIREG Programm nicht starten.
Seite 26
Software APCI-/CPCI-1500 PCI bus/slot: Benutzter PCI Steckplatz. Falls die Karte keine APCI-Karte ist, erscheint die Meldung: "NO". Interrupt: Benutzter Interrupt der Karte. Falls die Karte keinen Interrupt benutzt, erscheint die folgende Meldung: "Not available". ISA DMA (nur für ISA-Karten): Zeigt den ausgewählten DMA-Kanal oder "Not available" an, wenn die Karte keinen benutzt oder wenn die Karte keine ISA Karte ist.
Seite 27
APCI-/CPCI-1500 Software Schaltflächen Edit Auswahl der markierten Karte mit den verschiedenen gesetzten Parametern der Text-Eintragsfenster. Auf Edit klicken, um die Einträge zu bestätigen oder Doppelklick auf die ausgewählte Karte. Insert: Wenn Sie eine neue Karte einfügen wollen, klicken Sie auf "Insert". Das folgende Fenster erscheint am Bildschirm: Abb.
Seite 28
Software APCI-/CPCI-1500 More information: Sie können damit kartenspezifische Parameter ändern, z.B. die Identifier Zeichenkette, die COM-Nummer, den Betriebsmode einer Kommunikationskarte, usw..Wenn Ihre Karte diese Informationen nicht unterstützt, wird diese Schaltfläche gesperrt. Abb. 6-3: PCI Karten Mit dieser Option können die Zeichenkette für den Identifier auswählen, indem Sie die Nummer eintragen und mit „OK“...
Seite 29
APCI-/CPCI-1500 Software 6.1.2 Eine neue Karte registrieren WICHTIG! Um eine neue Karte zu registrieren, sind Administratorenrechte erforderlich. Nur ein Administrator kann eine neue Karte registrieren oder eine bereits vorhandene Registrierung ändern. ♦ Rufen Sie das ADDIREG Programm auf. Die Abbildung Abb. 6-1 erscheint auf Ihren Bildschirm. ♦...
Seite 30
Software APCI-/CPCI-1500 Die Parameter der Karte (Basisadresse, DMA Kanal, ..) werden in den unteren Flächen aufgelistet. ♦ Klicken Sie auf die Rollfunktionen der Parameter, die Sie ändern wollen und machen Sie die Roll-Funktionen auf. ♦ Wählen Sie einen neuen Wert aus. ♦...
Seite 31
Sollte dies nicht nötig sein, können Sie ADDIREG verlassen, und direkt an Ihrer Applikation arbeiten. Fragen und Software-Download im Internet Sie können uns Fragen zusenden: per Email: info@addi-data.de oder hotline@addi-data.de Download im Internet Die neueste Version der Standardsoftware für die Karten APCI-/CPCI-1500 können Sie kostenlos downloaden unter:...
Seite 32
Anschluss an die Peripherie APCI-/CPCI-1500 ANSCHLUSS AN DIE PERIPHERIE WARNUNG! Ein falsches Kabel gefährdet die Betriebs- und Funktionssicherheit Ihres Systems. Über das Anschlusskabel werden Störungen ausgestrahlt und eingekoppelt. Steckerbelegung Abb. 7-1: 37-poliger SUB-D Stiftstecker...
Seite 33
APCI-/CPCI-1500 Anschluss an die Peripherie Anschlussprinzip Abb. 7-2: Anschlussprinzip der Ein- und Ausgänge Anschlussbeispiele Abb. 7-3: Anschlussbeispiel für die Ein- und Ausgänge...
Seite 34
Anschluss an die Peripherie APCI-/CPCI-1500 Abb. 7-4: Anschluss an Anschlussplatinen und Relaisausgabekarten...
Seite 35
APCI-/CPCI-1500 Funktionen der Karte FUNKTIONEN DER KARTE Blockschaltbilder Abb. 8-1: Blockschaltbild der APCI-1500 Abb. 8-2: Blockschaltbild der CPCI-1500...
Seite 36
Funktionen der Karte APCI-/CPCI-1500 Kartenbeschreibung Die Karte APCI-/CPCI-1500 dient zur parallelen Eingabe/Ausgabe von digitalen Signalen in 24 V Industriepegel Umgebung. Die Peripherie und das System sind gleichzeitig galvanisch getrennt. Es stehen zur Verfügung: 16 digitale Eingänge: davon sind 14 interruptfähig. 3 Zähler (bzw.
Seite 37
APCI-/CPCI-1500 Funktionen der Karte WARNUNG! Wenn Sie alle Eingänge mit der gleichen Spannungsversorgung betreiben, muss die Spannungsversorgung muss mindestens 16 x 6 = 96 mA liefern können. Die maximale Eingangsspannung liegt bei 30 V. Transil-Dioden, Z-Dioden, C-Filter und Optokoppler sieben Störungen von der Peripherie-Seite auf die Systembus-Seite.
Seite 38
Funktionen der Karte APCI-/CPCI-1500 (Signalwechsel von 0 V auf 24 V) „4“: Der Eingang reagiert auf beide Flanken Beispiel für Port 1 (digitale Eingänge 1-8), AND-Logik Bedingung für das Erzeugen eines Interrupts: Digitaler Eingang 8 7 6 5 4 3 2 1 Eventmaske 3 X 1 0 0 1 0 1 Folgende Bedingungen lösen einen Interrupt aus:...
Seite 39
APCI-/CPCI-1500 Funktionen der Karte wird ein Interrupt ausgelöst Wenn sich der Eingang 2 von 0 V auf 24 V ändert, während der Eingang 1 auf 24 V bleibt, wird kein Interrupt ausgelöst, weil die OR-Bedingung immer noch erfüllt ist. Zähler Zähler 1: Eingang 14 Signaleingang Zähler 2:...
Seite 40
Funktionen der Karte APCI-/CPCI-1500 8.3.2 Digitale Ausgabe Die Karte APCI-/CPCI-1500 besitzt 16 optoisolierte Ausgänge. Die Ausgänge entsprechen dem 24 V Industrie Standard (IEC1131-2) Positive Logik wird benutzt - logisch"1": Ausgang über Software setzen (Schalter auf ON), - logisch"0": Ausgang zurücksetzen (Schalter auf OFF). Die Ausgänge (Schalter) schalten die +24V Ext nach außen zur Last.
Seite 41
APCI-/CPCI-1500 Funktionen der Karte Diese Fehlerinformationen stehen über eine Interruptroutine dem Benutzerprogramm zur Verfügung (siehe API Funktionen, i_APCI1500_SetBoardIntRoutine, i_APCI1500_ResetBoardIntRoutine). Abb. 8-5: Ausgangsbeschaltung...
Seite 42
Funktionen der Karte APCI-/CPCI-1500 8.3.3 Interrupt Die Karte APCI-/CPCI-1500 besitzt eine Interruptleitung. Sie wird durch das BIOS auf eine Interruptleitung des PCI Buses gelegt. Mögliche Interruptquellen : Event 1 eingetreten (Eingang 1-8), Event 2 eingetreten (Eingang 9-14), Zähler/Timer 1 Ablauf, Zähler/Timer 2 Ablauf, Zähler/Timer 3 Ablauf, Watchdog Ablauf, Ausgänge werden zurückgesetzt,...
Seite 43
111,86 kHz 574 µs 37,65 s 3,49 kHz 1,14 ms 74,95 s 1,747 kHz Option (nur für die APCI-1500) Die Zählereingänge 1,2 und 3 können mit schnellen Optokopplern ausgerüstet werde. Die maximale Eingangsfrequenz beträgt dann 140 kHz. (Standardfrequenz: 10 kHz)
Seite 44
Standardsoftware APCI-/CPCI-1500 STANDARDSOFTWARE Einleitungen WICHTIG! Merken Sie sich die folgenden Schreibweisen im Text: Funktion: "i_APCI1500_SetBoardInformation" Variable: ui_Address Tabelle 9-1: Type Declaration für Dos und Windows 3.1x Borland C Microsoft C Borland Microsoft Microsoft Pascal Visual Basic Visual Basic Windows void void pointer VOID...
Seite 45
APCI-/CPCI-1500 Standardsoftware Softwarefunktionen 9.2.1 Adresse und Interrupt i_APCI1500_InitCompiler (...) Syntax: <Return Wert>= i_APCI1500_InitCompiler (BYTE b_CompilerDefine) Parameter: - Eingabe: BYTE b_CompilerDefine Der Benutzer soll die Sprache unter Windows auswählen, in der er programmieren will. - DLL_COMPILER_C: Programmierung in C. - DLL_COMPILER_VB: Programmierung in Visual Basic für Windows.
Seite 46
[10]; i_ReturnValue = i_APCI1500_CheckAndGetPCISlotNumber (b_SlotNumberArray); Return Wert: Gibt die Anzahl der xPCI-1500 zurück, die in dem PC eingebaut sind. Wenn der Return Wert 0 ist, wurde keine xPCI-1500 in dem PC gefunden. Gemeinsame Bezeichnung für APCI-1500 und CPCI-1500...
Seite 47
APCI-/CPCI-1500 Standardsoftware i_APCI1500_SetBoardInformation (...) Syntax: <Return Wert> = i_APCI1500_SetBoardInformation (BYTE b_SlotNumber, PBYTE pb_BoardHandle) Parameter: - Eingabe: BYTE b_SlotNumber Steckplatznummer der Karte - Ausgabe: PBYTE pb_BoardHandle Handle der Karte für die Benutzung der Funktionen Aufgabe: Überprüft, ob die xPCI-1500 vorhanden ist und speichert die Steckplatznummer Der Benutzer bekommt einen Handle zurück, damit die nächsten Funktionen benutzt werden können.
Seite 48
Standardsoftware APCI-/CPCI-1500 i_APCI1500_GetHarwareInformation Syntax: <Return Wert> = i_APCI1500_GetHardwareInformation (BYTE b_BoardHandle, PUINT pui_BaseAddress, PBYTE pb_InterruptNbr, PBYTE pb_SlotNumber) Parameter: - Eingabe: BYTE b_BoardHandle Handle der Karte - Ausgabe: PUINT pui_BaseAddress Basisadresse der Karte PBYTE pb_InterruptNbr Interruptkanal der Karte PBYTE pb_SlotNumber Steckplatznummer der Karte Aufgabe: Gibt die Basisadresse , den Interrupt und die Steckplatznummer der Karte zurück.
Seite 49
APCI-/CPCI-1500 Standardsoftware i_APCI1500_CloseBoardHandle (...) WICHTIG! Rufen Sie diese Funktion jedesmal auf, wenn Sie das Benutzerprogramm verlassen wollen! Syntax: <Return Wert> = i_APCI1500_CloseBoardHandle (BYTE b_BoardHandle) Parameter: - Eingabe: BYTE b_BoardHandle Handle der Karte - Ausgabe: Es erfolgt keine Ausgabe Aufgabe: Gibt den Handle der Karte frei. Sperrt den Zugriff auf die Karte. Funktionsaufruf: ANSI C : i_ReturnValue;...
Seite 50
Standardsoftware APCI-/CPCI-1500 9.2.2 Interrupt WICHTIG! Diese Funktion ist nur für C/C++ und Pascal für DOS. i_APCI1500_SetBoardIntRoutineDos (..) Syntax: <Return Wert> = i_APCI1500_SetBoardIntRoutineDos (BYTE b_BoardHandle, VOID v_FunctionName (BYTE b_BoardHandle, BYTE b_InterruptMask, BYTE b_InputChannelNbr)) Parameter: - Eingabe: BYTE b_BoardHandle Handle der Karte Karte VOID v_FunctionName Name der Benutzer-Interruptroutine...
Seite 51
APCI-/CPCI-1500 Standardsoftware Wenn mehrere Karten betrieben werden, und mehrere auf Interrupts reagieren sollen, gibt die Variable b_BoardHandle die Identifikationsnummer (Handle) der Karte, die den Interrupt erzeugt hat. Die Benutzer Interruptroutine muss die folgende Syntax haben: VOID_ v_FunctionName (BYTE_ b_BoardHandle, BYTE_b_InterruptMask, BYTE b_InputChannelNbr) Name der Benutzer Interruptroutine v_FunctionName...
Seite 52
Standardsoftware APCI-/CPCI-1500 Funktionsaufruf: ANSI C : void v_FunctionName (unsigned char b_BoardHandle, unsigned char b_InterruptMask, unsigned int b_InputChannelNumber) i_ReturnValue; unsigned char b_BoardHandle; i_ReturnValue = i_APCI1500_SetBoardIntRoutine (b_BoardHandle, v_FunctionName ); Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Interrupt schon installiert -3: Der ausgewählte Aufrufmode der Benutzer-Interruptroutine ist falsch -4: Kein Speicherplatz für den Benutzer-Gemeinschaftsspeicher verfügbar -5: Interruptroutine schon verwendet...
Seite 53
APCI-/CPCI-1500 Standardsoftware Die variable v_FunctionName hat nur beim ersten Aufruf eine Bedeutung Ab dem zweiten Aufruf der Funktion (nächste Karten) werden Interrupts ermöglicht. D.h. die erste Karte kann IRQs bekommen. Interrupt Wenn ein Interrupt erzeugt wird, wird die Benutzer Interruptroutine vom System aufgerufen.
Seite 54
Standardsoftware APCI-/CPCI-1500 Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Interrupt schon installiert -3: Der ausgewählte Aufrufmode der Benutzer-Interruptroutine ist falsch -4: Kein Speicherplatz für den Benutzer-Gemeinschaftsspeicher verfügbar -5: Interruptroutine schon verwendet -6: Es wurde der Karte kein Interrupt zugewiesen. -7: ACPI kann nicht unter Windows NT 4.0 oder MS-Dos aktiviert werden.
Seite 55
APCI-/CPCI-1500 Standardsoftware Interrupt Wenn ein Interrupt erzeugt wird, wird die Benutzer Interruptroutine vom System aufgerufen. Ein Interrupt wird erzeugt, wenn: - der Zähler/Timer abgelaufen ist - ein Event generiert wird - der Watchdog abgelaufen ist. Die folgende Fehler können erfolgen: - Übertemperature - Kurzschluss - keine Spannung...
Seite 56
Standardsoftware APCI-/CPCI-1500 WICHTIG! Wenn Sie Visual Basic für Windows benutzen, gibt es den folgenden Parameter nicht. Benutzen Sie die Funktion "i_APCI1500_TestInterrupt". VOID v_FunctionName (BYTE b_BoardHandle, BYTE b_InterruptMask, BYTE b_InputChannelNbr) Funktionsaufruf: ANSI C : void v_FunctionName (unsigned char b_BoardHandle, unsigned char b_InterruptMask, unsigned char b_InputChannelNbr) i_ReturnValue;...
Seite 57
APCI-/CPCI-1500 Standardsoftware WICHTIG! Wenn Sie Visual Basic für Windows benutzen, gibt es den folgenden Parameter nicht. Benutzen Sie die Funktion "i_APCI1500_TestInterrupt". i_APCI1500_SetBoardIntRoutineWin32 (..) Syntax: <Return Wert> = i_APCI1500_SetBoardIntRoutineWin32 (BYTE b_BoardHandle, BYTE b_UserCallingMode, ULONG ul_UserSharedMemorySize, VOID ** ppv_UserSharedMemory, VOID v_FunctionName (BYTE b_BoardHandle, BYTE b_InterruptMask,...
Seite 58
Standardsoftware APCI-/CPCI-1500 Aufgabe: WINDOWS 32-BIT INFORMATION! Für Windows NT und Windows 2000/9x stehen 4 Rings zur Verfügung (Ring 0 bis Ring 3). Das Benutzer-Anwendungsprogramm läuft unter Ring 3 In diesem Ring steht kein Zugriff auf Hardware zur Verfügung. VXD und SYS Treiber laufen unter Ring 0 und machen einen Hardwarezugriff. Von Ring 0 kann nicht auf die Variablen von Ring 3 zugegriffen werden.
Seite 59
APCI-/CPCI-1500 Standardsoftware Die Benutzer Interruptroutine kann wie folgt aufgerufen werden: direkt von der Interruptroutine des Treibers (Synchron-Mode). Der Code der Benutzer Interruptroutine läuft unmittelbar unter Ring 0. oder vom Interrupt Thread des Treibers (Asynchron-Mode). Ein Event wird generiert und der Interrupt Thread ruft die Benutzer Interruptroutine auf. Der Code der Benutzer Interruptroutine läuft unter Ring 3.
Seite 60
Standardsoftware APCI-/CPCI-1500 Interruptroutine wird erhöht.
Seite 61
APCI-/CPCI-1500 Standardsoftware Gemeinschaftsspeicher (Shared Memory): Wenn Sie den APCI1500_SYNCHRONOUS_MODE ausgewählt haben, können Sie nicht auf die Windows-API-Funktionen zugreifen. Sie haben aber die Möglichkeit, einen Gemeinschaftsspeicher zu erstellen (ppv_UserSharedMemory), in dem alle vorgegebenen Compiler oder Benutzer- Defines gespeichert werden. Die Variable ul_UserSharedMemorySize ermittelt die Größe des ausgewählten Benutzer-Typs in Bytes.
Seite 62
Standardsoftware APCI-/CPCI-1500 Der Benutzer kann andere Namen für v_FunctionName, b_BoardHandle, b_InterruptMask, pui_AnalogInputValue, b_UserCallingMode und pv_UserSharedMemory vergeben. WICHTIG! Wenn Sie Visual Basic 4 benutzen, haben die folgenden Parameter keine Bedeutung. Benutzen Sie die Funktion "i_APCI1500_TestInterrupt". BYTE b_UserCallingMode, ULONG ul_UserSharedMemorySize, VOID ** ppv_UserSharedMemory, VOID v_FunctionName (BYTE...
Seite 63
APCI-/CPCI-1500 Standardsoftware Dim i_BoardHandle As Integer i_ReturnValue = i_APCI1500_SetBoardIntRoutineWin32 (i_BoardHandle, APCI1500_ASYNCHRONY_MODE, AddressOf v_FunctionName) Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Interrupt schon installiert -3: Der ausgewählte Aufrufmode der Benutzer-Interruptroutine ist falsch -4: Kein Speicherplatz für den Benutzer-Gemeinschaftsspeicher verfügbar -5: Es wurde der Karte kein Interrupt zugewiesen.
Seite 64
Standardsoftware APCI-/CPCI-1500 PBYTE pb_ChannelNbr Wird nicht verwendet. Bleibt jedoch wegen Kompatibilitätsgründen Aufgabe: Überprüft, ob eine Karte ein Interrupt ausgelöst hat. Wenn ja, gibt den Handle der Karte und die Quelle des Interrupts zurück. WICHTIG! Diese Funktion ist nur in Visual Basic Dos und Windows verfügbar. Funktionsaufruf: ANSI C : unsigned char b_BoardHandle;...
Seite 65
APCI-/CPCI-1500 Standardsoftware Funktionsaufruf: ANSI C : unsigned char b_BoardHandle; Irq = i_APCI1500_ResetBoardIntRoutine (b_BoardHandle); Return Wert: 0: Kein Fehler -1: Handle Parameter der Karte ist falsch -2: Interruptroutine nicht installiert 9.2.3 Kernel Funktionen i_APCI1500_KRNL_Read16DigitalInput (...) Syntax: <Return Wert> = i_APCI1500_KRNL_Read16DigitalInput (UINT ui_BaseAddress, PLONG pl_InputValue) Parameter: - Eingabe:...
Seite 66
Standardsoftware APCI-/CPCI-1500 v_APCI1500_KRNL_Set16DigitalOutputOn (...) Syntax: <Return Wert> = v_APCI1500_KRNL_Set16DigitalOutputOn (UINT ui_BaseAddress, LONG l_Value) Parameter: - Eingabe: UINT ui_BaseAddress xPCI-1500 Basisadresse LONG l_Value Ausgabewert (0 bis 65535) - Ausgabe: Es erfolgt keine Ausgabe. Aufgabe: Setzt einen oder mehrere Ausgänge der Karte xPCI-1500 Beispiel: l_Value = 5555 Hex Die Ausgänge 1, 3, 5, 7, 9, 11, 13 und 15 werden gesetzt.
Seite 67
APCI-/CPCI-1500 Standardsoftware Aufgabe: Ermittelt den Zustand eines Eingangs. Die Variable b_Channel gibt den Eingang durch, der gelesen werden soll (1 bis 16). Mit der Variable pb_ChannelValue wird ein Wert zurückgegeben: 0 (low) oder 1 (high). Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Nummer des Eingangs nicht zwischen 1 und 16 i_APCI1500_Read8DigitalInput (...)
Seite 68
Standardsoftware APCI-/CPCI-1500 i_APCI1500_Read16DigitalInput (...) Syntax: <Return Wert> = i_APCI1500_Read16DigitalInput (BYTE_ b_BoardHandle, PLONG_ pl_InputValue) Parameter: BYTE b_BoardHandle Handle der Karte PLONG pl_InputValue Zustand der digitalen Eingänge beider Ports (0 bis 65535) Aufgabe: Ermittelt den Zustand beider Ports. Liest alle 16 Eingänge auf einmal. Beispiel: pl_InputValue = 5555 Hex Auf den Eingängen 1, 3, 5, 7, 9, 11, 13, 15 ist eine Spannung vorhanden.
Seite 69
APCI-/CPCI-1500 Standardsoftware 9.2.5 Digitale Eingabe -Events i_APCI1500_SetInputEventMask (...) Syntax: <Return Wert> = i_APCI1500_SetInputEventMask (BYTE_ b_BoardHandle, BYTE_ b_PortNbr, BYTE_ b_Logik, PCHAR_ pc_EventMask) Parameter: BYTE b_BoardHandle Handle der Karte BYTE b_Port Nummer des Eingangsports, den man maskieren will (1 oder 2). BYTE b_Logik Die Event Logik Für den ersten Port hat der Benutzer drei...
Seite 70
Standardsoftware APCI-/CPCI-1500 Ein Event kann für jeden Port erzeugt werden. Das erste Event bezieht sich auf die 8 ersten Eingänge (Port 1). Das zweite Event bezieht sich auf die 6 nächsten Eingänge (Port 2). Ein Interrupt wird erzeugt, wenn ein oder beide Events aufgetreten sind. Ein Event ist eine Statusänderung (z.B.
Seite 71
APCI-/CPCI-1500 Standardsoftware i_APCI1500_StartInputEvent (...) Syntax : <Return Wert> = i_APCI1500_StartInputEvent (BYTE_ b_BoardHandle, BYTE_ b_PortNbr) Parameter: BYTE b_BoardHandle Handle der Karte BYTE b_Port Nummer des Eingangsports (1 oder 2) Aufgabe: Ab dem Zeitpunkt des Aufrufs der Funktion ist es möglich, ein Event auf einen Port zu bearbeiten.
Seite 72
Standardsoftware APCI-/CPCI-1500 9.2.6 Digitale Ausgabe i_APCI1500_SetOutputMemoryOn (...) Syntax: <Return Wert> = i_APCI1500_SetOutputMemoryOn (BYTE_ b_BoardHandle) Parameter: BYTE b_BoardHandle Handle der Karte Aufgabe: Aktiviert den digitalen Ausgangsspeicher. Nachdem diese Funktion aufgerufen wurde, werden durch die Aufrufe der Funktionen "i_APCI1500_SetXDigitalOutputOn" die bereits aktive Ausgänge nicht zurückgesetzt.
Seite 73
APCI-/CPCI-1500 Standardsoftware Aufgabe: Setzt den Ausgang, der mit dem Parameter b_Channel durchgegeben wurde. Einen Ausgang setzen, bedeutet auf high setzen. Den digitalen Ausgangsspeicher anschalten (AN) siehe Funktion "i_APCI1500_SetOutputMemoryOn (...) b_Channel= 1 Der Ausgang 1 wird gesetzt. Die anderen Ausgänge behalten ihren Zustand. Den digitalen Ausgangsspeicher ausschalten (AUS) siehe Funktion "i_APCI1500_SetOutputMemoryOff (...) b_Channel= 1...
Seite 74
Standardsoftware APCI-/CPCI-1500 i_APCI1500_Set8DigitalOutputOn (...) Syntax: <Return Wert> = i_APCI1500_Set8DigitalOutputOn (BYTE b_BoardHandle, BYTE b_Port, BYTE b_Value) Parameter: BYTE b_BoardHandle Handle der Karte BYTE b_Port Nummer des Ausgansports (1 oder 2) BYTE b_Value Ausgabewert (0 bis 255) Aufgabe: Setzt einen oder mehrere Ausgänge eines Ports. Einen Ausgang setzen, bedeutet auf high zu setzen.
Seite 75
APCI-/CPCI-1500 Standardsoftware i_APCI1500_Set8DigitalOutputOff (...) Syntax: <Return Wert> = i_APCI1500_Set8DigitalOutputOff (BYTE_ b_BoardHandle, BYTE_ b_Port, BYTE_ b_Value) Parameter: BYTE b_BoardHandle Handle der Karte BYTE b_Port Nummer des Ausgansports (1 oder 2) BYTE b_Value Ausgabewert (0 bis 255) Aufgabe: Setzt einen oder mehrere Ausgänge von einem Port zurück. Zurücksetzen bedeutet auf high setzen.
Seite 76
Standardsoftware APCI-/CPCI-1500 Aufgabe: Setzt einen oder mehrere Ausgänge von der xPCI-1500 Beispiel: Den digitalen Ausgangsspeicher anschalten (AN) siehe Funktion "i_APCI1500_SetOutputMemoryOn (...) l_Value = 5555 Hex Die Ausgänge 1, 3, 5,7, 9, 11, 13, 15 werden gesetzt. Die anderen behalten ihren Zustand.
Seite 77
APCI-/CPCI-1500 Standardsoftware WICHTIG! Diese Funktion kann nur benutzt werden, wenn der digitale Ausgangsspeicher AN ist. Siehe Funktion i_APCI1500_SetOutputMemoryOn (..). Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Digitaler Ausgangspeicher AUS. Zuerst die Funktion "i_APCI1500_SetOutputMemoryOn" benutzen 9.2.7 Timer/Zähler und Watchdog i_APCI1500_InitTimerInputclock(...) Syntax: <Return Wert>...
Seite 78
Standardsoftware APCI-/CPCI-1500 i_APCI1500_InitTimerCounter1 (...) Syntax: <Return Wert> = i_APCI1500_InitTimerCounter1 (BYTE_ b_BoardHandle, BYTE_ b_CounterOrTimerSelect, LONG_ l_ReloadValue, BYTE_ b_ContinuousOrSingleCycleSelect, BYTE_ b_InterruptHandling) Parameter: BYTE b_BoardHandle: Handle der Karte BYTE b_CounterOrTimerSelect: Auswahl des Modus des ersten Zählers/Timers - APCI1500_TIMER: Der erste Zähler/Timer wird als Timer benutzt - APCI1500_COUNTER: Der erste Zähler/Timer wird als Zähler benutzt LONG...
Seite 79
APCI-/CPCI-1500 Standardsoftware Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Parameter zur Auswahl des Zählers oder des Timers ist falsch (APCI1500_COUTER oder APCI1500_TIMER) -3: Fehler bei der Interruptauswahl (APCI1500_ENABLE oder APCI1500_DISABLE) -4: Benutzer Interrupt Routine nicht installiert -5: Zyklus Parameter ist falsch (APCI1500_CONTINUOUS oder APCI1500_SINGLE) i_APCI1500_InitTimerCounter2 (...)
Seite 80
Standardsoftware APCI-/CPCI-1500 - APCI1500_SOFTWARE_TRIGGER: Der Eingang 11 hat keinen Einfluß auf den Trigger BYTE b_HardwareOrSoftwareGateSelect - APCI1500_HARDWARE_GATE: Der Eingang 12 wird für den Gate benutzt. Wenn der Eingang auf high ist, wird der Zähler/Timer gestartet. Wenn der Eingang auf low ist, wird der Zähler/Timer gestoppt. - APCI1500_SOFTWARE_GATE: Der Eingang 12 hat keinen Einfluß...
Seite 81
APCI-/CPCI-1500 Standardsoftware i_APCI1500_InitWatchdogCounter3 (...) Syntax: <Return Wert> = i_APCI1500_InitWatchdogCounter3 (BYTE_ b_BoardHandle, BYTE_ b_WatchdogOrCounterSelect, LONG_ l_ReloadValue, BYTE_ b_ContinuousOrSingleCycleSelect, BYTE_ b_HardwareOrSoftwareGateSelect, BYTE_ b_InterruptHandling) Parameter: BYTE b_BoardHandle Handle der Karte BYTE b_WatchdogOrCounterSelect Auswahl des Modus des 3. Zähler/Watchdog - APCI1500_WATCHDOG: Der dritte Zähler/Watchdog wird als Watchdog benutzt - APCI1500_COUNTER: Der dritte Zähler/Watchdog wird als Zähler benutzt.
Seite 82
Standardsoftware APCI-/CPCI-1500 Entscheiden Sie: ob der Zähler einmal oder mehrmals den Zählzyklus ausführen muss. ob der Zähler/Watchdog als Zähler oder Watchdog benutzt wird ob ein Interrupt bei Zähler/Watchdog Ablauf erzeugt werden muss. ob der externe Gate benutzt wird, falls er als Zähler benutzt wird. Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch...
Seite 83
APCI-/CPCI-1500 Standardsoftware Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Zähler oder Timer wurde nicht initialisiert. Benutzen Sie "i_APCI1500_InitTimerCounter2" i_APCI1500_StartCounter3 (...) Syntax: <Return Wert> = i_APCI1500_StartCounter3 (BYTE_ b_BoardHandle) Parameter: BYTE b_BoardHandle Handle der Karte Aufgabe: Startet den dritten Zähler, nachdem dieser durch "i_APCI1500_InitWatchdogCounter3"...
Seite 84
Standardsoftware APCI-/CPCI-1500 Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Zähler oder Timer wurde nicht initialisiert. Benutzen Sie "i_APCI1500_InitTimerCounter1" i_APCI1500_StopTimerCounter2 (...) Syntax: <Return Wert> = i_APCI1500_StopTimerCounter2 (BYTE_ b_BoardHandle) Parameter: BYTE b_BoardHandle Handle der Karte Aufgabe: Stoppt den zweiten Zähler/Timer. Der Timer-Zählwert wird eingefroren. Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch...
Seite 85
APCI-/CPCI-1500 Standardsoftware 11) i_APCI1500_TriggerTimerCounter1 (...) Syntax: <Return Wert> = i_APCI1500_TriggerTimerCounter1 (BYTE_ b_BoardHandle) Parameter: BYTE b_BoardHandle Handle der Karte Aufgabe: Triggert den ersten Zähler/Timer. Der Grenzwert wird im Zähler/Timer geladen. Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Zähler oder Timer wurde nicht initialisiert.
Seite 86
Standardsoftware APCI-/CPCI-1500 Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Zähler nicht initialisiert -3: Zähler/Watchdog als Watchdog initialisiert. Benutzen Sie "i_APCI1500_InitWatchdogCounter3" 14) i_APCI1500_TriggerWatchdog (...) Syntax: <Return Wert> = i_APCI1500_TriggerWatchdog (BYTE_ b_BoardHandle) Parameter: BYTE b_BoardHandle Handle der Karte Aufgabe: Triggert den Watchdog.
Seite 87
APCI-/CPCI-1500 Standardsoftware Return Wert: 0: Kein Fehler -1: Handle-Parameter der Karte ist falsch -2: Zähler oder Timer nicht initialisiert. Benutzen Sie "i_APCI1500_InitTimerCounter1" 16) i_APCI1500_ReadTimerCounter2 (...) Syntax: <Return Wert> = i_APCI1500_ReadTimerCounter2 (BYTE _ b_BoardHandle, PLONG_ pl_ReadValue) Parameter: BYTE b_BoardHandle Handle der Karte PLONG pl_ReadValue Dieser Parameter hat zwei Bedeutungen.
Seite 88
Standardsoftware APCI-/CPCI-1500 17) i_APCI1500_ReadCounter3 (...) Syntax: <Return Wert> = i_APCI1500_ReadCounter3 (BYTE_ b_BoardHandle, PLONG_ pl_ReadValue) Parameter: BYTE b_BoardHandle Handle der Karte PLONG pl_ReadValue Wenn der Zähler/Watchdog als Zähler benutzt wird, gibt er den aktuellen Wert des Zählers zurück. Aufgabe: Liest den aktuellen Wert des dritten Zählers/Watchdogs, falls er als Zähler benutzt wird.
Seite 89
APCI-/CPCI-1500 Glossar GLOSSAR Tabelle 10-1: Glossar Begriff Erklärung A/D-Wandler Ein Analog-Digital-Wandler überführt das Signal aus seiner analogen Form in eine digitale. Wegen der Physik der Wandlerschaltung benötigen die meisten A/D-Wandler mindestens eine Eingangsspannung von mehreren Volt für den gesamten Eingangsbereich. Zwei der wichtigsten Eigenschaften eines A/D-Wandlers sind die Umsetzungsrate und die Auflösung: die Umsetzungsrate definiert wie schnell der...
Seite 90
Glossar APCI-/CPCI-1500 Datenübertragung meist nicht fest, so dass alle Geräte im Normalfall am Bus sowohl Daten senden als auch empfangen können müssen. D/A-Wandler Kernstück der analogen Ausgabe ist der D/A-Wandler (Digital/Analog-Wandler), der je nach Bedarf eine dem digitalen Eingangswert entsprechende analoge Spannung oder einen entsprechende Strom am Ausgang liefert.
Seite 91
APCI-/CPCI-1500 Glossar Reihenfolge ausgeführt, muss eine Operation eingeschwungen sein, bevor die nächste ausgeführt werden kann. Die Einschwingzeit wird in Mikrosekunden (μs) angegeben. Die europäische EMV-Gesetzgebung (DIN/VDE 0870) definiert die elektromagnetische Verträglichkeit als "die Fähigkeit eines Gerätes, in der elektromagnetischen Umwelt zufrieden stellend zu arbeiten, ohne dabei selbst elektromagnetische Störungen zu verursachen, die für andere in dieser Umwelt vorhandene Geräte unannehmbar wären."...
Seite 92
Glossar APCI-/CPCI-1500 miteinander verbunden sind, kann jeder einzelne Bestandteil sich anders verhalten, als wenn er isoliert betrachtet würde. Ein Voltmeter kann die Spannung und Ströme in einem elektrischen Schaltkreis beeinflussen oder ein Thermoelement die gemessene Temperatur ändern. Diese und andere werden als Lasteffekte bezeichnet. Die Impedanz ist der elektrische Scheinwiderstand der Schaltung.
Seite 93
APCI-/CPCI-1500 Glossar Parameter Die Parameter einer Steuerung umfassen alle für den Steuerungsablauf nötigen Zahlenwerte z.B. für Führungsgrößen und Führungsgrößenverläufe, Reaktionszeiten, Grenzwerte, technologische Kennwerte. PCI-Bus PCI-Bus ist ein schneller Lokalbus, der mit einer Taktrate von bis zu 33 MHz arbeitet. Die Datenbreite beträgt 32 Bit und die theoretische Datenrate 132 Mbyte pro Sekunde.
Seite 94
Glossar APCI-/CPCI-1500 durch Zeitschaltungen und Verzögerungsleitungen vergrößert werden. Steuerung Nach DIN 19226 ist die Steuerung ein Vorgang, bei dem eine Eingangsgröße in gesetzmäßiger Weise eine Ausgangsgröße beeinflusst. Kennzeichnend für die Steuerung in seiner einfachsten Form ist der offene Wirkungsablauf in einem einzelnen Übertragungsglied oder einer Steuerkette.