Sonstiges PCS7 azyklische Daten mit RDREC über Profinet lesen

Fridolin11

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

Bei der Anbindung der Schützen-Insel "Tesys Island" von SE über Profinet in PCS7 bin ich auf folgende Herausforderung gestossen:
Gewisse benötigte Daten sind nur azyklisch verfügbar und müssen meines Wissens nach mit dem RDREC Baustein ausgelesen werden.

Es gibt bereits einige Beiträge im Forum dazu, diese beziehen sich allerdings auf TIA oder auf SCL Einbindung in PCS7. Ich würde den Block gerne in einem CFC verwenden.

Folgend Infos zum Setup:
- CPU 410-5H
- Simatic Version V9.1 SP2
- Profinet Komponenten: Tesys Island, relevantes Datenblatt für die azyklischen Daten findet man mit folgender Suche: "TeSys island Third Party Function Block Guide"

Im Moment bekomme ich den Fehlercode "C08A2500" und ich vermute es liegt daran, dass meine Inputs fehlerhaft sind. Folgend beschreibe ich meine Inputs zum Baustein RDREC und evtl. findet jemand einen Fehler und kann mir weiterhelfen :)
1727246589592.png
Ich bin an dem Datenset "Energy" meines Schützes in Slot 1 interessiert. Die Slots 1-21 beziehen sich auf die Steckplätze die mit Modulen (Schützen) belegt werden können:
1727246836299.png
Für die ID wähte ich somit 16361 bzw. 3FE9 in Hex.
Als Index nahm ich 1, wie das im ersten Bild oben für "Energy" angegeben wird.
Folgend ein Ausschnitt zum "Energy" Datenset:
1727247262581.png
Insgesamt beinhaltet das Datenset 223 Bytes, was ich ebenfalls als Input für die Länge gewählt habe.
Um die Daten zu speichern, habe ich den DB13 mit 223 Bytes erstellt. Als Input für den RECORD Eingang sende ich den String "P#DB13.DBX0.0 BYTE 223". Diesen muss ich über einen weiteren Baustein einfügen, da ich den Eingang RECORD nicht direkt editieren kann.
1727247651414.png
Sieht jemand einen Fehler in der Implementierung?
Ist es überhaupt möglich den RDREC Baustein im CFC zu implementieren oder muss der zwingen aus SCL Code aufgerufen werden?

Bin dankbar für jegliches Feedback.
Beste Grüsse, Fridolin
 

Anhänge

  • 1727247454922.png
    1727247454922.png
    9,8 KB · Aufrufe: 2
Ich konnte das Problem mittlerweile lösen:
Der Fehler lag bei dem Input "RECORD", da kann man nicht einfach einen String angeben sondern muss via rechtsklick -> Verschaltung zu Operand -> Und dann den DB auswählen den man für den Datensatz vorbereitet hat.
Bei mir sieht es nun wie folgt aus:
1727270542816.png
Das funktioniert tipptopp :)
 
Zurück
Oben