CP342-5 Master und CPU313 2DP Slave

hubert

Well-known member
Beiträge
376
Punkte Reaktionen
25
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo SPS Freunde.

Habe folgendes Problem. Habe eine CP342-5 (Master) zu Testen für eine Busanbindung mit einer CPU313 2DP (Slave). Es sollen über den DP Bus 214 Byte an den Master (CP342-5) gesendet werden und vom Master an den Slave (CPU313 2DP) gesendet werden. Ist diese Datenmenge überhaupt über eine DP Bus möglich. Zweitens in der Hardwarekonfiguration des Masters füge ich den Slave (CPU313 2DP) ein und lege mehrere Universalmodule fest. Ich kann aber pro Universalmodul maximal 16 Wörter senden oder Empfange. Muss ich im Master den FC2 (DP-Recv) öfter als einmal aufrufen um alle Daten vom Slave zu bekommen. Dritten im Slave stelle ich in der Hardwarekonfiguration unter Eigenschaften DP in der Spalte Konfiguration meine Ein- und Ausgangsbereich fest. Muss nun der SFC15 (DPWR DAT) für jede unter DP Eigenschafen erstellet Adresse aufgerufen werden um alle Daten zum Master zu senden oder nur einmal. Habe schon ein bisschen ausprobiert ich kann aber nicht mehr als 16 Byte senden und empfangen erhöhe ich die Datenmenge so werden keine Daten mehr gesendet und empfangen. Was habe ich vielleicht falschgemacht. Würde mich freuen wenn sich bald einer zu diesem Thema meldet. Vielleicht ist es auch möglich mir ein Beispielprogramm zu geben ist aber nicht unbedingt nötig. Danke schon in voraus für euer Hilfe.

MfG

Wittmann Hubert
 
A

Anonymous

Guest
Servus Hubert,
meines wissens kannst du über die Bausteine FC1 bzw. FC2 jeweils nur 16 Wörter übertragen. Versuche mal die Bausteine öfters aufzurufen, kann aber sein das die Aufträge nicht gleichzeitig aktiv sein dürfen??????
Schaue dir auch mal die Bausteine aus der "Familie" GET und PUT an. Mit denen habe ich schon größere Datenmengen übertragen allerdings über MPI. Müsste aber auch mit DP gehen.
 
A

Anonymous

Guest
Zuviel Werbung?
->Hier kostenlos registrieren
Hallo Hubert! :lol:
Mit den beiden Funktionsbausteinen FC1 und FC2 kannst du maximal 256 Bytes senden/empfangen!
Du musst auf die Variablen mit einem Pointer zugreifen!
z.B. P#DB10.DBX0.0 Byte 200
Die Angabe DB10.DBX0.0 ist der Anfangsbereich der Daten
und Byte 200 ist die Länge der Daten!!!


mfg :D
 
Oben