Forum: Mikrocontroller und Digitale Elektronik Kopplung ATMEGA 8 mit S7-1200 RS232?


von soundmachine (Gast)


Lesenswert?

Hallo liebe Mikrocontrollergemeinde,

nachdem ich mit meiner haussteuerung ein gutes Stück weiter gekommen bin 
stehe ich nun vor einem weiteren Problem.

Mittels eines ATMEGA 8 lese ich 5 Stromwerte einzelner Sicherungsabgänge 
ein und skaliere diese. Herzstück meiner Haussteuerung ist eine Siemens 
S7-1200. Hier möchte ich diese Daten gerne auswerten. Ich muss also 
diese Infos irgendwie auf die SPS bekommen. Momentan läuft das ganze 
über einen selsbt gebastelten Eindrahtbus mit Parity Bits. Alles 
ziemlich langsam.
Nun kam mir die Idee eine RS 232 Karte für die S7 zu kaufen. kostenpunkt 
ca. 60€ und die Atmegas (insgesamt 18 Stück an der Zahl) über RS232 mit 
der SPS zu verbinden. Dabei hatte ich mir vorgestellt eine Art "Ring" 
aufzubauen.
Rx von einem µC zu Tx von nächetn usw. so dass alle Informationen 
gesammelt werden udn nur der letzte gibt an die SPS die 
Gesamtinformationen ab.

Wäre so etwas denkbar, gibt es andere Möglichkeiten? Hat jemand sowas 
schonmal gemacht...?

Für jede ernst gemeinte Anregung bin ich wirklich sehr dankbar

von Falk B. (falk)


Lesenswert?

@soundmachine (Gast)


>Wäre so etwas denkbar,

Ja, aber den Ring würde ich lassen. Lieber einen Halbduplex RS485 Bus 
nehmen.
Auf Anfrage der SPS schickt der jeweilig AVR seine Daten raus.

von soundmachine (Gast)


Lesenswert?

Hmm RS485 ist nur SPS seitig weitaus teurer.

Daher dachte ich an RS232.
Was hat der Ring für Nachteile? Keine Rückmeldung?

von Dietrich L. (dietrichl)


Lesenswert?

soundmachine schrieb:
> Was hat der Ring für Nachteile?

Der Hauptnachteil ist der Ausfall von mehreren Quellen bei einer 
Unterbrechung des Rings (Leitung, Ausfall eines µC, ...).

>  Keine Rückmeldung?

Das geht schon mit Rückmeldung / Quittung, wenn der Ring vollständig 
geschlossen ist: Tx der SPS geht auf Rx des ersten µC. Das Protokoll 
muss dabei dafür sorgen, dass die Rückmeldung / Quittung nur bis zum 
richtigen µC durchgereicht wird und nicht weiter. Dazu muss man jedem µC 
seine eigene "Stationsadresse" verpassen.
So kann man dann auch Aufrufbetrieb machen: die SPS ruft nacheinander 
alle µCs auf, die dann individuell antworten. Alle "fremden" Stationen 
reichen die Telegramme einfach weiter.

Gruß Dietrich

von Versuch (Gast)


Lesenswert?

Hallo,

ein anderer Ansatz. Was wäre es mit Ethernet. Also ENC28J60 oder 
ähnliches an den Atmega (Wobei 18 Stück ist eine ganze Menge). Die 
Kosten auf der S7 Seite liegen bei 0 Euro.

Gruß

von Falk B. (falk)


Lesenswert?

Man kann auch RS232 busartig betreiben. Ist zwar nicht ganz 
standardkonform, geht aber. Im Vollduplex wird das sogar noch etwas 
einfacher vom Protokoll her. Einfach ein Zeichen an alle Sensoren 
senden, derjenige der sich angesprochen fühlt antwortwet auf der 
gemeinsamen TX Leitung. Für die Verschaltung der 18 TX Ausgänge nimmt 
man entweder Diodenlogik mit Pull-Widerstand oder RS232 Tranceiver mit 
Tristate-Ausgang (wenn gleich die selten sind).

von Poster (Gast)


Lesenswert?

Mit einem Monoflop, Max232 und einen 458 Treiber hat man schnell einen 
232<>485 Wandler aufgebaut.
Oder du verwendest einen MC mit zwei Schnittstellen, eine 232 zur SPS 
und eine 485 zu den ATMEGAs. Der MC arbeitet dann als Busmaster, sammelt 
alle Daten der Stationen und gibt die an die SPS weiter. Dann braucht 
sich die S/ nicht um das Pollen der Teilnehmer kümmern.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.