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

Ergebnis 1 bis 3 von 3

Thema: Indirekte adressierung DB

  1. #1
    Registriert seit
    17.04.2006
    Beiträge
    1
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo, ich habe folgende Aufgabenstellung.

    Auf einer Maschine werden verschiedene Programme gefahren.
    Die Parameter liegen für jedes Programm in einem eigenem Datenbaustein. Die Programmnummer ist im MW200.

    Im Programmablauf muss auf dynamisch auf Werte zugegriffen werden. Die Gebindenummer befindet sich im MW202.

    Im Augenblick wurde ein FB programmiert der den benötigten Wert bereitstellt. Das müsste doch mit indierekter Adressierung eleganter zu machen sein. Ich habe schon einiges ohne Erfolg probiert.

    Wie kann ich auf die benötigten Werte zugreifen?
    Gruß Georg Koller
    Zitieren Zitieren Indirekte adressierung DB  

  2. #2
    Registriert seit
    21.03.2004
    Beiträge
    65
    Danke
    0
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Hallo elko
    Vorschlag

    Code:
    FUNCTION_BLOCK FB 100
    TITLE =Test
    VERSION : 1.0
    
    
    VAR_INPUT
      _DB    : INT ;      // aus MW
      Nummer : INT ;    // aus MW    
    END_VAR
    VAR_TEMP
      HM_DB : WORD ;    
      Wert : INT ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
          SET   ; 
          SAVE  ; 
          =     L      4.1;   // Temp Variable
          L     #_DB;        // der DB aus MW (_DB)
          T     #HM_DB; 
          L     #HM_DB; 
          T     LW     6;     // Temp Variable
          L     #Nummer;    // welches Daten_word
          ITD   ; 
          L     L#8;               // Zeiger bereitstellen
          *D    ;                   // Zeiger bereitstellen     
          AUF   DB [LW 6];     // DB indirekt oeffnen
          LAR1  ;                  // ins Adressregister
          L     DBW [AR1,P#0.0];    // DW indirekt oeffnen von MW (Nummer )
          T     #Wert;                  // den Inhalt aus dem DW nach Wert
          SAVE  ; 
          BE    ; 
    END_FUNCTION_BLOCK
    mfG
    hg

  3. #3
    Registriert seit
    05.01.2006
    Beiträge
    46
    Danke
    0
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hier ein paar AWL-Anweisungen, die dir helfen könnten.


    AUF DB [MW10] // MW10 = DB-Nr. die geöffnet werden soll als INT-Variable

    U DBX[MD10] // MD10 = Adresse*8 + Bit-Nr. (0-7) mit der die Verknüpfung durch geführt werden soll

    L DBB[MD10] // MD10 = Adresse*8 vom Bytewert der geladen werden soll

    L DBW[MD10] // MD10 = Adresse*8 vom 2-Bytewert der geladen werden soll

    L DBD[MD10] // MD10 = Adresse*8 vom 4-Bytewert der geladen werden soll


    Wenn du noch Fragen hast, dann kruze E-Mail.
    Viele Grüße
    Matthias
    SPS .bz
    -----------------
    Rechtschreibfehler wurden absichtlich zur allgemeinen Belustigung hinzugefügt, wer einen findet, darf ihn natürlich behalten ...

Ähnliche Themen

  1. Indirekte Adressierung in AWL
    Von Bensen83 im Forum Simatic
    Antworten: 16
    Letzter Beitrag: 31.01.2015, 15:58
  2. indirekte Adressierung
    Von Sash7770 im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 22.12.2008, 12:47
  3. indirekte Adressierung
    Von Linowitch im Forum HMI
    Antworten: 13
    Letzter Beitrag: 06.12.2008, 19:43
  4. Indirekte Adressierung
    Von thomasgull im Forum Simatic
    Antworten: 8
    Letzter Beitrag: 31.01.2008, 14:49
  5. Indirekte Adressierung von SFC 20
    Von andre im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 05.09.2005, 09:44

Lesezeichen

Berechtigungen

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