www.mikrocontroller.net

Forum: PC Hard- und Software Ansteuerung einer Pumpe über RS232-Schnittstelle


Autor: christina (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo liebe Forumsbesucher,

vielleicht kann mir jemand von Euch bei meinem Problem helfen. Derzeit 
versuche ich eine Pumpe über den PC anzusteuern - dabei erfolgt der 
Anschluss über die RS232-Schnittstelle des Computers. Laut Angaben des 
Herstellers muss ich mit Hilfe einer batch-Datei ein Textfile (in dem 
die Befehle für die Pumpe drin stehen) an die Pumpe schicken. Mir ist 
nur etwas unklar, wie das geht.

Verwendet man hierfür den Befehl copy - z.B. "copy test1.txt com1:"? 
Hier bekomme ich als Rückgabe bisher immer "1 file(s) copied", aber die 
Pumpe tut nichts. Und wie ist es möglich die Rückgaben der Pumpe auf dem 
PC einzulesen?

Würde mich riesig über Eure Hilfe freuen.

Viele Grüße,
Christina

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht stimmen nur die Parameter der Schnittstellen COM1 nicht, also 
Baudrate, Datenbits, Parity und Stoppbits. Die kann man mit dem mode 
Kommando einstellen bzw. anzeigen lassen.

Statt die Kommandodatei "blind" rauszuschicken, würde ich ein 
Terminalprogramm benutzen und die Kommandos aus der Datei zeilenweise an 
die Pumpe schicken. Im Terminalprogramm kann man dann auch sehen, ob und 
wie die Pumpe antwortet. Terminalprogramme sind unter RS232 
angegeben.

Stimmt die Hardware, d.h. hier das Kabel zwischen PC und Pumpe? Zunächst 
ist zu klären ob du ein 1:1-Kabel oder ein Nullmodem-Kabel (gekreuzte 
Leitungen) brauchst. Dann, ob die Pumpe die Handshake-Leitungen 
benötigt. Wenn dir die Begriffe spanisch vorkommen und der Artikel RS232 
nicht weiterhlft, gib einen Link an, wo man mehr über die Pumpe 
nachforschen kann.

Autor: Anselm 68 (anselm68)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Type Steuerkommado.txt >com1
mit lpt gehts auf jeden fall, so hab ich früher immer kleine textfiles 
gedruckt ;)

Autor: Nullahn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorher mit MODE Schnittstellenparameter einstellen.

Autor: Christina (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo :-)

die Parameter für die Schnittstelle hatte ich laut Herstellerangaben 
eingegeben. Habe sie dann auch nochmals mit dem Befehl "mode" 
kontrolliert und es hat gepasst. Trotzdem tat sich nix.

Hab heute auch mal versucht, das ganze über Hyperterminal zu machen. Hab 
dort die Parameter (Baudrate usw.) eingegeben und die Textdatei 
(beinhaltet bisher nur den Befehl: Pumpe starten) abgeschickt. Trotzdem 
niente ... zum verzweifeln.

Bei der Pumpe handelt es sich im eine IPC-N der Firma Ismatec (siehe 
http://www.ismatec.com/de_d/pumpen/s_ipc/ip_ipc.htm). Der Anschluss der 
Pumpe ist grad das Gegenstück zu dem vom PC. Ein Nullmodemkabel 
funktioniert also eigentlich nicht, da es zwei gleiche Anschlüsse hat. 
Der Hersteller sagt in der Betriebsanweisung aber auch nichts dazu. 
Bzgl. handshake-Leitungen habe ich in der Anleitung auch nichts 
gefunden. Werde mal versuchen, Montag dazu genaueres beim Hersteller zu 
erfahren.

Den Befehl type hab ich mal versucht. werd's aber nochmal so wie oben 
ausprobieren. Vielleicht klappt's ja.

Danke für Eure Tipps,
Christina

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf Seite 36 der Bedienungsanleitung ist die RS232-Buchse (RS232 IN) 
abgebildet. Es ist eine 9-polige Buchse, weiblich. Die Pinbelegung ist 
passend für ein 1:1 Kabel, kein Nullmodemkabel.

Als Pins sind markiert TXD, RXD und GND. Ich gehe davon aus, dass die 
Handshake-Leitungen keine Rolle spielen.

Als Schnittstellenparameter können 9600 Baud/8 Datenbits/No Parity/1 
Stoppbit oder 1200 Baud/8 Datenbits/No Parity/1 Stoppbit benutzt werden. 
Die Auswahl scheint der µC in der Pumpe per Software zu machen.

Der µC reagiert frühstens 3 s nach Einschalten der Stromversorgung der 
Pumpe.

Autor: Christina (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,

hab den Befehl "type Batch1.txt >com1" wie oben probiert. Hat nicht 
funktioniert.

Wenn ich die Datei über Hyperterminal an den Port schicke, bringt es die 
Fehlermeldung "connection timed out".

Die Parameter Baudrate usw. stimmen. Da bin ich mir sicher. Ich habe das 
Kabel aus unserer EDV-Abteilung geholt. Eigentlich müsste es passen, 
denke ich. Ist ja kein Nullmodemkabel. Einziger Fehler der mir noch 
einfallen würde ist, dass entweder das Kabel oder die Schnittstelle am 
Computer defekt ist. Werde diese Möglichkeiten kontrollieren.

Viele Grüße,
Christina

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>aus unserer EDV-Abteilung geholt

Dass muss nichts heissen...
Wenn du die Datei per Hyperterminal verschickst, könntest du auf der 
Empfängerseite mal die beiden Übertragungspin (RXD und TXD) mit einem 
Kabel verbinden. Dann sollte Hyperterminal beim Versand gleichzeitig die 
Datei empfangen. Das wäre dann der PC-Schnittstellentest.
Wenn das erfolgreich war, ist entweder das Kabel verdreht oder die 
Schnittstelle an der Pumpe defekt.

Autor: Thilo M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst die Pinbelegung relativ leicht ausmessen:
bei 9-pol-Sub-D ist Pin 5 Masse, Pins 2 und 3 RX und TX.
TX ist spannungsführend (-8..-12V oder +8..+12V) und muss auf der 
Gegenseite auf den Pin mit 0V.

Muss der Befehl mit irgendwas terminiert werden? CR, NL oder so?

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob die Leitungen zwischen PC und Pumpe korrekt angeschlossen sind kannst 
Du folgerndermassen feststellen:

An serieller Schnittstelle der Pumpe zwischen Tx und GND Spannung messen 
und Wert notieren.
Dasselbe an PC-Seite.

Gnd von beiden miteinander verbinden. Tx von Pumpe auf Rx von PC und 
wieder Spannung zwischen GND und dieser Leitung messen. Spannung muss 
jetzt in ähnlicher Grösse wie ohne Kabel sein. Wenn nicht (Murks oder 
Null Volt) hast Du möglicherweise Tx auf Tx angeschlossen (passiert 
schon mal öfter).
Jetzt dasselbe mit Rx Pumpe und Tx PC.

Wenn es dann nicht geht könnte es noch sein, dass am PC die 
Steuerleitungen RTS/CTS usw. kurz geschlossen werden müssen. Ich bin mir 
ziemlich sicher, dass das im DOS-Mode (type oder copy-Befehl) auf jeden 
Fall so sein muss. Sonst geht nichts raus.
Was bei Hyperterminal ist weiss ich jetzt nicht.

Hier im Forum gibt es ein gutes Terminalprogramm (glaube Hterm). Das 
braucht die Steuerleitungen nicht. Da reichen die drei Leitungen Rx, Tx 
und Gnd. Schick von dort einfach mal (nach korrektem Anschluss):

"1#13" + CR da muss dann von der Pumpe wass mit 2IPC 4031310" 
zurückkommen. Vorausgesetzt die Pumpe hat die Adresse 1.
Zumindest lässt sich so feststellen ob die Pumpe korrekt angeschlossen 
ist und den PC versteht.
Ich habe mir mal kurz die Anleitung angesehen. Befehle müssen mit CR 
abgeschlossen werden. Möglicherweise wird das mit dem copy-Befehl nicht 
rausgeschickt.

Einstellung muss 9600 Baud, 8 Bit, 1 Stopbit, No Parity sein.

Dass die Schnittelle vom PC defekt ist ist meist selten. Einfach mal 
Rx/Tx (Anschluss 2 und 3) kurzschliessen und mit Hterm/Hyperterminal was 
rausschicken. Muss dann auch wieder empfangen werden.
Wie ich aber schon geschrieben hatte weiss ich nicht was Hyperterminal 
mit den Steuerleitungen macht. Ausserdem stellt Hyperterminal 
Sonderzeichen (STX, CR usw.) teilweise nicht richtig dar. Hterm kann das 
aber alles.

Viel Erfolg

Andreas

Autor: Christina (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey,

Bedeutet das, dass das Verbindungskabel im Endeffekt die Pins so 
verknüpft, dass TxD der Pumpe auf RxD des PCs geht und umgekehrt? Nur 
die Masse bleibt auf Pin 5?

Viele Grüße,
Christina

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
japp, genauso sollte das laufen!

Autor: Skua (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist 100% sicher das die DOS bzw. BIOS Routinen NUR mit Hardware 
handshaking funktionieren.

Autor: Christina (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

vielen Dank für Eure zahlreiche Hilfe. Hab das Problem jetzt gelöst 
bekommen :-)

Kabel, Schnittstellenparameter etc. haben am Schluss alle gestimmt. 
Musste nur noch drauf kommen, bei dem Befehl statt der "13" am Ende die 
Enter-Taste zu drücken. Kann einem als blutiger Anfänger wahrscheinlich 
passieren. erröt Ist aber auch etwas umständlich in der 
Bedienungsanleitung erklärt.

Werd Euch später in meiner Diss dankend erwähnen ;-)

Viele Grüße,
Christina

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.