PCI AC5 ADAPTER CARD / HAL DRIVER

1. Die Adapterkarte

Dies ist eine Karte von Opto22 für die Anpassung des PCI-Ports an Solid-State-Relais-Racks wie die Standard- oder G4-Serie. Sie hat 2 Ports, die jeweils bis zu 24 Punkte steuern können, und verfügt über 4 LEDs auf der Karte. Die Ports sind mit 50-poligen Anschlüssen ausgestattet, die denen der Mesa-Karten entsprechen. Alle Relais-Racks/Breakout-Boards, die mit Mesa-Karten funktionieren, sollten mit dieser Karte funktionieren, wobei alle Encoder-Zähler, PWM usw. in Software ausgeführt werden müssen. Die AC5 hat keine intelligente Logik an Bord, sie ist nur ein Adapter.

Weitere Informationen finden Sie auf der Website des Herstellers:

Ich möchte Opto22 für die Freigabe von Informationen in ihrem Handbuch danken, die das Schreiben dieses Treibers erleichtert haben!

2. Der Treiber (engl. driver)

Dieser Treiber ist für die PCI AC5-Karte und funktioniert nicht mit der ISA AC5-Karte. Der HAL-Treiber ist ein echtzeitfähiges Modul. Er unterstützt 4 Karten (mehr Karten sind mit einer Änderung im Quellcode möglich). Laden Sie den Basistreiber wie folgt:

loadrt opto_ac5

Dadurch wird der Treiber geladen, der nach maximal 4 Karten sucht. Er setzt die E/A der 2 Ports jeder Karte auf eine Standardeinstellung. Die Standardkonfiguration ist für 12 Eingänge und 12 Ausgänge. Die Nummern der Pin-Namen entsprechen der Position auf dem Relais-Rack. Zum Beispiel würden die Pin-Namen für die Standard-E/A-Einstellung von Port 0 lauten:

  • opto_ac5.0.port0.in-00 - Sie würden von 00 bis 11 nummeriert werden

  • opto_ac5.0.port0.out-12 - Sie würden die Nummern 12 bis 23 tragen, Port 1 wäre analog.

3. Pins

  • opto_ac5.[BOARDNUMBER].port[PORTNUMBER].in-[PINNUMBER] OUT bit -

  • opto_ac5.[BOARDNUMMER].port[PORTNUMMER].in-[PINNUMMER]-not OUT bit - Schließen Sie ein HAL-Bit-Signal an diesen Pin an, um einen I/O-Punkt von der Karte zu lesen. Die PINNUMMER steht für die Position im Relaisgestell. Z.B. PINNUMMER 0 ist Position 0 in einem Opto22-Relaisrack und wäre Pin 47 auf dem 50-poligen Stecker. Der -not-Pin ist invertiert, so dass LOW TRUE und HIGH FALSE ergibt.

  • opto_ac5.[BOARDNUMMER].port[PORTNUMMER].out-[PINNUMMER] IN bit - Schließen Sie ein HAL-Bit-Signal an diesen Pin an, um auf einen E/A-Punkt der Karte zu schreiben. Die PINNUMMER steht für die Position im Relais-Rack, z.B. PINNUMMER 23 ist Position 23 in einem Opto22-Relais-Rack und wäre Pin 1 auf dem 50-poligen Pfostenverbinder.

  • opto_ac5.[BOARDNUMBER].led[NUMBER] OUT bit - Schaltet eine der 4 Onboard-LEDs ein/aus. Die LEDs sind von 0 bis 3 nummeriert.

BOARDNUMBER kann 0-3 sein PORTNUMBER kann 0 oder 1 sein. Anschluss 0 liegt am nächsten an der Kartenhalterung.

4. Parameter

  • opto_ac5.[BOARDNUMBER].port[PORTNUMBER].out-[PINNUMBER]-invert W bit - Bei TRUE wird die Bedeutung des entsprechenden -out-Pins invertiert, so dass TRUE LOW und FALSE HIGH ergibt.

5. FUNKTIONEN

  • opto_ac5.0.digital-read - Fügen Sie dies zu einem Thread hinzu, um alle Eingabepunkte zu lesen.

  • opto_ac5.0.digital-write - Fügen Sie dies zu einem Thread hinzu, um alle Ausgangspunkte und LEDs zu schreiben.

Die Pin-Namen für die Standard-E/A-Einstellung von Anschluss 0 lauten zum Beispiel:

opto_ac5.0.port0.in-00

Sie würden von 00 bis 11 nummeriert werden.

opto_ac5.0.port0.out-12

Sie wären mit 12 bis 23 nummeriert, Port 1 wäre derselbe.

6. Konfigurieren von E/A-Ports (engl. I/O ports)

Um die Standardeinstellung zu ändern, laden Sie den Treiber etwa so:

loadrt opto_ac5 portconfig0=0xffff portconfig1=0xff0000

Natürlich passen Sie die Zahlen so an, dass sie mit dem gewünschten E/A (engl. I/P) übereinstimmen. Jeder Anschluss kann anders eingerichtet werden.

Auf diese Weise kann man die Nummer herausfinden: Die Konfigurationsnummer ist ein 32 Bit langer Code. Dieser teilt der Karte mit, welche E/A-Punkte Ausgang bzw. Eingang sind. Die unteren 24 Bits sind die E/A-Punkte eines Ports. Die 2 höchsten Bits sind für 2 der LEDs auf der Karte. Eine Eins in einer beliebigen Bitposition macht den E/A-Punkt zu einem Ausgang. Die beiden höchsten Bits müssen ausgegeben werden, damit die LEDs funktionieren. Der Treiber setzt die beiden höchsten Bits automatisch für Sie, wir werden nicht darüber sprechen.

Am einfachsten ist es, den Taschenrechner unter ANWENDUNGEN/ZUBEHÖR zu starten. Stellen Sie ihn auf wissenschaftlich ein (klicken Sie auf Ansicht). Stellen Sie ihn auf BINÄR (Optionsfeld Bin). Drücken Sie 1 für jeden gewünschten Ausgang und/oder Null für jeden Eingang. Denken Sie daran, dass der HAL-Pin 00 dem ganz rechten Bit entspricht. 24 Zahlen stehen für die 24 E/A-Punkte eines Ports. Für die Standardeinstellung (12 Eingänge und 12 Ausgänge) würden Sie also zwölfmal die 1 drücken (das sind die Ausgänge) und zwölfmal die 0 (das sind die Eingänge). Beachten Sie, dass der erste E/A-Punkt das niedrigste (ganz rechte) Bit ist. (Dieses Bit entspricht dem HAL-Pin 00.) Sie sollten 24 Ziffern auf dem Bildschirm haben. Drücken Sie nun die Optionsschaltfläche HEX. Die angezeigte Zahl (fff000) ist die Konfigurationsportnummer (setzen Sie ein 0x davor, um sie als HEX-Zahl zu kennzeichnen).

Ein anderes Beispiel: Einstellen des Ports auf 8 Ausgänge und 16 Eingänge (wie bei einer Mesa-Karte). Hier sind die 24 Bits in einer BINÄREN Zahl dargestellt. Bit 1 ist die ganz rechte Zahl:

16 Nullen für die 16 Eingänge und 8 Einsen für die 8 Ausgänge
000000000000000011111111

Das wird auf dem Taschenrechner in FF umgewandelt, so dass 0xff die Nummer ist, die beim Laden des Treibers für portconfig0 und/oder portconfig1 zu verwenden ist.

7. Pin-Nummerierung

Der HAL-Pin 00 entspricht dem Bit 1 (ganz rechts), das die Position 0 auf einem Opto22-Relaisgestell darstellt. HAL-Pin 01 entspricht Bit 2 (eine Stelle links vom rechten Rand), das die Position 1 auf einem Opto22-Relaismodul darstellt. HAL-Pin 23 entspricht Bit 24 (ganz links), das die Position 23 auf einem Opto22-Relaisrack darstellt.

HAL-Pin 00 wird an Pin 47 des 50-poligen Anschlusses jedes Ports angeschlossen. HAL-Pin 01 wird an Pin 45 des 50-poligen Anschlusses jedes Ports angeschlossen. HAL-Pin 23 wird an Pin 1 des 50-poligen Anschlusses jedes Ports angeschlossen.

Beachten Sie, dass Opto22 und Mesa entgegengesetzte Nummerierungssysteme verwenden: Opto22 Position 23 = Steckerpin 1, und die Position geht nach unten, wenn die Nummer des Steckerpins nach oben geht. Mesa Hostmot2 Position 1 = Steckerpin 1, und die Positionsnummer steigt, wenn die Nummer des Steckerpins nach oben geht.