M-Bus Schnittstelle implementieren in Siemens Simatic Step 7 Basic

Dynasti

Member
Beiträge
11
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Sehr geehrte Spezialisten,

wie schon der Titel vermuten lässt, bezieht sich meine Aufgabe eine M-Bus (Meter-Bus) Schnittstelle zu implementieren.
Wäre dankbar für jegliche Tipps bezüglich der Vorgehensweise, zu verwendene Anweisungen und alles was mir weiterhelfen könnte.
Bin in diesem Bereich leider noch etwas unerfahren und dachte mir eigentlich, nach Umgang mit Ablaufsteuerungen und Auswertungen von Positonierungen (allgemeine Automatisierung von Maschinen), wird das schon klappen, ist aber leider eine andere Baustelle;).
Gerne beantworte ich alle Fragen die euch helfen, genauer auf mein Problem einzugehen.

Vielen Dank im voraus für die Hilfestellungen.
 

uncle_tom

Well-known member
Beiträge
627
Punkte Reaktionen
160
Hallo,

das M-Bus Protokoll ist kein Geheimniss - die Spezifikationen kann man sich downloaden.

http://www.m-bus.com/files/default.php

Für die Anschaltung an eine S7 bräuchtest du dann noch einen Pegelwandler (M-Bus auf RS232) und einen seriellen CP (z.B. CP340).

Es gibt von Siemens auch einen inoffiziellen M-Bus Treiber:

Link

Diesen Treiber lässt sich Siemens aber vergolden - will heissen, der ist richtig teuer.

Ein "Kochbuch" bzgl. "Treiber"-Entwicklung auf einer SPS-Steuerung gibt es meines Wissens nicht.
Da muss und darf sich jeder selber versuchen.


Mfg
uncle_tom
 

IBFS

Well-known member
Beiträge
4.054
Punkte Reaktionen
885
Zuviel Werbung?
->Hier kostenlos registrieren
Für die Anschaltung an eine S7 bräuchtest du dann noch einen Pegelwandler (M-Bus auf RS232) und einen seriellen CP (z.B. CP340).

Es gibt von Siemens auch einen inoffiziellen M-Bus Treiber:

Link

Diesen Treiber lässt sich Siemens aber vergolden - will heissen, der ist richtig teuer.

Supertip - einen CP341 - mit Step 7 Basic verwenden zu wollen. Wir reden heir von der S7-1200.

----

Ich würde mal hier schauen: http://www.relay.de/frame_3fach.htm

http://www.relay.de/pub/Flyer PDF/Flyer C20_C3.pdf

Vielleicht braucht es noch einen: Serial Device Server für Ethernet Best.Nr. TCP001

Auf alle Fälle ist es nicht mit irgendeinem simplen Wandler getan. Das erschließt sich schnell, wenn man sich mit der Materie etwas beschäftigt.

Grüße

Frank
 
Zuletzt bearbeitet:
OP
D

Dynasti

Member
Beiträge
11
Punkte Reaktionen
0
Entschuldigt, anbei meine Technische Ausrüstung;).

Hardware:
CPU 1212C (Ethernet)
CM 1241 (Kommunikationsmodul für seriellen Datenaustausch über Punkt-zu-Punkt-Kopplung; RS 232)
SM 1231 (Analoge Eingänge)

Software:
SIMATIC Step 7 basic

Bin eigentlich nur den Simatic Manager gewohnt, deswegen muss ich mich erst ein wenig zurechtfinden.
Habt ihr Erfahrungen im Programmieren und mit diesem Protokoll?
Jede kleinste Hilfe könnte mir da helfen, fange in dem Bereich quasi bei null an
Danke
 

uncle_tom

Well-known member
Beiträge
627
Punkte Reaktionen
160
Zuviel Werbung?
->Hier kostenlos registrieren
Supertip - einen CP341 - mit Step 7 Basic verwenden zu wollen. Wir reden heir von der S7-1200

mal schön die Bälle flachhalten - wo bitte steht in seinem 1. Post was von S7-1200

Vielleicht braucht es noch einen: Serial Device Server für Ethernet Best.Nr. TCP001

ja vielleicht, vielleicht aber auch nicht.


Auf alle Fälle ist es nicht mit irgendeinem simplen Wandler getan. Das erschließt sich schnell, wenn man sich mit der Materie etwas beschäftigt.

vielleicht solltest Du dich erstmal mit der M-Bus Materie beschäftigen, bevor du hier schreibst.


Ich hab selber schon Projekte mit M-Bus realisert - kenne mich also mit der Materie durchaus aus.

Selbstverständlich reicht ein "simpler" Pegelwandler aus, um die M-Bus Physik auf RS232 umzulegen, und diese dann z.B. via CP340/341 bzw. CM1241 auf eine Siemens SPS aufzuschalten.
Andere Steuerungshersteller (z.B. Beckhoff, Saia, Wago, etc.) machen bzw. machten das genauso.
Da der Pegelwandler von Relay aber nicht gerade günstig ist, sind die oben genannten Hersteller (Beckhoff, Wago) mittlerweile dazu übergegangen, eigene Anschaltungen (Klemmen) für M-Bus zu entwickeln.

Wenn man sich den seriellen CP in der Simatic sparen möchte, dann könnte die Variante mit dem Com-Server auch funktionieren.
Dieser sollte via Client/Server Kommunikation (Send/Receive) auch an einer S7 funktionieren.
Link


P.S.
Im übrigen hat ein User hier im Forum so etwas (M-Bus an S7-1200) schon realisiert.
Stichwort "Suchfunktion"
http://www.sps-forum.de/showthread.php/51938-M-Bus-Protokoll
 
Zuletzt bearbeitet:

IBFS

Well-known member
Beiträge
4.054
Punkte Reaktionen
885

Mit Step 7 Basic lässt sich nun mal nur die S7-1200 programmieren oder? - Egal wie flach der Ball auch gespielt wird.


Ich hab selber schon Projekte mit M-Bus realisert - kenne mich also mit der Materie durchaus aus.

Ich konnte beim besten Willen dein Basiswissen nicht aus deinem Post erkennen.
Dafür war die Antwort #2 nicht zielführend genug. Aber das hast du ja mit #6 etwas
korrigiert wenn man mal vom Intro absieht.

Frank
 

IBFS

Well-known member
Beiträge
4.054
Punkte Reaktionen
885
Wo steht was von 1200?

Das ist so ziemlich das sinnloseste Posting, was ich je gelesen habe.
In der Zeit, also du diese Zeile niedergeschrieben hast, hätte ein
kurzes Nachdenken zur Erleuchtung geführt. Das sich dafür sogar
noch jemand bedankt, macht es nur noch schlimmer.

Frank
 
OP
D

Dynasti

Member
Beiträge
11
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Hat schon jemand mal mit der Step7 Basic Software, eine M-Bus Schnittselle programmiert? Bzw ist das mit diesen Standart Bausteinen überhaupt möglich? Oder bin ich da auf etwas von Siemens angewiesen?

Gruß
 

IBFS

Well-known member
Beiträge
4.054
Punkte Reaktionen
885
Hat schon jemand mal mit der Step7 Basic Software, eine M-Bus Schnittselle programmiert?
Bzw ist das mit diesen Standart Bausteinen überhaupt möglich? Oder bin ich da auf etwas von Siemens angewiesen?

Diesen Hinweis hast du doch hoffentlich gelesen, oder?:

Im übrigen hat ein User hier im Forum so etwas (M-Bus an S7-1200) schon realisiert.
Stichwort "Suchfunktion"
http://www.sps-forum.de/showthread.php/51938-M-Bus-Protokoll

Mehr Wissen, als das dort geschriebene scheint es hier nicht zu geben.


uncle_tom hat zwar herumposaunt, dass er sich mit der Materie auskennt. Er ist aber leider auch nicht in der Lage eine geschlossene Lösung zu bringen.

Da es also mit Pegelwandler zwar geht, aber sich niemand findet einen fertigen Baustein für die 1200 zu präsentieren, bleibt da doch nur die Lösung
mittels echten Umsetzen, die die M-BUS Daten zyklisch einsammeln und dir danach mittels RS232 oder Ethernet an die 1200 transferieren.

Das kostet zwar mehr, aber erleichtert die spätere Fehlersuche.

Gruß

Frank
 
OP
D

Dynasti

Member
Beiträge
11
Punkte Reaktionen
0
Ja, den Hinweis hatte ich schon gelesen. Allerdings ist der Ersteller dieses Threads schon ein paar Schritte weiter als ich. Wie es aussieht muss ich mir da selber was programmieren, was wesentlich mehr Zeit beansprucht. Auf jeden Fall danke ich euch für die versuchte Hilfe. Manchmal etwas schade, dass hier einige aufeinander losgehen und das wesentliche Problem aus den Augen verlieren.

Weitere Hilfe ist natürlich immer Willkommen.

Gruß
 

uncle_tom

Well-known member
Beiträge
627
Punkte Reaktionen
160
Zuviel Werbung?
->Hier kostenlos registrieren
...
uncle_tom hat zwar herumposaunt, dass er sich mit der Materie auskennt. Er ist aber leider auch nicht in der Lage eine geschlossene Lösung zu bringen.
...

vielen Dank für die Blumen.

Ich hab ihm jetzt den Link zu den M-Bus Spezifikationen geliefert.
Weiterhin hab ich ihm bestätigt, dass es mit seiner Hardware prinzipiell funktioniert.
Zu guter letzt hab ich ihm noch den Link zu einem alten Thread gegeben, in welchem ein User davon berichtet, dass er bereits mehr oder weniger erfolgreich eine M-Bus Kommunikation mit einer S7-1200 am laufen hat.

Was soll ich ihm den noch gutes Tun ?
Soll ich ihm vielleicht auch noch den Treiber schreiben ?

Wenn man sich den alten Thread durchliest, dann schreibt hier ja auch jemand, dass die M-Bus Kommunikation bzw. Spezifikation ziemlich komplex ist, und somit das erstellen eines Treibers etwas aufwendiger sein wird.
Ich hatte bisher leider keine Zeit und Lust mich damit zu beschäftigen - hatte mir aber die M-Bus Specs. schon mal angeschaut.

Mit der "Materie" auskennen, heisst nicht, dass ich ihm einen quelloffenen fertigen Treiber liefern kann und will.
Ich hab bereits mit verschiedenen Steuerungssystemen M-Bus Aufschaltungen realisert (Beckhoff, Saia, Siemens (via VIPA), etc.) - jeweils unter Verwendung von fertigen Treiberlösungen, und hab somit Erfahrung mit M-Bus gesammelt.

Bzgl. Treiberentwicklung bin ich zwar vermutlich kein Profi - für einen vollwertigen S7-Modbus Treiber bzw. die Umsetzung des Beckhoff ADS Protokolls in einer S7 reicht es aber z.B. allemal aus.
 

IBFS

Well-known member
Beiträge
4.054
Punkte Reaktionen
885
vielen Dank für die Blumen.

Gerne doch.

Was soll ich ihm den noch gutes Tun ?
Soll ich ihm vielleicht auch noch den Treiber schreiben ?

Das hatte ich mir so gedacht :ROFLMAO:


Wenn man sich den alten Thread durchliest, dann schreibt hier ja auch jemand, dass die M-Bus
Kommunikation bzw. Spezifikation ziemlich komplex ist, und somit das erstellen eines Treibers
etwas aufwendiger sein wird.

Genau aus dem Grund habe ich vom Pegelwandler abgeraten und zu einem Preprozessor (Datensammler) geraten,
wo man nur noch die Zählerstände abfragt. Auch ist die IB mittels einem M-BUS-Display viel einfacher.

Aber genau diese Idee fandest du ja nicht gut.

Grüße

Frank
 
Oben