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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 33

Thema: Arbeiten mit Array

  1. #1
    Registriert seit
    04.07.2007
    Beiträge
    82
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,

    soll in einem globalen DB ein Array anlegen, dessen Größe von der Anzahl der Anlagen abhängt.
    Das Array soll auf UDT1 zugreifen und von dort die Daten nehmen.
    Wie schreibe ich wenn ich darauf zugreifen will mit Lade/Transferiere Befehl??
    Weiters soll es die Werte weiterschieben, damit die nächste Anlage am selben Platz speichern kann, ohne dass ich Daten verliere!
    Hoffe es ist verständlich formuliert!

    Danke
    Zitieren Zitieren Arbeiten mit Array  

  2. #2
    Registriert seit
    22.11.2005
    Ort
    kl.Odenwald
    Beiträge
    716
    Danke
    111
    Erhielt 85 Danke für 71 Beiträge

    Standard

    also m.W. ist es in S7 bis jetzt nicht möglich, dynamischen Speicher zu allokieren. Du könntest allenfalls ein Array anlegen, dass immer groß genug ist und dann halt nur einen Teil davon nutzen, also die aktuelle Größe <= Maximalgröße.

    aha, geht doch mit CREATE_DB
    Geändert von kiestumpe (05.07.2007 um 14:22 Uhr) Grund: man lernt nie aus

  3. #3
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Da kannst du wie gehabt absolut oder symbolisch drauf zugreifen.

    L DB_Name.Analge_01.Wert_1

    L DB1.DBW2

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  4. #4
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Zitat Zitat von kiestumpe Beitrag anzeigen
    also m.W. ist es in S7 bis jetzt nicht möglich, dynamischen Speicher zu allokieren. Du könntest allenfalls ein Array anlegen, dass immer groß genug ist und dann halt nur einen Teil davon nutzen, also die aktuelle Größe <= Maximalgröße.

    Es gibt einen SFB Create_DB und Delete_DB. Damit kann man so etwas lösen, falls er das so meinte.

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  5. #5
    slma ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    82
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    ok das ist schonmal gut! danke! Aber beim Array schreibe ich ja ARRAY[1..8]OFUDT...mein Baustein in dem alle Variablen sind ist aber UDT1...oder verwechsle ich da was??

    wie sehen eigentlich die Aufrufe für andere datentypen aus?
    Ich kenne nur

    L DB1.DBW2 //Wort laden
    L DB1.DBD2 // DWORD laden

    was gibt es da noch so? habe nirgendwo infos darüber gefunden.


    Und wie kann ich die werte weiterschieben um danach auf der selben Adresse zu speichern?
    Geändert von slma (05.07.2007 um 14:20 Uhr)

  6. #6
    Registriert seit
    03.01.2006
    Ort
    Im sonnigen Süden von Österreich!
    Beiträge
    1.377
    Danke
    227
    Erhielt 182 Danke für 167 Beiträge

    Standard

    Zitat Zitat von slma Beitrag anzeigen
    ok das ist schonmal gut! danke! Aber beim Array schreibe ich ja ARRAY[1..8]OFUDT...mein Baustein in dem alle Variablen sind ist aber UDT1...oder verwechsle ich da was??

    wie sehen eigentlich die Aufrufe für andere datentypen aus?
    Ich kenne nur

    L DB1.DBW2 //Wort laden
    L DB1.DBD2 // DWORD laden

    was gibt es da noch so? habe nirgendwo infos darüber gefunden.


    Und wie kann ich die werte weiterschieben um danach auf der selben Adresse zu speichern?
    Ich würde das mit dem SFC 20 lösen!
    Da kannst du dir dann über einen dynamischen AnyPointer die größe der Bereiche die du kopieren willst Adressieren.

    godi

  7. Folgender Benutzer sagt Danke zu godi für den nützlichen Beitrag:

    slma (05.07.2007)

  8. #7
    Registriert seit
    07.05.2004
    Ort
    Campbelltown
    Beiträge
    2.437
    Danke
    131
    Erhielt 276 Danke für 86 Beiträge

    Standard

    Ja, mein Fehler, unten als ARRAY.

    Zitat Zitat von plc_tippser Beitrag anzeigen
    L DB_Name.Analge[01].Wert_1

    L DB1.DBW2

    pt
    Gegen Schwachsinn, Schwachköpfe und armselige Trittbrettfahrer kann man nicht argumentieren.

    Gott sieht alles, auch Signaturen in Geheimschrift,,... aber er petzt nicht.

  9. #8
    slma ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    82
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von plc_tippser Beitrag anzeigen
    Ja, mein Fehler, unten als ARRAY.


    Das hätte ich gar nicht gesehen
    Mir gings darum, dass mein ARRAY[...]OFUDT ist und irgendwie nicht mit meinem UDT1 zusammenhängt oder??

  10. #9
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.218
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Schau dir mal den DB100 in diesem Beitrag an, der ist mit Array und UDT

    http://www.sps-forum.de/showthread.php?t=14250
    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

  11. #10
    slma ist offline Benutzer
    Themenstarter
    Registriert seit
    04.07.2007
    Beiträge
    82
    Danke
    20
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    jawohl danke!
    bleibt nur mehr eine frage:

    wie sehen eigentlich die Aufrufe für andere datentypen aus?
    Ich kenne nur

    L DB1.DBW2 //Wort laden
    L DB1.DBD2 // DWORD laden
    L DB1.DBB2 // BYTE laden

    was gibt es da noch so? habe nirgendwo infos darüber gefunden!

    danke schonmal!

Ähnliche Themen

  1. Antworten: 18
    Letzter Beitrag: 21.12.2016, 17:03
  2. Arbeiten mit Protool
    Von jas im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 08.09.2006, 14:52
  3. Arbeiten mit Adressregister
    Von psum im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 17.03.2006, 13:45
  4. Bool-Array in Byte-Array
    Von Techniker im Forum Sonstige Steuerungen
    Antworten: 10
    Letzter Beitrag: 13.01.2006, 19:12
  5. arbeiten mit FC 105 ?
    Von olitheis im Forum Simatic
    Antworten: 45
    Letzter Beitrag: 30.07.2005, 11:48

Lesezeichen

Berechtigungen

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