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

Ergebnis 1 bis 10 von 10

Thema: Statische Variablen absolut Adressieren

  1. #1
    Registriert seit
    14.09.2005
    Beiträge
    218
    Danke
    9
    Erhielt 23 Danke für 13 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    Is vielleicht ne blöde Frage (obwohl, sowas gibts ja gar nicht ), aber kann ich in, out und statische Variablen in einem FB absolut adressieren um z.B über einen Pointer zu adressieren?

    Wenn ich in nem FB schreibe: L LD4, dann lädt er ja Doppelwort 4 aus dem temporären Variablen.
    Zitieren Zitieren Statische Variablen absolut Adressieren  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    ... ja kannst du, denn die werden ja mit im I-DB des FB's abgelegt. Den Snn kann ich allerdings nicht ganz nachvollziehen, da du sie ja auch innerhalb des FB symbolisch direkt ansprechen kannst.

    Vielleicht solltest du mal andeuten, was du da im Hinterkopf hast ...

    Gruß
    LL

  3. #3
    Registriert seit
    19.06.2005
    Ort
    in Bayern ganz oben
    Beiträge
    1.360
    Danke
    188
    Erhielt 372 Danke für 290 Beiträge

    Standard

    Hallo,

    Beispiel am Datentyp DATE_AND_TIME.:
    Code:
          TAR2                              // Multiinstanz DB Offset
          LAR1  
          L     P##SPS_DT                   // Basisadresse SPS_DT laden
          +AR1  
    
          L     DINO                        // Datenbaustein Nummer
          T     #temp_w                     // sichern
          AUF   DB [#temp_w]                // Datenbaustein öffnen
    
    
          L     B [AR1,P#0.0]               // Jahr
          BTI   
          T     #SPS.Jahr
          L     B [AR1,P#1.0]               // Monat
          BTI   
          T     #SPS.Monat
          L     B [AR1,P#2.0]               // Tag
    MfG
    Daniel
    Erfahrung ist eine nützliche Sache. Leider macht man sie immer erst kurz nachdem man sie brauchte...

    OSCAT.lib Step 7

    Open Source Community for Automation Technolgy

    SPS-Forum Chat (Mibbit) | SPS-Forum Chat (MIRC)

  4. #4
    dpd80 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.09.2005
    Beiträge
    218
    Danke
    9
    Erhielt 23 Danke für 13 Beiträge

    Standard

    @Larry
    Ja, über den I-DB is klar. Aber wenn ich davon z.B. ne Multi-Instanz mache, sind das ja immer andere Adressen im I-DB.

    Ich möchte im Prinzip Werte in den Stat-Variablen Zwischenspeichern und zwar pro Zyklus einen Wert und dann nen Pointer erhöhen und im nächsten Zyklus in das nächste Fach schreiben. Irgendwann nehmen ich mir dann die zwischengespeicherten Werte und verarbeite die dann weiter. Aber um mit dem Pointer immer ein Fach in den Stat-Variablen weiterzugehen kann ich die ja nicht symbolisch Adressieren.

    Natürlich kann ich das ganze auch anders lösen, aber so hätte es mir am besten gefallen.

  5. #5
    dpd80 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    14.09.2005
    Beiträge
    218
    Danke
    9
    Erhielt 23 Danke für 13 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Würde es nicht evtl. mit einem Array in den Statischen Variablen auch gehen? Dann brauchst du keine indirekte Adressierung.
    Wie gesagt, klar gibt es andere Lösungen, aber es ging mir jetzt nur um die Frage, ob es überhaupt möglich ist.

  6. #6
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard

    Zitat Zitat von dpd80 Beitrag anzeigen
    Wie gesagt, klar gibt es andere Lösungen, aber es ging mir jetzt nur um die Frage, ob es überhaupt möglich ist.
    Sorry, hatte meine Antwort grad wieder gelöscht, weil Käse. Was ich meinte, war Zugriff auf das Array über den Index. Das geht bei SCL, aber nicht bei AWL .
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

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

    Standard

    Zitat Zitat von dpd80 Beitrag anzeigen
    Ich möchte im Prinzip Werte in den Stat-Variablen Zwischenspeichern und zwar pro Zyklus einen Wert und dann nen Pointer erhöhen und im nächsten Zyklus in das nächste Fach schreiben. Irgendwann nehmen ich mir dann die zwischengespeicherten Werte und verarbeite die dann weiter. Aber um mit dem Pointer immer ein Fach in den Stat-Variablen weiterzugehen kann ich die ja nicht symbolisch Adressieren.
    Etwas ähnliches habe ich hier gemacht bei der Sortierung mit Bubblesort (FC200, Netzwerk 3):

    http://www.sps-forum.de/showpost.php...26&postcount=7

    Ansonsten schau Dir das mal an:

    http://www.sps-forum.de/showthread.php?t=8887

    Gruß Kai

  8. #8
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Hallo dpd80,

    ich verfahre bei solchen Sachen genau wie von Ralle beschrieben.
    Bei uns geht es sehr oft darum Kurven-Daten zu erfassen (über z.B. OB35). Hier nutze ich genau dieses Verfahren. Ich habe in meinem FB ein ARRAY_of_Werte und eine INT-Variable Schreib_Index. Mit jedem Aufruf des OB35 schreibe ich den neu eingelesenen Wert auf die Variable Werte [Schreib_Index] und erhöhe dann den Index entsprechend.

    Diese Dinge realisiere ich (der besser Lesbarkeit wegen) normalerweise mittels SCL.

    Gruß
    LL

  9. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.727
    Danke
    398
    Erhielt 2.404 Danke für 2.002 Beiträge

    Standard

    Zitat Zitat von Ralle Beitrag anzeigen
    Sorry, hatte meine Antwort grad wieder gelöscht, weil Käse. Was ich meinte, war Zugriff auf das Array über den Index. Das geht bei SCL, aber nicht bei AWL .
    ... warum nicht ?
    Du musst dann halt nur den Index zu einem Pointer umbasteln, was aber m.E. nichts an der Sache ändert ...

  10. #10
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.224
    Danke
    533
    Erhielt 2.698 Danke für 1.950 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    @LL

    Ja, aber das ist nicht die wirklich einfache Lösung, an die ich eigentlich dachte und die so nicht geht.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

Ähnliche Themen

  1. Antworten: 14
    Letzter Beitrag: 03.08.2011, 16:31
  2. statische Variablen...
    Von snowleopard1702 im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.05.2011, 11:47
  3. Antworten: 46
    Letzter Beitrag: 08.10.2010, 23:49
  4. Statische Variablen in FB´s
    Von Gerri im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 26.06.2008, 14:34
  5. Statische Variablen
    Von Sh4gr4th im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 09.12.2005, 14:45

Lesezeichen

Berechtigungen

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