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 ...
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