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

Ergebnis 1 bis 7 von 7

Thema: Zeiger für Anfänger

  1. #1
    Registriert seit
    10.04.2010
    Beiträge
    132
    Danke
    15
    Erhielt 3 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Gemeinde,

    bin Anfänger in Step7. Habe mir eine Art Alarmanlage programmiert. Um nun meinen Quelltext zu vereinfachen, würde ich eure Hilfe benötigen.

    Hier seht ihr, wie ich derzeitig beim Öffnen einer Tür den Vorgang mittels eines FCs in einen DB abspeichere sowie einen Zähler um eins erhöhe. Beim Schließen schreibe ich nur wieder mittels FC die Daten weg.

    Hier der Screenshot:










    Hier noch ein Bild vom FC:



    Ich möchte gern mit dem gezeigten FC1 mittels Zeiger die Daten in den DB2 schreiben. Tür 1 ist DW0, Tür 2 ist DW2, Tür 3 ist DW4 und so weiter.

    Übergeben wird dies am FC als IN-Parameter (soll so werden) Auch ist es mir lieber, wenn ich den FC nur noch einmal aufrufe und die positive Flanke und negative Flanke als Eingang am FC parametriere, um den Kauderwelsch etwas zu verringern. Wie gesagt, Bild 1 zeigt 2 der vielen Türen. Jedes weitere Netzwerk behandelt zwei weitere Türen.

    Ich programmiere mit Step 7 erst seit drei Wochen. Bisher hatte ich viel mit Datenbanken und Fertigungsleitsystemen zu tun, aber auch Visualisierungen.

    Danke für eure Lösungsideen bezüglich Übergabe Türnummer 1 bis 10 und Verarbeitung im FC1, indem dort anhand der Türnummer im richtigen Datenwort die Zahl um eins erhöht wird.

    Dankeschön.
    Zitieren Zitieren Zeiger für Anfänger  

  2. #2
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    Zeiger für Anfänger findest du in den FAQ.
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  3. #3
    OKL ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    10.04.2010
    Beiträge
    132
    Danke
    15
    Erhielt 3 Danke für 2 Beiträge

    Standard

    Hallo,

    das habe ich mir schon angeschaut. Ich habe nur damit ein kleines Problem offen:

    L 0
    SLD 3
    LAR1
    AUF DB 1
    L DBW [AR1,P#0.0] // das zählt für Tür 1, für 2 müsste es P#2.0 sein

    Geht so etwas wie P#(übergebene Türnummer - 1 * 2)??

    Danach

    L 1
    + I
    T DBW [AR1,P#0.0]

    Danke für weitere Hilfe
    Zitieren Zitieren Frage  

  4. #4
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard

    Code:
    L #türnummer
    L  L#1
    -D
    L L#2
    *D
    SLD   3
    LAR1
    .
    .
    .
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  5. #5
    Registriert seit
    15.10.2007
    Ort
    St.Pölten
    Beiträge
    875
    Danke
    98
    Erhielt 200 Danke für 188 Beiträge

    Standard

    wenn du mit dbw2 für tür1 anfangen würdest dann könntest es auch so lösen.
    Code:
          L    türnr
          SLW 3
          L     2
          *I    
          T     #tdbw
          AUF   DB     2
          T     DBW [#tdbw]
    Beginne jeden Tag mit einem lächeln,es kann dir nämlich während des Tages sehr schnell vergehen.

  6. Folgender Benutzer sagt Danke zu Gerhard K für den nützlichen Beitrag:

    mega_ohm (11.04.2010)

  7. #6
    OKL ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    10.04.2010
    Beiträge
    132
    Danke
    15
    Erhielt 3 Danke für 2 Beiträge

    Standard

    Hallo,

    vielen Dank für die Lösungen.

    Eine Frage zum Beispiel von crash:

    Code:
    L #türnummer
    L  L#1 // bedeutet das - Lade Long Konstante von 1?- habe gerade gelesen, dass L# eine 32 Bit Zahl laden würde und L1 nur 16 Bit. Bei negativen Zahlen wäre das wichtig...
    -D      // Minus Double
    L L#2  // Lade Long Konstante von 2
    *D      // Mal Double
    SLD   3
    LAR1
    Da es sich um Türen von 1 bis derzeit 10 handelt, könnte ich da auch das mit Integer realisieren?

    L 1
    -I
    L2
    *I gehen?

    Danke, hilft mir wirklich sehr weiter.

    Gerhard, danke auch für deinen Hinweis. Habe leider schon die Struktur so angelegt, dass Tür 1 Datenwort 0 ist.

    Danke, danke, danke!
    Geändert von OKL (10.04.2010 um 23:57 Uhr)
    Zitieren Zitieren Vielen Dank  

  8. Folgender Benutzer sagt Danke zu OKL für den nützlichen Beitrag:

    mega_ohm (11.04.2010)

  9. #7
    Registriert seit
    03.11.2006
    Ort
    Niedersachsen
    Beiträge
    1.126
    Danke
    170
    Erhielt 303 Danke für 259 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von OKL Beitrag anzeigen
    Da es sich um Türen von 1 bis derzeit 10 handelt, könnte ich da auch das mit Integer realisieren?

    L 1
    -I
    L2
    *I gehen?
    jopp das geht
    Gruß
    crash

    Ich bin nicht bekloppt,
    ich bin verhaltensoriginell!

  10. Folgender Benutzer sagt Danke zu crash für den nützlichen Beitrag:

    mega_ohm (11.04.2010)

Ähnliche Themen

  1. Zeiger
    Von snowleopard1702 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.05.2011, 17:07
  2. Any-Zeiger für Datentypen
    Von volker im Forum FAQ
    Antworten: 0
    Letzter Beitrag: 31.03.2007, 16:18
  3. ANY-Zeiger
    Von RAN im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 20.07.2006, 17:42
  4. Zeiger???
    Von Jochen Kühner im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 03.09.2004, 08:33
  5. Any-Zeiger
    Von Anonymous im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 16.10.2003, 20:28

Lesezeichen

Berechtigungen

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