# Ansteuerung einer RS232 Schnittstelle



## vitlehm (9. Mai 2012)

Sehr geehrte User,

ich bin neu hier und habe folgen des Problem.

Es geht um eine Automatisierung. Ich habe ein Tauchbad <Link entfernt>

das auch eine RS232 Schnittstelle besitzt. Diese Schnittstelle ist eigentlich für die Kalibrierung des Tauchbads. Meine Frage ist es ob man die Schnettstelle auch auf irgendeine Art automatisch ansteuern kann, damit man die Temperatur z.B durch ein PC einstellen kann.

Über Antwort würde ich mich freuen

MfG


----------



## sheel (9. Mai 2012)

Hi und Willkommen bei tutorials.de,

Ja, kann man.

Ist Fertigsoftware gesucht oder soll selbst programmiert werden?
Ggf. irgendeinen Wunsch bezüglich Programmiersprache?
Betriebssystem?


----------



## vitlehm (9. Mai 2012)

Also erlich gesagt habe ich keine Anhnung  
Ich arbeite gerade an einer Automatisierung und die Tauchbäder sollen durch eine SPS angesteuert werden. Das heißt in einer bestimmten Zeit sollen die Tauchbäder eingeschaltet werden und auch eine bestimmte Temperatur eingestellt werden. Gesucht wird denke ich mal eine Fertigsoftware. 
Wie könnte dieser Vorgang in der Theorie aussehen?

MfG V.L


----------



## sheel (9. Mai 2012)

Jetzt auf einmal eine SPS dazwischen?

Bitte mal genau beschreiben, was wie zusammengesteckt ist.


----------



## vitlehm (10. Mai 2012)

Ablauf jetzt:

Die Tauchbäder wärden Manuell auf eine bestimmte Temperatur eingestellt.

Ablauf nach der Automatisierung:

Tauchbäder sollen Automatisch durch die SPS automatisch durch die RS 232 Schnittstelle angesteuert werden.

Die SPS ist schon vorhanden und wird von einem PC angesteuert. 
Oder wäre es möglich die RS232 Schnittstelle direkt über den PC anzusteuern?


----------



## sheel (10. Mai 2012)

Wikipedia hat gesagt.:
			
		

> RS-232 ist ein Standard für eine *bei Computern oft vorhandene* serielle Schnittstelle,


Wenn dein Computer so einen Stecker hat, ist es möglich.
Hat er?

Wenn ja: Weißt du, was du senden musst, um bestimmte Sachen einzustellen?
Bzw. kannst du es herausfinden?


----------



## vitlehm (10. Mai 2012)

Der Computer hat auch so einen Stecker. Leider weiß ich nicht was man an die Tauchbäder über die Schnittstelle senden muss, damit diese Reagieren bzw. die gewünschte Temperatur einstellen.
Wie ist es möglich dies herauszufinden was man senden muss, damit die Tauchbäder reagieren?

Hilfe  hat keiner eine Ideee?


----------



## sheel (14. Mai 2012)

Wir wissen noch viel weniger als du über dein Bad.
Woher sollen wir jetzt die Befehle wissen?
Gibts da keine Beschreibung vom Hersteller (Website durchsuchen)?


----------



## vitlehm (23. Mai 2012)

Was muss man über das Tauchbad (Temperaturkalibrator) genau wissen, um das problem zu lösen?
Die RS 232 Scnittstelle am Gerät, sendet aufjedenfall die aktuelle Temperatur im Tauchbad.


----------



## melmager (24. Mai 2012)

Das Hauptproblem sind die Befehle für dein Tauchbad.

Was kommt genau vom Tauchbad und was muss hingeschickt werden.

den anschluss an ein PC ist das kleinere Problem.

Es reicht ein Wandler USB/RS232 und ein Terminalprogramm fürs testen.

Ich spinne mal rum:
Sende "T2" - für mein Tauchbad bedeutet das : sende Temp alle 2 Minuten
und dann kommt halt alle 2 minuten sowas
C80 für 80 Grad ...

und genau da ist dein problem ohne die befehlsliste, die warscheinlich igendwo im Handbuch aufgeführt sind kommst du nie zum Ziel

Also Frage ist was kann ich senden an befehlen und den aufbau dazu und was kommt zurück ?

sind alles Textzeichen die da hin und her fliessen

und hey die technischen daten sind auch wichtig wie baud mit oder ohne parity usw für die schnittstelle

wie sowas aussehen kann, eine befehlsliste "AT befehlssatz Modem" .. und Googel fragen

erst wenn du weisst wie das Tauchbad anzusteuern ist über Textbefehle, dann können wir uns unterhalten wie setze ich das als Programm um.


----------



## vitlehm (29. Mai 2012)

Werde versuchen die Firma anzuschreiben, damit diese mir die Befehle zusenden kann, die das gerät empfangen kann . Leider steht in dem Handbuch nichts von Befehlen oder der gleichen. 

Lg


----------



## vitlehm (4. Juni 2012)

So, habe jetzt die Daten für die Kommunikation für die RS 232 Schnittstelle erhalten. Leider nur auf Englisch.

3.1 Communication parameters
The serial communication is based on a standard RS232 communication.
The communication parameters are specified as follows:
• 9600 Baud
• 8 data bits
• No parity
• 1 stop bit
No hardware handshake is used.
3.2 Cable
The cable between the PC and the calibrator is designed in the following
way:
PC Calibrator
DB9 socket 			DB9 socket

CD 1				CD  1
RX 2				RX2				
TX 3				TX 3
Gnd 5				Dnd 5
4 Telegrams
The communication always starts with the PC setting the calibrator in
communication mode (Log-on). At the same time any existing functions
are interrupted. As long as the calibrator is in communication
mode, the user interface is disconnected. This is shown by the text
"REMOT." in the display of the calibrator. It is only possible to read or
write when the calibrator is in remote mode.
When the PC logs off, the user interface of the calibrator is reactivated.
105402 04 02-07-2008 11/20
Telegram #1 - Log-on
Number: 1
Subject: The connection between the PC and the
calibrator is established.
Reading/writing: Reading
Comments: The returned data identify the instrument type,
the protocol consulted and the version number
of the software of the calibrator. At the same
time the calibrator is set in remote mode.

Data, PC > calibrator: -
Data, PC < calibrator: 6 bytes:

Instrument type (unsigned int):
2091: C-140
2092: C-320
2093: C-320-2
2094: C-650
2095: C-650-2
2096: ITC-155 A
2097: ITC-320 A
2098: ITC-650 A
2099: CTC-140 A
2100: CTC-320 A
2101: CTC-320 B
2102: CTC-650 A
2103: CTC-650 B
2104: MTC-140 A
2105: MTC-320 A
2106: MTC-320 B
2107: MTC-650 A
2108: MTC-650 B
2109: CTC-1200 A
2200: ETC-125 A
2201: ETC-400 A
2202: ETC-400 R
Protocol version (unsigned int):
101 (V1.01)
Software version (unsigned int):
100 (V1.00)
12/20 02-07-2008 105402 04

Telegram #2 - Log off
Number: 2
Subject: The communication is interrupted.
Reading/writing: -
Comments: The remote mode is closed and the user interface
of the calibrator is activated.
Data, PC  calibrator: -
Data, PC  calibrator: -

Telegram #4 - Write SET temperature
Number: 4
Subject: SET temperature.
Reading/writing: Writing
Data, PC  calibrator: 4 bytes:
SET temperature in °C (float)
Data, PC  calibrator: -

Telegram #9 - Read serial number
Number: 9
Subject: Serial number.
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 13 bytes:
Serial number (string[12])

Telegram #11 - Read calibration date
Number: 11
Subject: Calibration date
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 4 bytes:
Day, 1..31 (char)
Month, 1..12 (char)
Year, 1998..2025 (unsigned int)

Telegram #12 - Write calibration date
Number: 12
Subject: Calibration date
Reading/writing: Writing
Data, PC  calibrator: 4 bytes:
Day, 1..31 (char)
Month, 1..12 (char)
Year, 1998..2025 (unsigned int)
Data, PC  calibrator: -

Telegram #13 - Read temperature unit and resolution
Number: 13
Subject: Temperature unit and resolution.
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 1 byte:
Temperature unit (bit 0 of char):
0: °C
1: °F
Temperature resolution (bit 1 of char):
0: 1°
1: 0,1°

Telegram #14 - Write temperature unit
Number: 14
Subject: Temperature unit
Reading/writing: Writing
Data, PC  calibrator: 1 byte:
Temperature unit (char):
0: °C
1: °F
Data, PC  calibrator: -

Telegram #15 - Write temperature resolution
Number: 15
Subject: Temperature resolution.
Reading/writing: Writing
Data, PC  calibrator: 1 byte:
Temperature resolution (char):
0: 0,1°
1: 1°
Data, PC  calibrator: -

Telegram #17 - Read maximum SET temperature
Number: 17
Subject: Maximum SET temperature permitted.
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 4 bytes:
Max. temperature in °C (float)

Telegram #18 - Write maximum SET temperature
Number: 18
Subject: Maximum SET temperature permitted.
Reading/writing: Writing
Data, PC  calibrator: 4 bytes:
Max. temperature in °C (float)
Data, PC  calibrator: -

Telegram #19 - Read slope rate
Number: 19 (Not applicable for ETC)
Subject: Slope rate.
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 4 bytes:
Slope rate in °C/min. (float)

Telegram #20 - Write slope rate
Number: 20 (Not applicable for ETC)
Subject: Slope rate.
The slope rate is used by both on- and offline
switch test. The slope rate is only used
by the on-line switch test when the flag activated
in telegram #88 is set. In the on-line
switch test the slope rate is used when the
SET temperature command is activated. If
the activated SET temperature is lower than
the actual temperature the slope is negative.
A new SET temperatuer may be activated
before the current SET temperature is
accomplished. The slope rate is saved in
EEPROM
Reading/writing: Writing
Data, PC  calibrator: 4 bytes:
Slope rate in °C/min. (float). Valid range is
0.1 – 9.9.
Data, PC  calibrator: -
Telegram #21 - Read stability time
Number: 21
Subject: Stability time
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 1 byte:
Stability time in minutes (char)

Telegram #22 - Write stability time
Number: 22
Subject: Stability time
Reading/writing: Writing
Data, PC  calibrator: 1 byte:
Stability time in minutes (char)
Data, PC  calibrator: -

Telegram #27 - Read maximum temperature
Number: 27
Subject: Maximum temperature
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 4 bytes:
Max. temperature in °C (float)

Telegram #28 - Read internal ref. sensor resistance
Number: 28
Subject: Internal reference sensor resistance
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 4 bytes:
Resistance in ? (float)

Telegram #29 - Read display temperature
Number: 29
Subject: Display temperature.
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 4 bytes:
Display temperature in °C (float)

Telegram #84 - Read calibrator mode
Number: 84
Subject: Read calibrator mode
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 2 bytes:
Test mode (byte):
0: Normal
1: Simulation
2: Service
Internal status (byte)
1: Temperature setup
2: Switch test
3: Auto step
Telegram #87 - Read slope rate status
Number: 87 (Not applicable for ETC)
Subject: Slope rate status
Reading/writing: Reading
Data, PC  calibrator: -
Data, PC  calibrator: 1 byte:
0: Slope rate not active (boolean)
1: Slope rate active (boolean)
Telegram #88 - Write slope rate status
Number: 88 (Not applicable for ETC)
Subject: Slope rate status. The slope rate status is
not saved in EEPROM. The slope rate
status is reset to 0 when the calibrator goes
off-line. The slope rate status controls the
use of slope in the on-line switch test.
Reading/writing: Writing
Data, PC  calibrator: 1 byte.
Slope rate status (boolean):
0: Reset slope rate active flag.
1: Set slope rate flag active.
Data, PC  calibrator: -
20/20 02-07-2008 105402 04
Telegram #93 – Not Applicable


----------



## vitlehm (4. Juni 2012)

ich glaube damit kann man arbeiten 
Hoffe ihr könnt mir jetzt weiterhelfen


----------



## melmager (5. Juni 2012)

Tja - in welcher Sprache möchtes du denn Programmieren  
(was soll dat Programm eigendlich machen/können)
dir wird hier keiner das Programm schreiben  aber helfen - beim schreiben dat geht 

Ok mir ist noch die Sache mit dem Telegramm ein wenig unklar - aber damit kann man arbeiten

Eine Dauerüberwachung geht schon mal nicht:
"The communication always starts with the PC setting the calibrator in
communication mode (Log-on). At the same time any existing functions
are interrupted."
also genereller Ablauf:
communikation ein.
befehl senden 
Communikation aus

ich erwähne noch mal meinen Hinweis Terminal (Hyperterminal) USB/RS232 Wandler und mal ein paar basics per Hand probieren..


----------



## vitlehm (7. Juni 2012)

Ich erkläre mal kurz die Situation:

Es sollen 3 Temperaturkalibratoren aufgestellt werden. Jeder Temperaturkalibrator hat eine bestimmte Starttemperatur und soll die Temperaturen automatisch nach Wunsch hochfahren und absenken .


Temperaturkalibrator1:

Start: 51°C eine gewisse Zeit halten bis ihm ein Befehl gesendet wird.  > aufheizen auf 56°C, dann eine gewisse zeit die 56°C halten und dann wieder auf 51°C abkühlen und diese Temperatur halten bis der Vorgang von vorne beginnen kann: 51°C>56°C>51°C 

Temperaturkalibrator2:

Start: 62°C eine gewisse Zeit halten, dann auf 65,5°C aufheizen, von 65,5°C auf 62°C runterkühlen und diese Temperatur halten, bis der Vorgang von vorne beginnt

Temperaturkalibrator3:

Start: 95°C eine gewisse Zeit halten, dann auf 98°C aufheizen, von 98°C auf 95°C runterkühlen und diese Temperatur halten, bis der Vorgang von neuem beginnt  


Was bedeutet das, dass eine Dauerüberwachung nicht möglich ist? 

Lg


----------



## melmager (8. Juni 2012)

vitlehm hat gesagt.:


> Was bedeutet das, dass eine Dauerüberwachung nicht möglich ist?
> 
> Lg



Na wenn der rechner zugang zum Tauchbad hat ist die Bedienung am Tauchbad durch Menschen ausgeschlossen. Und das ist unschön - sach ich mal . also nur Kurze Kontaktaufnahme durch Rechner.

sprich bei deinem ersten Beispiel:

Communikation ein
setze Temp 51
Communikation aus

Schleife 
 warte eine Minute
 Communikation ein
 lese aktuelle Temp
 Communikation aus
ist (gelesen <> 51) weiter schleife

schleife  warte gewisse zeit

Communikation ein
setze Temp 56
Communikation aus

Schleife 
 warte eine Minute
 Communikation ein
 lese aktuelle Temp
 Communikation aus
ist (gelesen <> 56) weiter schleife

schleife  warte gewisse zeit

die grobe richtung

wenn du uns noch verräts in welcher Sprache du das Programieren möchtes - 
Hardwareseite dürfte klar sein - nur zur Sprache: was darf es denn sein ? C,Java,Xbasic oder ****?
Wo kennste dich denn aus ?

Übrigends brauchste für jedes Tauchbad eine Rs232 Schnittstelle - das mal nur am Rande
In deinem Fall also 3 Schnittstellen


----------

