Step 7 Kommunikation - Arduino Mega mit RS232 Shield & CP341 an S7 314C-2PtP

mclarren88

Level-2
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

seit neuestem bin ich im Besitz einer CP341 und versuche verzweifelt irgendwelche Daten zwischen dem Arduino und der SPS zu senden.
Ich habe das Beispielprogramm von der CP341 auf meine CPU geladen, und der Arduino wurde mit nachfolgendem Programm gefüttert:

byte data;
void setup()
{
Serial.begin(9600);
Serial1.begin(9600);
}
void loop()
{
Serial1.write(15);

data = Serial1.read();

Serial.println(data);

delay(1000);
}

Meine Fragen:

1. Ich habe absolut keine Ahnung wo die Daten abgelegt werden, die die CP341 vom Arduino empfängt. Kann mir da jemand was genaueres sagen?
2. Welche Daten sendet Siemens in dem Beispielprogramm eigentlich? Wie kann ich diese mit dem Arduino verstehen?

Ich wäre unheimlich dankbar für jede Hilfe. Und bitte nehmt Rücksicht, ich habe noch nie mit der CP341 gearbeitet.

Vielen Dank im Voraus!
 
Was meinst du denn für ein Beispielprogramm von Siemens? Link?

Der serielle CP muss nicht nur programmiert sondern auch parametriert werden. Über die Parametrierung wird außer der Baudrate auch eingestellt, wie sich die Pufferung auf dem CP verhält. Was hast du dort eingestellt?
 
Ich würde erst einmal einen normalen PC mit serieller SS an den CP341 anschließen. Dann mit einem Programm wie dem Serial Port Monitor (http://www.eltima.com/products/serial-port-monitor/) o.ä. erst einmal etwas an die CP senden und umgekehrt. Funktioniert das, dann den Arduino. Oder erst den Arduino testen und dann die CP.
Wie Thomas schon schrieb, du mußt von der mitgeleiferten CD die Parametiersoftware für den CP installieren, dann in der Hardwarekonfig den CP anlegen und parametrieren. Anschließend das Programm in der SPS aktivieren, dann kannst du testen.
 
Hallo zusammen, danke für die vielen Antworten. Das Beispielprogramm von Siemens liegt bei der Installations CD des CP341 mit bei, man findet es nach der Installation unter "Examples". Dort habe ich das R2879 (Gerade nicht die genaue Zahl im Kopf) Protokoll genommen. 8Datenbits, ein Stoppbit. Parität gerade. Die SPS sendet über die CP 341 fleißig daten (TxD blinkt im Sekundentakt), der Arduino ebenfalls (RxD an der CP341 blinkt auch synchron mit). So und darauf beziehen sich meine beiden gestellten fragen, auf diesen Zustand.
 
Zuletzt bearbeitet:
Meinst du evt. 3964R? Oder RK512?
Beide Protokolle werden im WWW recht gut erklärt.
Du musst das Protokoll im CP entsprechend einstellen!
 
Ja genau das 3964R ist gemeint. Mit den Erklärungen im www konnte ich bisher wenig anfangen da ich nicht weiss wie Siemens die Daten speichert bzw. Verarbeitet. Leider gibt die Anleitung dazu keinen Aufschluss.
 
@Ralle, klappt das auch mit eineR Seriellen Schnittstelle aus einem USB zu Seriell Converter? Da gab es nämlich Einschränkungen ne manchen Adaptern...

Also ich nutze einen USB-Seriell-Adapter mit Prolific-Chip am Mac, der funktioniert sehr gut.

Ich würde die CP auf ASCII stellen, das hat bei mir bisher immer gut funktioniert, denn 3964R ist ja ein Protokoll und das sollte der Arduino dann auch "sprechen".
 
Ok ich habe mich gerade einige Stunden wieder mit der CP 341 auseinandergesetzt.
Ich verstehe leider nur Bahnhof, es gibt scheinbar keine Informationen im Netz wo Daten abgespeichert oder ausgelesen werden können.

Also hier nochmal konkret die Frage. Weiß jemand wie ich Empfangene Daten in der SPS auswerten kann? Wo kann man diese Daten denn Abrufen? PEW 256 oder landen die in irgendeinen Datenbaustein den ich noch Projektieren muss?
Leider wird man aus der Anleitung nicht schlau.
 
Hast Du bei der CD zum CP341 auch schon die Handbücher gefunden?

Im Getting Started: CP 341 Erste Schritte zur Inbetriebnahme
ist eigentlich genau Dein Anwendungsfall Schritt für Schritt mit Programmbeispiel beschrieben.

Im Gerätehandbuch: Punkt-zu-Punkt-Kopplung CP 341 Aufbauen und Parametrieren
findest Du Details z.B. in den Kapiteln 2, 5, 6

Du parametrierst den CP341 auf das Protokoll ASCII und kommunizierst mit dem CP mit den Bausteinen FB7 P_SND_RK und FB8 P_RCV_RK. Wie die Bausteine für das ASCII-Protokoll benutzt werden ist z.B. in der Bausteinhilfe erklärt - FB7 oder FB8 markieren und F1 drücken.

mehr Infos zu CP341

Harald
 
Es sei auch noch gesagt, dass du die Parametriersoftware für den CP erst von der mitgelieferten CD installieren musst. Ansonsten kannst du ihn zwar in der HW-Konfig von Step7 projektieren, aber das Feld um den Parametrierdialog aufzurufen fehlt dann. Die Bibliothek mit den Funktionsbausteinen wird dir dann auch mitinstalliert.
 
Zurück
Oben