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

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Instanz DB DWort auslesen und als Byte wieder im FB von Instanz DB verwenden

  1. #1
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Habe im FB56 den FB57 aufgerufen und der FB57 gibt mir jetzt ein DWord aus.
    Dieses DWord liegt jetzt im Instanz DB vom FB56.
    jetzt möchte ich mich nicht auf die Nummer des Instanz DB's bezeihen (wegen Änderung) und brauche aber diese 4 Bytes für vergleiche - habe aber keine Lösung gefunden.
    Zitieren Zitieren Instanz DB DWort auslesen und als Byte wieder im FB von Instanz DB verwenden  

  2. #2
    Registriert seit
    18.09.2004
    Ort
    Münsterland/NRW
    Beiträge
    4.728
    Danke
    729
    Erhielt 1.161 Danke für 972 Beiträge

    Standard

    Wo willst du dieses Doppelwort denn benutzen?
    Im FB56 oder in einem anderen Baustein, dann solltest du ihn auf einen ausgang vom FB56 legen.
    Gib erst mal ein paar mehr Infos

  3. #3
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Info:
    Habe eine FB56 indem ich den FB57 aufrufe.
    der FB57 ist unter statisch eingetragen und somit sind habe ich das DWord vom FB57 im Instanzbaustein vom FB56.
    Jetzt benötige ich das DWord vom Instanzbaustein des FB56 im FB56 als 4Bytes, damit ich im FB56 einen Vergleich von den 4Bytes mit anderen 4Bytes erstellen kann.

    CRC_GEN (das ist das DWORD vom FB57 im InstanzDB vom FB56)
    und ich beötitige jetzt dieses DWORD als 4 Bytes im FB56 für einen Vergleich

    mit
    L CRC_GEN
    T CRC_GEN_inByte (ist ein stat. Array [0..3] Of Byte) im InstanzDB vom FB56

    ich hoffe, das meine Angaben jetzt klar sind?

  4. #4
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Also ich verstehe Dein Problem immer noch nicht so richtig.

    Könntest Du vielleicht mal den Programmcode (z. B. als AWL-Quelle) vom FB56 und vom FB57 hier in das Forum stellen?

    Gruß Kai

  5. #5
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    ... habe ich das so richtig verstanden :
    Der FB57 ist eine Instanz des FB56, dass heißt die Instanz-Daten des FB57 sind im I-DB des FB56 hinterlegt ...?

    Wenn ja, dann kannst du doch auf diese Daten direkt innerhalb des FB56 zugreifen. Das DBD ist dann dem FB56 doch bekannt in der Unterstruktur des FB57.

    Ich stimme aber Kai zu. Du solltest (zumindestens einen Auszug) mal hier einstellen ...

    Gruß
    LL

  6. #6
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard

    Ich kann auch das Programm reinstellen, glaube aber nicht das das was hilft.
    habe mal schnell ein screenshot gemacht.

    ich weis, meine angabe ist sehr verwirrent.
    Geändert von taucherd (17.01.2008 um 17:53 Uhr)

  7. #7
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.794
    Danke
    398
    Erhielt 2.417 Danke für 2.013 Beiträge

    Standard

    Es müßte ungefähr so gehen :
    Code:
    L P#CRC_Gen
    LAR1
     
    L DBB [AR1 , P#0.0]   // 1.Byte
    L DBB [AR1 , P#1.0]   // 2.Byte
    L DBB [AR1 , P#2.0]   // 3.Byte
    L DBB [AR1 , P#3.0]   // 4.Byte
    Feinheiten ohne Gewähr ... habe gerade kein PG mehr zum Testen zur Hand ...

    Gruß
    LL

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

    taucherd (17.01.2008)

  9. #8
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    ups fehler
    Geändert von Gerhard K (17.01.2008 um 17:55 Uhr)

  10. #9
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Zitat Zitat von taucherd Beitrag anzeigen
    CRC_GEN (das ist das DWORD vom FB57 im InstanzDB vom FB56)
    und ich beötitige jetzt dieses DWORD als 4 Bytes im FB56 für einen Vergleich
    Hier mal ein kurzes Programmbeispiel:

    Code:
    FUNCTION_BLOCK FB 200
    TITLE =
    VERSION : 0.1
     
    VAR
      CRC_GEN : DWORD ; 
      CRC_GEN_BYTE_1 : BYTE ;   
      CRC_GEN_BYTE_2 : BYTE ;   
      CRC_GEN_BYTE_3 : BYTE ;   
      CRC_GEN_BYTE_4 : BYTE ;   
    END_VAR
     
    BEGIN
     
    NETWORK
    TITLE =
     
          L     P##CRC_GEN; // DWORD
          LAR1  ; 
     
          L     B [AR1,P#0.0]; 
          T     #CRC_GEN_BYTE_1; // BYTE 1
     
          L     B [AR1,P#1.0]; 
          T     #CRC_GEN_BYTE_2; // BYTE 2
     
          L     B [AR1,P#2.0]; 
          T     #CRC_GEN_BYTE_3; // BYTE 3
     
          L     B [AR1,P#3.0]; 
          T     #CRC_GEN_BYTE_4; // BYTE 4
     
    END_FUNCTION_BLOCK
    Gruß Kai

  11. #10
    Registriert seit
    14.02.2006
    Beiträge
    61
    Danke
    21
    Erhielt 4 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Danke für die schnelle Problemlösung, habe mir fast gedacht das es mit Pointer geht. Habe aber keine Erfahrung mit den Pointern - wird sich aber ändern.

    Dieses Forum und vor allem die Mitglieder sind spitze!

    Ist das jetzt so richtig?
    Die Werte im DB stimme halt so!

    kann mir jemand erklären was da vor sich geht? oder bekannt geben wo ich nachlesen kann.

    L P##CRC_GEN
    LAR1
    L DBB [AR1,P#0.0] // 1.Byte
    T #CRC_GEN_inByte[0]
    L DBB [AR1,P#1.0] // 2.Byte
    T #CRC_GEN_inByte[1]
    L DBB [AR1,P#2.0] // 3.Byte
    T #CRC_GEN_inByte[2]
    L DBB [AR1,P#3.0] // 4.Byte
    T #CRC_GEN_inByte[3]

Ähnliche Themen

  1. SCL : Instanz in Instanz
    Von Larry Laffer im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 16.02.2009, 11:01
  2. Instanz-DBs -> VAT
    Von SPSKILLER im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 02.06.2008, 03:20
  3. Instanz-DB
    Von titinparma im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 15.10.2007, 17:56
  4. Instanz DB
    Von Flo im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 14.10.2006, 20:04
  5. Länge eines Instanz DB in Byte
    Von hugolee im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 30.09.2003, 17:05

Lesezeichen

Berechtigungen

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