PC-Programm zum einfachen Befeuern der RS232

Gast #3735454
Lesenswert?
• ▲
▼
Kennt jemand ein Terminal-Programm für PCs (Win!) mit dem ich einfach 
durch Tastendruck eine vorher definierte Codefolge (BIN) über RS-232 
raussenden kann und speichern kann, was empfangen wird?

Ich verfüge über ein Messgerät mit telemetrischer Schnittstelle, für 
welches die Steuercodes bekannt sind, wofür es aber keine Software mehr 
gibt, weil der Hersteller pleite ist.

Ich muss nun dem Operator die Möglichkeit schaffen, bei Eintreten eines 
speziellen Ereignisses, manuell eine Reihe von Daten rauszuholen. Ich 
brauche also einen Knopf am PC, der die Abfrage Codes sendet und alles 
an binären Daten speichert, was kommt.

Die Abfolge ist in etwa so:

"Lese ab Adresse 7 die nächsten 31 Daten " 0x80 0x07 0x1f 0xPP

Ich habe es schon mit Hyperterminal hingefummelt, aber es ist zu 
umständlich, jedesmal auf Senden zu gehen und eine Datei zu senden.

Ein kopmlettes Programm zu schreiben, wäre mir jetzt aber auch zu 
aufwändig zumal ich meine, dass es sowas geben müsste.

Kriegt man das alternativ mit Putty irgendwie hin?
Persönliche Seite #3735514
Lesenswert?
• ▲
▼
Berndl schrieb:
> Ich muss nun dem Operator die Möglichkeit schaffen, bei Eintreten eines
> speziellen Ereignisses, manuell eine Reihe von Daten rauszuholen. Ich
> brauche also einen Knopf am PC, der die Abfrage Codes sendet und alles
> an binären Daten speichert, was kommt.

Die andere Lösung wäre ein eigenes Programm/Skript zu schreiben.
Entweder als eigenständige EXE oder als z.B. Python-Skript.
Gast #3736770
Lesenswert?
• ▲
▼
Dennis Heynlein schrieb:
> Die andere Lösung wäre ein eigenes Programm/Skript zu schreiben.
> Entweder als eigenständige EXE oder als z.B. Python-Skript.

Das muss nicht viel komplizierter sein als ein Script für ein 
Terminalprogramm, und man ist nicht auf die Funktionalität beschränkt, 
die der Autor des Terminalprogramms für sinnvoll gehalten hat.

Z.B. wie unten, falls du kein GUI brauchst und damit leben kannst, dass 
nach dem Doppelklick auf die .py-Datei ein Konsolenfenster aufgeht. Aus 
zwei meiner Basteltools direkt ins Forum zusammencopypastet, natürlich 
anpassungsbedürftig und mangels Deiner Hardware ungetestet.

1
# fuer Python 2.7, nicht 3.x
2
# auch pyserial installieren
3

4
import serial
5
import time
6

7
request_string = '\x80\x07\x1f' #usw
8
output_dir = 'C:/Users/Berndl/Desktop'
9

10
#dateiname aus datum, uhrzeit, _daten.dat
11
def create_filename():        
12
        day = time.strftime('%Y-%m-%d')
13
        tim = time.strftime('%H.%M.%S') #windows kann keine doppelpunkte...
14
        return output_dir + '/' + day + '_' + tim + '_daten.dat'
15

16
def get_data(xyz):
17
    ser = serial.Serial('COM1', 9600, timeout=1, parity=serial.PARITY_NONE, rtscts=1)
18
    ser.write(xyz)
19
    time.sleep(1)
20
    response = ser.read(1000)        # read up to 1000 bytes (timeout)
21
    ser.close()
22
    return response
23

24
def save_data(data, filename):
25
    outfile = open(filename, 'wb')
26
    outfile.write(data)
27
    outfile.close()
28

29
if __name__ == '__main__':
30
    data = get_data(request_string)
31
    print '%d bytes gelesen...' % len(data)
32
    filename = create_filename()
33
    save_data(data, filename)
34
    print '... und gespeichert in %s' % filename
35
    raw_input("Press Enter to continue...")

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren