# Modbus RTU Kommunikation mit S7-315 und CP341



## Manuris (15 Juni 2016)

Hallo zusammen,

ich versuche derzeit für ein anstehendes Projekt mich schlau zu machen, wie ich an einer S7-315-2DP über das CP341 eine Modbuskommunikation einrichten kann.
Leider finde ich mich da nicht ganz zurecht und bin etwas verwirrt im Bezug darauf, was man nun alles braucht und wie es zu programmieren ist. Die Programmierung erfolgt in Step7 V5.5

Rausgefunden habe ich inzwischen, dass ich den FB7 und FB8 zur Kommunikation zwischen CP und SPS benötige. Diese habe ich auch schon aus der Bibliothek ins Projekt eingefügt.
Angeblich benötige ich beim CP341 jedoch auch den FB80 - und den kann ich leider nirgends finden. Weder Bibliothek noch irgendwo im Internet.
Wird dieser FB80 wirklich benötigt und wenn ja - wo finde ich diesen Baustein?
Sind diese 3 Bausteine alles was ich zur Programmierung von Modbus benötige - oder benötigt man noch mehr? Ich hatte mal gelesen man muss noch irgendeine Lizenz erwerben, stimmt das?

Für die Daten, die zu übertragen sind wollte ich einen Datenbaustein einrichten, in dem alle Werte zur Übertragung bereitliegen.
Wie ich das genau programmiere weiß ich auch noch nicht - kann mir da vielleicht auch jemand weiterhelfen oder hat jemand ein gutes Beispielprojekt?

Auch noch wichtig: Das CP341 ist der Modbus-Slave!



Über etwas Hilfe wäre ich sehr dankbar!


----------



## vollmi (15 Juni 2016)

Was die FB Nummern sind weiss ich nicht. Die kann jeder vergeben wie er lustig ist. 
Es gibt/gab von Siemens eine lizenzierbare Modbustreibervariante. überteuerter Quatsch.
Ausserdem gibts von Siemens für CP341 noch den Ladbaren Modbus treiber 6ES7870-1AB01-0YA0
Kostet ebenfalls zusätzlich nochmal an die 1000 Euro. IMHO eine Frechheit. Da einzeln lizenziert.

Ich hab mir mal einen fertigen Treiber von hier geholt.
http://holgerbischoff.onlinehome.de/html/preise.html
Preise sind okay. Die Bausteine sind offen. Also kein Knowhowschutz oder sowas.

Dann gäbe es noch die möglichkeit, statt der teuren CP341 Einfach ne ET200sp anschaltung mit einem Modbus Modul einzubauen. Billiger und der Treiber ist gratis.
CM 6ES7137-6AA00-0BA0

Da kommt man mit ner kompletten Remotestation für PN immernoch günstiger weg als ein einfacher CP341 kostet.

mfG René


----------



## uncle_tom (15 Juni 2016)

Bei der offiziellen CP341 Modbus Variante von Siemens mit ladbarem Treiber benötigt man einen Dongle, der auf der Rückseite des CP341 gesteckt wird !
Den ladbaren Treiber kann man sich auch so herunterladen - der funktioniert allerdings nur bei gestecktem Dongle.

Wie von vollmi schon erwähnt - völlig überteuert und eigentlich eine Frechheit.
Evtl. mal nach Alternativen umschauen - Gateway, alternativer Modbus-Treiber, ET200s(p), etc.


----------



## Lars Weiß (15 Juni 2016)

Du Master oder Slave ?


----------



## INSEVIS-Service (15 Juni 2016)

Hallo

wenn die HW nicht festgelegt ist kann man eine CC3xx nehmen. Modbus RTU und TCP als Standard Onboard. 
CPU entspricht einer 315 PN/DP  ab 350,- EUR .

Fragen ? Immer gern.


----------



## uncle_tom (15 Juni 2016)

@Lars Weiß

Der CP341 ist Slave.



> Auch noch wichtig: Das CP341 ist der Modbus-Slave!


----------



## Lars Weiß (15 Juni 2016)

Wer lesen kann ...


----------



## Lars Weiß (17 Juni 2016)

Hier hast du ein Modbus-RTU Beispiel:

Anhang anzeigen Modbus_R.zip


----------



## HartmutJ (7 Oktober 2016)

Hallo,
ich bin völlig neu auf diesem Forum, aber in diesem Thread ziemlich nah an die Antwort gekommen die ich suche. Gibt es vielleicht, anstatt Modbus_R.zip, etwas wie Modbus_T.zip (also für Modbus TCP)?
Ich soll einen S7-315-2 DP mit einer CP343-1 Lean Karte als Modbus TCP Slave benutzen.
Bei Siemens gibt es zwar eine Lösung, aber mit dem Geld könnte man zwei bis drei  CP343-1 Karten kaufen.
Das Step7 Programm, das ich benutze steht noch auf v5.4 - hoffentlich kein Problem.

Ich würde jede Hilfe sehr schätzen.


----------



## PN/DP (7 Oktober 2016)

Bei Modbus TCP heißt das nicht Master/Slave sondern Client/Server. Willst Du auf Deiner S7-300 einen passiven Modbus Server implementieren (antwortet nur auf fremde Kommandos), damit andere Geräte Daten mit Deiner S7-300 austauschen können, oder willst Du mit Deiner S7-300 als aktiver Client per Modbus TCP Daten aus/in andere passive Geräte lesen/schreiben?

Für CP343-1 unter Step7 V5.x gibt es wohl nichts kostenloses fertiges, da kann man verschiedene Bibliotheken kaufen.
Mit dem CP343-1 wird es etwas schwierig, weil der CP343-1 variable Telegrammlängen nicht direkt unterstützt. Es ist aber nicht unmöglich.
Hier ein Beispielprogramm für einen einfachen Modbus TCP Client mit CP343-1
Für die Modbus-Protokoll schau Dir mal hier das Kapitel 3-18 an http://www.vipa.com/uploads/tx_sbdownloader_new/HB97D_IM_253-1NE00_12-44.pdf 

Harald


----------



## HartmutJ (7 Oktober 2016)

Ja, die S7-315 soll Server sein.
Ich schau mit deine Information noch an.

Servus,
Hartmut


----------



## Lars Weiß (8 Oktober 2016)

MODBUS TCP Funktionbausteine Step 7


----------



## HartmutJ (11 Oktober 2016)

Hallo Lars,
danke für den Link zur Quelle. 
Gibt es diese AWL-Quelle auch mit realistischen Werten drin - ganz egal, ob sie für mein Projekt passend sind oder nicht?
Ich schaffe es leider nicht alleine, den Übersetzer/Kompilierer zufrieden zu stellen - lauter Syntax Fehler usw.
Danke im Voraus!
Hartmut


----------

