25.12.2013 Aufrufe

Id PIO1003: Anschaltbeispiele einer Ausgangsleitung aus der PIO II ...

Id PIO1003: Anschaltbeispiele einer Ausgangsleitung aus der PIO II ...

Id PIO1003: Anschaltbeispiele einer Ausgangsleitung aus der PIO II ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

FAQ<br />

FAQ Frequently asked Questions<br />

<strong>Id</strong> <strong><strong>PIO</strong>1003</strong>: <strong>Anschaltbeispiele</strong> <strong>einer</strong> <strong>Ausgangsleitung</strong> <strong>aus</strong> <strong>der</strong> <strong>PIO</strong> <strong>II</strong><br />

Betroffene Produkte:<br />

• <strong>PIO</strong>24<strong>II</strong>, <strong>PIO</strong>48<strong>II</strong><br />

Problembeschreibung<br />

Im folgenden werden einige Beispiele aufgeführt, wie man eine <strong>Ausgangsleitung</strong> <strong>der</strong> <strong>PIO</strong> <strong>II</strong><br />

verwendet. Dabei erhalten Sie nützliche Hinweise auf häufige Fehlerquellen und<br />

Programmierbeispiele in Visual Basic , Visual C++ und Delphi .<br />

Lösung<br />

Die <strong>PIO</strong> <strong>II</strong> verfügt über einen (<strong>PIO</strong>24<strong>II</strong>) bzw. zwei (<strong>PIO</strong>48<strong>II</strong>) Portb<strong>aus</strong>teine des Typs 8255. In<br />

diesen ist ein Pullup Wi<strong>der</strong>stand integriert, <strong>der</strong> eine nicht belegte Leitung automatisch auf high gehen<br />

läßt. Um diese Leitung wie<strong>der</strong> auf low zu setzen, ist <strong>der</strong> Anschluß eines Pulldown Wi<strong>der</strong>stands gegen<br />

Masse notwendig. Der Masseanschluß liegt bei <strong>der</strong> <strong>PIO</strong> <strong>II</strong> an Pin 13 des 25poligen Sub-D Steckers.<br />

Um zu verhin<strong>der</strong>n, daß ein eventuell anliegendes Eingangssignal gegen einen Ausgang treibt und<br />

einen Kurzschluß verursacht, werden beim Einschalten des Rechners immer alle Leitungen auf<br />

„Eingang“ gesetzt. Eine <strong>Ausgangsleitung</strong> wird in dem Moment definiert, wo sie auf „Ausgang“<br />

gesetzt wird.<br />

Eine Kleinspannungsbuchse an <strong>der</strong> Kartenblende ermöglicht zudem die Nutzung <strong>der</strong> 5V Ausgangsspannung<br />

direkt <strong>aus</strong> dem PC.<br />

Programmierbeispiel: Setzen <strong>der</strong> Leitung 1 (Port A) <strong>einer</strong> <strong>PIO</strong>48<strong>II</strong><br />

Die Programme müssen folgende Schritte enthalten:<br />

• Port A auf Ausgang setzen<br />

• Leitung 1 / Port A setzen<br />

Das Setzen <strong>einer</strong> Leitung erfolgt mit dem Befehl SetLine. Dabei erwartet die Funktion SetLine (i, j)<br />

die Nummer des Ports (i=1..6 für <strong>PIO</strong>48<strong>II</strong>, bzw. i=1..3 für <strong>PIO</strong>24<strong>II</strong>) und die Nummer <strong>der</strong> Leitung<br />

(j=1..8). Sind mehrere <strong>PIO</strong> <strong>II</strong> installiert, muß außerdem die verwendete Karte <strong>aus</strong>gewählt werden.<br />

Visual Basic : <strong>PIO</strong>48<strong>II</strong>1.Card<strong>Id</strong> = 1<br />

<strong>PIO</strong>48<strong>II</strong>1.DirPort1 = DirOut<br />

<strong>PIO</strong>48<strong>II</strong>1 SetLine 1, 1<br />

Die Richtung <strong>der</strong> Leitungen 1..8 von Port A kann auch über das Propertysheet<br />

eingestellt werden.<br />

Delphi : <strong>PIO</strong>48<strong>II</strong>1.Card<strong>Id</strong> := 1;<br />

<strong>PIO</strong>48<strong>II</strong>1.DirPort1 := DirOut;<br />

<strong>PIO</strong>48<strong>II</strong>1.SetLine(1, 1);<br />

Diese Informationen wurden mit größtmöglicher Sorgfalt zusammengestellt. BMC Messsysteme GmbH gibt keine Garantien,<br />

we<strong>der</strong> in Bezug auf diesen Artikel, noch die in diesem Artikel beschriebene Soft- und Hardware, ihre Qualität, Durchführbarkeit<br />

o<strong>der</strong> Verwendbarkeit für einen bestimmten Zweck. BMC Messsysteme GmbH haftet in keinem Fall für direkt o<strong>der</strong> indirekt<br />

verursachte o<strong>der</strong> gefolgte Schäden, die entwe<strong>der</strong> <strong>aus</strong> unsachgemäßer Bedienung o<strong>der</strong> <strong>aus</strong> irgendwelchen Fehlern am System<br />

resultieren. Än<strong>der</strong>ungen, die dem technischen Fortschritt dienen, bleiben vorbehalten. Druckfehler vorbehalten.<br />

1999 BMC Messsysteme GmbH


Visual C++:<br />

#include <br />

#import "c:\winnt\system32\pioii.ocx"<br />

<strong><strong>PIO</strong>1003</strong><br />

int pioii_test()<br />

{<br />

<strong>PIO</strong><strong>II</strong>Lib::_D<strong>PIO</strong>48<strong>II</strong>Ptr pioii;<br />

pioii.CreateInstance(__uuidof(<strong>PIO</strong><strong>II</strong>Lib::<strong>PIO</strong>48<strong>II</strong>));<br />

if(pioii == NULL) {<br />

printf("<strong>PIO</strong><strong>II</strong> ActiveX not installed...\n");<br />

return 1;<br />

}<br />

pioii->Card<strong>Id</strong> = 1;<br />

pioii->DirPort1 = <strong>PIO</strong><strong>II</strong>Lib::DirOut;<br />

pioii->SetLine(1, 1);<br />

}<br />

return 0;<br />

int main(int argc, char *argv[])<br />

{<br />

// get OLE up and running...<br />

HRESULT result = OleInitialize(NULL);<br />

if(!SUCCEEDED(result)) {<br />

printf("Failed to initialize OLE\n");<br />

exit(1);<br />

}<br />

pioii_test();<br />

OleUninitialize();<br />

}<br />

return 0;<br />

Anschaltbeispiel:<br />

In Visual C++ müssen folgende zusätzliche Befehle durchgeführt werden:<br />

• Importieren <strong>der</strong> OCX-Datei pioii.ocx (s. #import ...)<br />

• Erzeugen des ActiveX Controls <strong>PIO</strong>48<strong>II</strong> (s. <strong>PIO</strong><strong>II</strong>Lib:: ...)<br />

• OLE initialisieren (s. int main ...)<br />

Beim Importieren <strong>der</strong> OCX-Datei pioii.ocx ist gegebenenfalls <strong>der</strong><br />

Verzeichnispfad zu än<strong>der</strong>n.<br />

Die Beispiele zeigen den Anschluß eines Ausgangs von Kanal 1 (Port A, Bit 1) <strong>der</strong> <strong>PIO</strong> <strong>II</strong> unter<br />

Verwendung eines Relais, <strong>einer</strong> Leuchtdiode o<strong>der</strong> <strong>einer</strong> Lampe.<br />

1999 BMC Messsysteme GmbH Seite 2


<strong><strong>PIO</strong>1003</strong><br />

Beispiel 1: Anschluß eines 5V - Relais:<br />

Das 5V - Relais nutzt die Hilfsspannung <strong>aus</strong> dem PC. Bei Verwendung eines Relais, das zum Betrieb<br />

eine höhere Spannung benötigt, muß eine externe Stromquelle, die eine entsprechend höhere<br />

Spannung zur Verfügung stellt, angeschlossen werden. Sofern nicht schon im Relais integriert<br />

benötigt man eine Diode, die den Induktionsstrom beim Abschalten des Relais kurzschließt. Ein<br />

Transistor (z.B. BC547) erhöht den Strom, so daß das Relais geschaltet werden kann.<br />

Schaltbild:<br />

Anschluß <strong>einer</strong> <strong>Ausgangsleitung</strong> an die <strong>PIO</strong> <strong>II</strong> - Karte unter Verwendung eines 5V - Relais<br />

<strong>PIO</strong> <strong>II</strong><br />

+5V Klinkenstecker<br />

für Ausgangsspannung<br />

5V Relais<br />

max. 100mA<br />

Portb<strong>aus</strong>teine 8255<br />

(nur bei<br />

<strong>PIO</strong>48 <strong>II</strong>)<br />

Ausgang<br />

25polige Sub-D Buchse<br />

1N4001<br />

4,7kΩ<br />

BC547<br />

Masse<br />

1999 BMC Messsysteme GmbH Seite 3


Beispiel 2: Anschluß <strong>einer</strong> Leuchtdiode:<br />

<strong><strong>PIO</strong>1003</strong><br />

Die Leuchtdiode benötigt keine Hilfsspannung, son<strong>der</strong>n wird direkt mit <strong>der</strong> Ausgangsspannung zum<br />

Leuchten gebracht. Ein Strombegrenzungswi<strong>der</strong>stand verhin<strong>der</strong>t eine Überlastung <strong>der</strong> Leuchtdiode.<br />

Schaltbild:<br />

Anschluß <strong>einer</strong> <strong>Ausgangsleitung</strong> an die <strong>PIO</strong> <strong>II</strong> - Karte unter Verwendung <strong>einer</strong> Leuchtdiode<br />

<strong>PIO</strong> <strong>II</strong><br />

5V<br />

Portb<strong>aus</strong>teine 8255<br />

(nur bei<br />

<strong>PIO</strong>48 <strong>II</strong>)<br />

Ausgang<br />

25polige Sub-D Buchse<br />

4,7kΩ<br />

LED<br />

low current, < 1mA<br />

Masse<br />

1999 BMC Messsysteme GmbH Seite 4


<strong><strong>PIO</strong>1003</strong><br />

Beispiel 3: Anschluß <strong>einer</strong> Lampe:<br />

Diese mit <strong>einer</strong> Spannung von 24V betriebene Lampe benötigt eine externe Spannungsquelle von<br />

24V. Ein Transistor (z.B. BC547) erhöht den Strom, so daß die Lampe betrieben werden kann.<br />

Schaltbild:<br />

Anschluß <strong>einer</strong> <strong>Ausgangsleitung</strong> an die <strong>PIO</strong> <strong>II</strong> - Karte unter Verwendung <strong>einer</strong> Lampe<br />

<strong>PIO</strong> <strong>II</strong><br />

5V<br />

Lampe, 24V<br />

max. 0,1A<br />

+24V<br />

Portb<strong>aus</strong>teine 8255<br />

(nur bei<br />

<strong>PIO</strong>48 <strong>II</strong>)<br />

Ausgang<br />

25polige Sub-D Buchse<br />

4,7kΩ<br />

BC547<br />

Masse<br />

Status<br />

Aufgrund <strong>der</strong> vielfältigen Verwendungsmöglichkeiten <strong>der</strong> <strong>PIO</strong> <strong>II</strong> wurde hier auf die gängigsten<br />

Anwendungen und <strong>der</strong>en Problematik Bezug genommen.<br />

Stand<br />

10. August 1999<br />

1999 BMC Messsysteme GmbH Seite 5

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!