Forum: Haus & Smart Home Siemens S7-1200, ca. 50 Digitalausgänge über Modbus steuern


von Der H. (picasso323)


Lesenswert?

Hallo liebe S7 Experten ,
das Thema passt nicht ganz in "Haus&Smart Home", eine bessere Kategorie 
habe ich leider nicht gefunden ;)
Es geht darum, dass ich ca. 50 Digitalausgänge mittels Modbus steuern 
will. Mit Modbus habe ich mich inzwischen beschäftigt, das Protokoll an 
sich scheint mit recht simpel, gerade wenn es darum geht, digitale I/Os 
(Coils) zu steuern. Mein Labjack T7 konnte ich problemlos über Modbus 
steuern.

Allerdings habe ich keine "einfache" SPS oder etwas Ähnliches mit so 
vielen Eingängen gefunden (wie z.B. das LabJack T7, das von Haus aus 
schon Modbus spricht). 50 Ausgänge sind selbst für eine LOGO nicht 
praktikabel.

Daher hatte ich an eine S7-1200 beispielsweise mit zwei SM 322 DO 
Modulen gedacht. Leider habe ich bisher allerdings noch nie eine S7 
programmiert sondern das Teil nur aus ausreichend Entfernung kritisch 
beäugt ;)

Daher meine Frage an euch:
Ist es "so einfach" wie ich es mir vorstelle?
Ich drücke es mal mit Nicht-S7-Worten aus:
- DO Ports konfigurieren
- Modbus auf der S7 Ethernet Schnittstelle aktivieren
- Evtl. Adressen mappen? Address Table erstellen?
. ?

Wie würdet ihr das einschätzen? Die S7 müsste doch Modbus/TCP 
defaultmäßig sprechen, oder? Womit würdet ihr sie programmieren? Soweit 
ich weiß gibt es verschiedene "Sprachen".

Sorry für meine stümperhafte Ausdrucksweise... klar lassen sich diese 
Infos auch aus den Datenblättern, Google, Youtube usw. kratzen. Aber 
vielleicht hat Jemand sowas schon mal gemacht und kann mir nen Tip geben 
;)

von Oliver W. (oli2)


Lesenswert?

Hallo!

Was hast du denn eigentlich vor? Was ich bis jetzt verstanden habe, ist 
dass du 50 digitale Ausgänge brauchst. Sinnvollerweise benötigst du ja 
auch noch Eingänge. Wofür willst du den Modbus benutzen? Daher die Frage 
nach der Anwendung und was es kosten darf, dann kann man dir vielleicht 
besser weiter helfen. Auch wäre es interessant worin du bisher 
Kenntnisse hast.

Oli

von Der H. (picasso323)


Lesenswert?

Huhuu Olli ?‍♂️,
es geht um ein Bedienpanel im Industriebereich, ich würde als 
Auftragsarbeit den Modbus Teil übernehmen, ein Freund baut das restliche 
Panel. Aktuell soll es fast nur Ausgänge geben, eventuell einige wenige 
Inputs (Betrieb/Störung). Budget ist also vorhanden :)
Ich bin mir nur unsicher, ob ich das zusagen kann, weil ich bisher keine 
S7 Erfahrung habe und dieses Projekt funktionieren "muss". Mal eben beim 
Kunden nachbessern ist hier nicht drin ;) Andererseits scheint mir das 
jetzt auch kein Hexenwerk zu sein.

Per Modbus sollen die Ausgänge einzeln gesetzt werden können (und ggf. 
die Eingänge gelesen werden)

Bisher habe ich viel mit Labview entwickelt, mit Siemens Logos gespielt, 
an Raspberrys und Atmels programmiert und gelegentlich ein 
Schaltschränkchen gebaut ;) was man in seiner grenzenlosen 
Selbstüberschätzung eben so macht. Vor der S7 hab ich allerdings 
Respekt, hatte so ein Teil leider noch nie als Spielzeug auf dem Tisch 
liegen...daher würde mich deine/eure Einschätzung interessieren.

: Bearbeitet durch User
von Peter S. (Gast)


Lesenswert?

Wago 750 Feldbuskoppler (kann Modbus) und beliebige Wago 750 digitale 
Ausgangsklemme dran (oder Eingangsklemmen oder Analoge oder oder 
oder...)

von Dieter (Gast)


Lesenswert?

Besorge Dir einen Buskoppler, der Modbus spricht. Bspw.
https://www.beckhoff.de/default.asp?fieldbus_components/system_modbus.htm

Alternativ direkt von WAGO. Siemens würde ich mir da ehrlich nicht 
antun.

Aus deinem Text geht nicht hervor, wo die Logik laufen soll. Beckhoff 
baut aber auch nette Steuerungen, was aber auch andere Hersteller 
machen.

von Thomas W. (thomas_v2)


Lesenswert?

Für die S7-1200 sind in der Programm-Bibliothek Funktionen für 
Modbus-TCP dabei. Die Kommunikation musst du hier ausprogrammieren und 
nicht projektieren. D.h. TCP Verbindung aufbauen, zu verarbeitende 
Register zusammenstellen und versenden / Empfangsdaten einlesen. Das ist 
etwas Aufwand, auch für die Geräte erst einmal die Adressierung 
herauszusuchen, aber wenn du das für einen Teilnehmer fertig hast lässt 
sich das für alle wiederverwenden.
Programmieren lässt sich die 1200 in einer grafischen 
Programmiersprache, oder in der textbasierten Sprache SCL die ähnlich 
Pascal ist.

Erste Wahl als Feldbusprotokoll bei der 1200 ist jedoch Profinet. Dort 
musst du deine Teilnehmer nur noch projektieren und die Kommunikation 
übernimmt das Betriebssystem. Wenn du ein Siemens Bedienpanel hast und 
du dann mit einer Taste am Bedienpanel einen Ausgang an einem 
Profinet-Device schalten möchtest, dann besteht dein SPS-Programm im 
einfachsten Fall nur aus einer Zeile mit einer Zuweisung.

von René H. (dj1yr)


Lesenswert?

Würde da auch zu Feldbuskopplern von Wago greifen, ne 1200er als Feldbus 
i/o ist etwas übertrieben.
Die 1200er kann nur per TIA programmiert werden, was aber recht 
komfortabel ist, ist halt klicki bunti Programmierung

achja, die SM322 Serie geht nur für 300er CPU´s…

zähl doch mal die vorhandene HW auf, also Display, Steuerung usw.

: Bearbeitet durch User
von Der H. (picasso323)


Lesenswert?

Moin zusammen,
vielen lieben Dank für euer Feedback :) Ich hatte zwar schon mal was mit 
Beckhoff Klemmen und TwinCat2 umgesetzt, wusste aber gar nicht, dass es 
so schöne WAGO Feldbuskopller gibt. Cool! Eigentlich logisch, irgendwie 
müssen die Daten im Feld ja in I/Os, Analogwerte usw. umgesetzt 
werden...und da stecken ja auch nicht überall S7 dran.

Habe gerade mal mit WAGO telefoniert, die Buskoppler (z.B. 750-362) 
sprechen tatsächlich direkt nach Konfigurieren der IP Adresse 
out-of-the-box Modbus. Das Adress Mapping entspricht einer bestimmten 
Logik, je nachdem welche Klemmen dran hängen. Ich denke da an die 
"normalen" 8xDigitel out (750-430) oder sogar 16xDigitel out (750-1500).

Wie schön, wenn etwas einfach geht...ohne mit ner S7 mit Kanonen auf 
Spatzen schießen zu müssen ;)

Thomas W. schrieb:
> Erste Wahl als Feldbusprotokoll bei der 1200 ist jedoch Profinet. Dort
> musst du deine Teilnehmer nur noch projektieren und die Kommunikation
> übernimmt das Betriebssystem.
In meinem Fall ist Modbus vorgegeben. Klingt aber trotzdem interessant. 
Ein Bedienpanel ist bei mir im Moment nicht vorgesehen.
Wenn ich mal etwas Geld übrig habe, kaufe ich eventuell mal ne S7 auf 
eBay...zum reinarbeiten. Wenn man sich nur Zeit und Geld bestellen 
könnte...es gibt so viel interessanten Spielkram ¯\_(ツ)_/¯

René H. schrieb:
> achja, die SM322 Serie geht nur für 300er CPU´s…
Oh..okay.

>zähl doch mal die vorhandene HW auf, also Display, Steuerung usw.
Bei dem jetzigen Projekt? Das weiß ich noch gar nicht genau, ich baue 
das mit einem Freund, der will irgendwas mit den vielen Ausgängen 
anstellen, wenn ich es richtig verstanden habe eine art Anzeigepanel, 
bei dem Türzustände (offen/zu) mittels LEDs angezeigt werden. Daher ist 
hier keine SPS oder so erforderlich...die Modbus Telegramme kommen von 
einem zentralen Steuerrechner

: Bearbeitet durch User
von Thomas W. (thomas_v2)


Lesenswert?

Der H. schrieb:
> In meinem Fall ist Modbus vorgegeben. Klingt aber trotzdem interessant.
> Ein Bedienpanel ist bei mir im Moment nicht vorgesehen.

Du kannst auch Modbus-TCP nicht mit Profinet vergleichen. Profinet ist 
echtzeitfähig und ein "richtiges" Feldbusprotokoll mit allem was 
dazugehört. Modbus-TCP ist ja nur lesen und schreiben von Registern, 
ohne weitere Funktionen. Um nur ein paar unwichtige Werte einzusammeln 
ist das aber Ok.

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.