Kopplung ATMEGA 8 mit S7-1200 RS232?

Gast #3447019
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
#3447164
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
Gast #3447203
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ß
#3447212
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).
Gast #3447215
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.