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

Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: AWL; Laden und Aufschlagen von Datenbausteinen

  1. #11
    Registriert seit
    11.03.2011
    Beiträge
    384
    Danke
    32
    Erhielt 80 Danke für 69 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    So, nun hast Du es geschafft und mich verunsichert!

    Also habe ich mir den Aufbau eines AR angesehen:
    Die Adressregister sind 32bit Register, Sie enthalten einen Operantenbereich (Peripherie, Eingänge, Ausgänge, Merker, Global-DB, Instanz-DB, Lokaldaten oder und eine Bitadresse (byte.Bit).
    Der Aufbau ist "10000zzz 00000yyy yyyyyyyy yyyyyxxx" (z=Bereich, y=Byteadresse,z=Bitadresse).
    Also ohne Platz auch die DB-Nummer zu speichern. Offensichtlich gibt es also tatsächlich ein DB- und ein DI-Register.

    Dann habe ich mal in der Onlinhilfe gesucht und folgendes gefunden:
    Zitat Zitat von onlinhilfe
    Hinweise zur Änderung von Register-Inhalten
    Wenn Sie die im Anschluss beschriebenen Programmiermöglichkeiten und gleichzeitig die genannten Register/Akkus nutzen, müssen Sie selbst für eine Wiederherstellung der Register- bzw. Akku-Inhalte sorgen, da es sonst zu einem Fehlverhalten kommen kann.

    Die Verwendung der folgenden höheren Sprachkonstrukte kann dazu führen, dass die Inhalte von DB-Register und Adressregister AR1 verändert werden:
    • vollqualifizierter DB-Zugriff (z.B. DB20.DBW10) als Aktualparameter für FC
    • FB- und Multiinstanz-CALL
    • Strukturkomponente eines Formalparameters als Operand innerhalb eines FC oder FB
    • Strukturkomponente eines Formalparameters als Aktualparameter für FC oder FB
    Beim FB-, FC-, Multiinstanz-CALL dürfen VKE oder AKKU1 und AKKU2 nicht als zusätzliche (implizite) Parameter verwendet werden.

    Das DI-Register und das Adressregister AR2 werden systemseitig für den FB- und Multiinstanz-CALL verwendet und dürfen deshalb innerhalb von FB's nicht verändert werden.

    Das Adressregister AR1 wird von einem Teil der ladbaren Standardbausteine verwendet.

    Der Befehl "L P#Parametername" lädt innerhalb eines FB den Adressoffset des angegebenen Parameters, relativ zum Adressregister AR2. Um in multiinstanzfähigen FBs den absoluten Offset im Instanzdatenbaustein zu ermitteln, muss zu diesem Wert noch der bereichsinterne Zeiger (nur Adresse) des AR2-Registers addiert werden.
    Weitere Information zu den Registern der CPU finden Sie in der Hilfe zur Programmiersprache (KOP/FUP/AWL).
    Daraus schliesse ich,
    1. dass meine Aussage "AR1 beinhaltet einen Zeiger auf den global DB" nicht korrekt war
    2. dass das AR1 zwar mit den Global-DB und AR2 mit dem Instanz-DB zu tun hat, aber zusätzlich auch so was wie ein DB- bzw DI-Register beteiligt sein muss.
    3. dass es sehr schwirig ist, detalierte Informationen zu diesem Thema zu bekommen.

  2. #12
    Registriert seit
    14.02.2012
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    AR1 ist grundsätzlich für eigene indirekte Addressierung zu Verfügung.
    AR2 sollte man bei Instanzverarbeitung in Ruhe lassen, da es die Adresse der aktuellen
    Instanz-Daten endhält. (siehe auch multiinstanz)

    MfG
    Günther

  3. #13
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von miami Beitrag anzeigen
    Daraus schliesse ich,
    1. dass meine Aussage "AR1 beinhaltet einen Zeiger auf den global DB" nicht korrekt war
    2. dass das AR1 zwar mit den Global-DB und AR2 mit dem Instanz-DB zu tun hat, aber zusätzlich auch so was wie ein DB- bzw DI-Register beteiligt sein muss.
    3. dass es sehr schwirig ist, detalierte Informationen zu diesem Thema zu bekommen.
    Nee, nicht unbedingt.
    Nutze mal die Suchfunktion hier im Forum !
    kind regards
    SoftMachine

Ähnliche Themen

  1. Länge von Datenbausteinen mit libnodave
    Von bike im Forum Hochsprachen - OPC
    Antworten: 4
    Letzter Beitrag: 18.11.2008, 12:25
  2. Fragen zu Datenbausteinen und WIN CC
    Von Keeper im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 23.09.2008, 09:15
  3. Inhalt von Datenbausteinen kopieren
    Von minix0 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 24.06.2008, 17:00
  4. Typ als DW laden / awl
    Von kiestumpe im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 10.03.2006, 14:28
  5. Arten von Datenbausteinen
    Von Anonymous im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 07.05.2005, 20:38

Stichworte

Lesezeichen

Berechtigungen

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