Dokument [PDF, 9,1 MB] - FB 4 Allgemein - Fachhochschule ...

Dokument [PDF, 9,1 MB] - FB 4 Allgemein - Fachhochschule ... Dokument [PDF, 9,1 MB] - FB 4 Allgemein - Fachhochschule ...

mv.fh.duesseldorf.de
von mv.fh.duesseldorf.de Mehr von diesem Publisher
22.07.2013 Aufrufe

9 Programmierung des Mess- und Steuerungsprogramms 102 Bei der Übergabe des Kommandos zur Manuellfahrt, werden die Informationen über die Geschwindigkeit (schnell oder langsam) und die Drehrichtung bitcodiert übergeben. Zu betrachten sind hier die Bytes 7 und 8, weil der Parameterwert vom Datentyp UINT 16 ist (Abschnitt 7.2.1.1). Die Drehgeschwindigkeit wird im Bit 2 codiert. Für eine positive Motordrehung muss das Bit 0, für eine negative Motordrehung das Bit 1 auf den Wert „1“ gesetzt werden. Die Orientierung der Motordrehung verdeutlicht Abbildung 9.13. Bewegung Bit 2 Bit 1 Bit 0 Wert langsam in negative Richtung 0 1 0 2 langsam in positive Richtung 0 0 1 1 schnell in negative Richtung 1 1 0 6 schnell in positive Richtung 1 0 1 5 Tabelle 9.8: Bitcodierung der Manuellfahrtinformation. Abbildung 9.13: Visualisierung der positiven und negativen Motordrehrichtung positiv = rechts, negativ = links. Da die Anzahl der möglichen Bewegungszustände überschaubar ist, konnte im Programm eine Formulierung auf der Bitebene wie in Tabelle 9.8 umgangen werden. Zur Generierung des Übergabewertes wurde eine Addition eingeführt. Aus Tabelle 9.8 sind die endgültigen Werte für die Übergabe zu ersehen. Diese lassen sich aus einer Addition bestimmen. In die Addition geht für eine langsame Fahrt der Wert „0“, für eine schnelle Fahrt der Wert „4“ (Bit 2 = 1) ein. Da die Drehrichtung durch Setzen der Bits 1 und 0 vorgegeben wird, heißt dies, dass eine negative Drehung eine „2“ und eine positive Drehung eine „1“ erfordert. Eine schnelle Drehung in negativer Richtung erfordert also den Wert 6 (4 + 2 + 0). Die Additionssequenz zeigt Abbildung 9.14. Fachhochschule Düsseldorf Diplomarbeit 2002/03, Terence Klitz

9 Programmierung des Mess- und Steuerungsprogramms 103 1 2 3 4 Abbildung 9.14: Additionssequenz zur Formulierung des Kommandowertes der Manuellfahrt. Die Eingänge der Case-Anweisungen (1) und (2) sind mit den Tastern (4) und (5) in Abbildung 9.11 verbunden, so dass nur eine Anweisung einen „True“-Wert erhalten kann. Im Falle eines „False“-Wertes übergeben sie den Wert „0“. Die Case-Anweisung (3) erhält ihren Eingangswert über den Wahlschalter (1) (in Abbildung 9.11). Auch sie übergibt den Wert „0“ im Falle eines „False“-Wertes am Eingang. Der Summand gelangt in die Case-Anweisung (4), wo er in eine Zeichenkette umgewandelt wird und schließlich als Wert des Kommandos an die Positionssteuerung gesendet wird. Die Case-Anweisung (4) reagiert nur auf die Eingangswerte 0, 1, 2, 5 und 6. Tritt ein anderer Wert auf, wird der Standardfall abgearbeitet, der hier auf den Fall „0“ gelegt wurde. Werden die Taster (4) und (5) (Abbildung 9.11) nicht betätigt, soll sich der Drehkanal auch nicht drehen. In diesem Fall, ergibt der Summand den Wert „0“ oder „4“. Der Wert „4“ wird in der Case-Anweisung (4) nicht vorgesehen, in diesem Fall wird der Standardfall bearbeitet („0“) und somit richtiger Weise eine „0“ übergeben. Nach Betätigen der „Stopp“-Taste ((6) in Abbildung 9.11) wird das VI zur Manuellfahrt beendet. Während der Manuellfahrt kann es passieren, dass durch eine Endschalterbetätigung der Drehkanal stehen bleibt und die Anzeige (11) (Abbildung 9.11) eine „7“ anzeigt. In diesem Fall ist es möglich, den Drehkanal in die entgegengesetzte Richtung aus dem Tasterbereich herauszufahren. Fachhochschule Düsseldorf Diplomarbeit 2002/03, Terence Klitz

9 Programmierung des Mess- und Steuerungsprogramms 102<br />

Bei der Übergabe des Kommandos zur Manuellfahrt, werden die Informationen über die Geschwindigkeit<br />

(schnell oder langsam) und die Drehrichtung bitcodiert übergeben. Zu betrachten<br />

sind hier die Bytes 7 und 8, weil der Parameterwert vom Datentyp UINT 16 ist<br />

(Abschnitt 7.2.1.1). Die Drehgeschwindigkeit wird im Bit 2 codiert. Für eine positive<br />

Motordrehung muss das Bit 0, für eine negative Motordrehung das Bit 1 auf den Wert „1“<br />

gesetzt werden. Die Orientierung der Motordrehung verdeutlicht Abbildung 9.13.<br />

Bewegung Bit 2 Bit 1 Bit 0 Wert<br />

langsam in negative<br />

Richtung<br />

0 1 0 2<br />

langsam in positive<br />

Richtung<br />

0 0 1 1<br />

schnell in negative<br />

Richtung<br />

1 1 0 6<br />

schnell in positive<br />

Richtung<br />

1 0 1 5<br />

Tabelle 9.8: Bitcodierung der Manuellfahrtinformation.<br />

Abbildung 9.13: Visualisierung der positiven und negativen Motordrehrichtung<br />

positiv = rechts, negativ = links.<br />

Da die Anzahl der möglichen Bewegungszustände überschaubar ist, konnte im Programm<br />

eine Formulierung auf der Bitebene wie in Tabelle 9.8 umgangen werden. Zur Generierung<br />

des Übergabewertes wurde eine Addition eingeführt. Aus Tabelle 9.8 sind die endgültigen<br />

Werte für die Übergabe zu ersehen. Diese lassen sich aus einer Addition bestimmen. In die<br />

Addition geht für eine langsame Fahrt der Wert „0“, für eine schnelle Fahrt der Wert „4“<br />

(Bit 2 = 1) ein. Da die Drehrichtung durch Setzen der Bits 1 und 0 vorgegeben wird, heißt<br />

dies, dass eine negative Drehung eine „2“ und eine positive Drehung eine „1“ erfordert. Eine<br />

schnelle Drehung in negativer Richtung erfordert also den Wert 6 (4 + 2 + 0). Die Additionssequenz<br />

zeigt Abbildung 9.14.<br />

<strong>Fachhochschule</strong> Düsseldorf Diplomarbeit 2002/03, Terence Klitz

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!