Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 9 von 9

Thema: Mit BLKMOV im FB auf IN_OUT vom Typ UDT

  1. #1
    Registriert seit
    26.07.2007
    Beiträge
    232
    Danke
    74
    Erhielt 10 Danke für 8 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    wie kann ich z.b. einen string mit z.b. block-move (SFC20 BLKMOV) in den FB datenbereich IN_OUT vom typ UDT kopieren. wenn ich den UDT in dem bereich OUT aufrufe kann ich mit bolck-move darauf schreiben nur nicht mit IN_OUT
    hat jemand eine ideee
    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist "c Henry Ford"
    Zitieren Zitieren Mit BLKMOV im FB auf IN_OUT vom Typ UDT  

  2. #2
    Registriert seit
    16.05.2007
    Ort
    im Stahlwerk...
    Beiträge
    1.178
    Danke
    120
    Erhielt 429 Danke für 236 Beiträge

    Standard

    Hallo Johannes,
    hast Du schon mal versucht, das INOUT-UDT auf eine Temp-Variable zu schreiben, und diese dann an den SFC20 zu legen? Sollte klappen.
    gruß
    Nihil est in cpu, quod non fuerit in intellectu" - Nichts ist in der CPU, was nicht (zuvor) im Verstand war.

  3. #3
    Avatar von Johannes F
    Johannes F ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.07.2007
    Beiträge
    232
    Danke
    74
    Erhielt 10 Danke für 8 Beiträge

    Standard

    in diese richtung habe ich kein problem, eher das was aus dem sfc20 herauskommt möchte ich in den udt in IN_OUT schreiben. hier ist mein problem.
    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist "c Henry Ford"

  4. #4
    Registriert seit
    16.05.2007
    Ort
    im Stahlwerk...
    Beiträge
    1.178
    Danke
    120
    Erhielt 429 Danke für 236 Beiträge

    Standard

    Hmmm, so ganz genau erschließt sich mir noch nicht, was Du vorhast.
    Wenn Du mittels SFC20 in ein UDT kopierst, dann brauchst Du doch auch lediglich eine OUT-Variable - da diese ja vom SFC20 beschrieben wird.

    gruß
    Nihil est in cpu, quod non fuerit in intellectu" - Nichts ist in der CPU, was nicht (zuvor) im Verstand war.

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Hallo,
    ich denke, das Problem ist folgendes :
    IN und OUT sind feste Datenbereiche in einem FB. IN_OUT ist aber nur ein Pointer auf einen externen Datenbereich. Wenn das funktionieren soll mußt du dir m.E. aus dem mittels IN_OUT übergebenen Pointer und den Größen-Daten des/deines UDT einen ANY-Pointer bauen. Den kannst du dann an den SFC20 dranschreiben und dann sollte es auch funktionieren ...

    Gruß
    LL

  6. #6
    Avatar von Johannes F
    Johannes F ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.07.2007
    Beiträge
    232
    Danke
    74
    Erhielt 10 Danke für 8 Beiträge

    Standard

    ja das ist schon richtig, habe mir ein bildbaustein gebaut und die struktur (udt) welche aus dem fb kommt ist die struktur für meinen bildbaustein. einfach 1:1 .mit allen anderen variablen habe ich keine probleme nur mit dem string. alle bausteine welche ich zum verarbeiten der strings einsetze geben mir ein OUT-String und diesen kann ich leider nicht auf den IN_OUT-String legen.werde mir wohl etwas drumherum bauen müssen. kaum zuglauben das IN_OUT nicht das gleiche ist wie OUT oder IN bzw. IN und OUT. ne ne ne
    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist "c Henry Ford"

  7. #7
    Avatar von Johannes F
    Johannes F ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.07.2007
    Beiträge
    232
    Danke
    74
    Erhielt 10 Danke für 8 Beiträge

    Standard

    @LL ne das funzt nicht so wie ich das brauche

    lege einfach mal zum spaß in einem fb einen udt mit einem string in IN_OUT ud versuche mit z.b. sfc20 darauf zu schreiben. geht nicht
    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist "c Henry Ford"

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.708
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... doch geht. Ich habe es allerdings SCL machen lassen und der hat nichts Besseres zu tun als sich zuerst einen ANY-Pointer aus dem IN_OUT-pointer und der Größe des UDT-Datenblocks zu bauen - halt so, wie ich es geschrieben habe.
    Schau dir doch mal zum Spaß den I-DB deines FB an. Der IN_OUT-String belegt dort (egal wie lang du ihn machst) nur die 6 Byte, die der pointer nun mal groß ist ... im Gegensatz dazu bei einem IN oder OUT-Parameter ... das ist der Unterschied ...

    Gruß
    LL

  9. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    Johannes F (17.12.2009)

  10. #9
    Avatar von Johannes F
    Johannes F ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    26.07.2007
    Beiträge
    232
    Danke
    74
    Erhielt 10 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    ah ja danke, ganz komisch dachte bis gerstern das es egal ist ob IN und OUT oder IN_OUT.
    mmm schade, dann muss ich es eben anders lösen.

    komisch ist für mich das ein normales "INT" im IN_OUT bereich die komplette adresse belegt nur ein "STRING" eben nicht.

    kennt jemand den grund?
    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist "c Henry Ford"

Ähnliche Themen

  1. IN_OUT eines FB/FC
    Von Daimonion im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 03.11.2011, 16:18
  2. IN_OUT mit Indirekter Adressierung
    Von SCM im Forum Simatic
    Antworten: 24
    Letzter Beitrag: 14.10.2011, 12:07
  3. IN_OUT Parameter Tempdaten zuweisen
    Von Bensen83 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 29.07.2011, 21:17
  4. UDT als In_Out an Multiinstanz FB
    Von dirknico im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 01.10.2009, 12:28
  5. IN/OUT/IN_OUT/Temp Anfangswert definieren?
    Von Hawkster im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.11.2008, 21:52

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •