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

Ergebnis 1 bis 10 von 10

Thema: Unterschied Auf DB oder Auf DI

  1. #1
    Registriert seit
    02.09.2008
    Beiträge
    132
    Danke
    38
    Erhielt 6 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi

    Gibt es außer das ich bei Di einen Instanz und bei DB einen globalen Datenbaustein öffne noch irgend welche unterschiede?
    Zitieren Zitieren Unterschied Auf DB oder Auf DI  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Nein ...

    Wobei du auch einen Instanz-DB mit "AUF DB xyz" (und umgekehrt) öffnen kannst ...
    Das hat nur etwas mit der indirekten Adressierung zu tun ...

    Gruß
    LL

  3. #3
    Registriert seit
    19.06.2003
    Beiträge
    197
    Danke
    10
    Erhielt 17 Danke für 13 Beiträge

    Standard

    Hallo
    Die Step7 besitzt gegenüber der S5 zwei DB-Register
    Die Register haben eine grösse von 16Bit

    Register Nr.1 (DB-Register)
    Register Nr.2 (DI-Register)

    In diese beide Register kann eine DB-Nummer geladen werden
    AUF DB10 -> Wert 10 steht im Register Nr.1
    AUF DI10 -> Wert 10 steht im Register Nr.2

    Der Zugriff auf einen Datenbaustein kann symbolisch oder absolut erfolgen.
    symbolisch:
    L "DB_Soll".Parameterwert (DB-Nr. wird in das Register Nr.1 geschrieben)

    absolut:
    L DB30.DBW2
    L DI20.DBW2 (geht nicht)

    DB auschlagen und Zugriff auf Variable mit herkömlichen Zugriff.
    Diese Variante wird z.B. bei der indirekten Adressierung verwendet.

    AUF DB30
    L DBB0
    L DBW2
    L DBD4

    AUF DI20
    L DIB0
    L DIW2
    L DID4

    Bei Aufruf eine FBs verwendet der Step7-Editor automatisch das 2.DB-Register für den Zugriff auf den Instanz-DB

    Diese Befehl können in diesem zusammenhang ebenfalls verwendet werden.
    L DBNO (Die aktuelle DB-Nr. im Register 1 wird in den Akku1 geladen)
    L DINO (Die aktuelle DB-Nr. im Register 2 wird in den Akku1 geladen)
    L DBLG (Die Länge in Byte des DBs im Register 1 wird in den Akku1 geladen)
    L DILG (Die Länge in Byte des DBs im Register 2 wird in den Akku1 geladen)
    Gruss Martin

  4. Folgender Benutzer sagt Danke zu Martin Glarner für den nützlichen Beitrag:

    Deltal (12.09.2008)

  5. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    Zitat Zitat von Martin Glarner Beitrag anzeigen
    absolut:
    L DB30.DBW2
    L DI20.DBW2 (geht nicht)
    Es wüde aber gehen :
    Code:
    L DB30.DBW2 
    L DI20.DIW2
    Gruß
    LL

  6. #5
    Registriert seit
    25.08.2003
    Beiträge
    332
    Danke
    46
    Erhielt 54 Danke für 46 Beiträge

    Lächeln

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Es wüde aber gehen :
    Code:
    L DB30.DBW2 
    L DI20.DIW2
    Gruß
    LL

    Veto!

    Gruß
    Flinn

  7. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.718
    Danke
    398
    Erhielt 2.400 Danke für 2.000 Beiträge

    Standard

    @Flinn:
    Stimmt ... Du hast Recht ...
    Da hätte ich jetzt aber sonst was drauf verwettet ...

  8. #7
    Registriert seit
    29.12.2007
    Beiträge
    71
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Zusätzlich kannst du wenn du auf zwei DBs gleichzeitig zugreifen willst folgendes machen:

    L DB1
    TDB //DB Register tauschen
    L DB2

    l dbw0 //DB2
    t diw0 //DB1

    Natürlich unter der Bedingung das du die DB Register währenddessen nicht änderst (zB durch FB Aufruf zwischendurch)

    Gruss tonga...

  9. #8
    Registriert seit
    17.10.2007
    Ort
    35043 Marburg
    Beiträge
    176
    Danke
    4
    Erhielt 30 Danke für 29 Beiträge

    Standard

    Zitat Zitat von tonga Beitrag anzeigen
    Zusätzlich kannst du wenn du auf zwei DBs gleichzeitig zugreifen willst folgendes machen:

    L DB1
    TDB //DB Register tauschen
    L DB2

    l dbw0 //DB2
    t diw0 //DB1

    Natürlich unter der Bedingung das du die DB Register währenddessen nicht änderst (zB durch FB Aufruf zwischendurch)

    Gruss tonga...
    Übersichtlicher wäre dann aber:
    Code:
    AUF DB2
    AUF DI1
     
    L DBW0   //DB2
    ...
    L DIW0   //DB1
    ...
    Grüße...

  10. #9
    Registriert seit
    29.01.2008
    Ort
    ´s Stauferstädtle
    Beiträge
    314
    Danke
    54
    Erhielt 53 Danke für 44 Beiträge

    Standard

    am Rande bemerkt (und wenn ich das grad zum zweiten Mal durchles, gar nicht mal so OT):
    auf den Befehl "Auf DB" konnte ich inzwischen verzichten. Der Befehl "Auf DI" birgt Zündstoff für eine Grundsatzdiskussion...
    Ein Frosch ohne Humor ist nur ein kleiner grüner Haufen!

  11. #10
    Registriert seit
    16.11.2007
    Beiträge
    67
    Danke
    2
    Erhielt 8 Danke für 6 Beiträge

    Idee


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Solange man innerhalb eines Bausteins (FC!) die Aufrufe benutzt, um z.B. Daten zwischen verschiedenen DB's zu kopieren ist meiner Erfahrung nach kein Unterschied zu merken. Ruft man jetzt aber einen FB auf merkt man den Unterschied:

    Auf DB12
    Auf DI10
    .
    .
    L DBB18
    T DIb25
    .
    .

    Call FB1,DB1 //funktioniert
    var1:=DBW0
    var2:=DBD10

    Call FB2,DB2 //geht schief
    var1:=DIW0
    var2:=DID10
    Zitieren Zitieren Eigentlich nicht aber ...  

Ähnliche Themen

  1. Unterschied FB FC
    Von Anonymous im Forum Simatic
    Antworten: 34
    Letzter Beitrag: 01.02.2014, 21:02
  2. Antworten: 5
    Letzter Beitrag: 02.08.2010, 23:43
  3. Unterschied EW und PEW
    Von Anonymous im Forum Simatic
    Antworten: 17
    Letzter Beitrag: 12.07.2010, 22:42
  4. Unterschied EW und PEW
    Von mwissen im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 17.02.2009, 23:36
  5. Antworten: 5
    Letzter Beitrag: 15.04.2005, 15:19

Lesezeichen

Berechtigungen

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