aliksander1612
Level-2
- Beiträge
- 7
- Reaktionspunkte
- 0
-> Hier kostenlos registrieren
Hallo zusammen,
ich habe folgendes Vorhaben und bräuchte dabei etwas Unterstützung: Ich möchte aus zwei Quell-Datenbausteinen unterschiedliche Werte wie Datum, Charge, Position und Toleranz (insgesamt 26 Werte) auslesen und diese anschließend in einem Ziel-Datenbaustein umstrukturiert wiedergeben, und zwar mithilfe eines Funktionsbausteins (FB). Ich habe bereits einen UDT mit der kompletten Datenstruktur für den Ziel-Datenbaustein erstellt und zwei Arrays gebildet, das passt schon mal. Einen FB habe ich auch erstellt, und am Eingang lese ich die Werte aus. Was ich jetzt wissen möchte, ist, wie ich es hinbekomme, dass beispielsweise der Wert aus DB2202.DBX4.0 mit dem Format (6) String dann in meinem Ziel-DB im Bereich 0.0 beginnt. Am besten so, dass ich dann anschließend nur noch den ARRAY-Bereich an meinem FB in-Out eintragen muss und er mir dann alle Werte passend hineinschiebt.
Am besten verwenden wir die Programmiersprache Kontaktplan und nicht direkt SCL oder AWL, vielleicht über die Funktion BLKMOVE
Quell DBs
Datum DB22.DBX4.0 STRING (6)
Charge DB22.DBX40.0. SRRING (8)
Position. DB33.DBW30. WORD
Toleranz. DB33.DBB40. INT
Struct UDT_Log
Datum STRING (6)
Charge STRING (8)
Position WORD
Toleranz INT
Ziel DB 3
Array (1..2)
UDT_Log
Datum DB3.DBX0.0. STRING 6
Charge DB3.DBX08.0 STRING 8
Position DB3.DBX18 WORD
Toleranz DB3.DBX 20.0
Step7- Classic, S7-300
Danke !
ich habe folgendes Vorhaben und bräuchte dabei etwas Unterstützung: Ich möchte aus zwei Quell-Datenbausteinen unterschiedliche Werte wie Datum, Charge, Position und Toleranz (insgesamt 26 Werte) auslesen und diese anschließend in einem Ziel-Datenbaustein umstrukturiert wiedergeben, und zwar mithilfe eines Funktionsbausteins (FB). Ich habe bereits einen UDT mit der kompletten Datenstruktur für den Ziel-Datenbaustein erstellt und zwei Arrays gebildet, das passt schon mal. Einen FB habe ich auch erstellt, und am Eingang lese ich die Werte aus. Was ich jetzt wissen möchte, ist, wie ich es hinbekomme, dass beispielsweise der Wert aus DB2202.DBX4.0 mit dem Format (6) String dann in meinem Ziel-DB im Bereich 0.0 beginnt. Am besten so, dass ich dann anschließend nur noch den ARRAY-Bereich an meinem FB in-Out eintragen muss und er mir dann alle Werte passend hineinschiebt.
Am besten verwenden wir die Programmiersprache Kontaktplan und nicht direkt SCL oder AWL, vielleicht über die Funktion BLKMOVE
Quell DBs
Datum DB22.DBX4.0 STRING (6)
Charge DB22.DBX40.0. SRRING (8)
Position. DB33.DBW30. WORD
Toleranz. DB33.DBB40. INT
Struct UDT_Log
Datum STRING (6)
Charge STRING (8)
Position WORD
Toleranz INT
Ziel DB 3
Array (1..2)
UDT_Log
Datum DB3.DBX0.0. STRING 6
Charge DB3.DBX08.0 STRING 8
Position DB3.DBX18 WORD
Toleranz DB3.DBX 20.0
Step7- Classic, S7-300
Danke !
Zuletzt bearbeitet: