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

Ergebnis 1 bis 5 von 5

Thema: Übungsbeispiel ANY-Zeiger

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

    Beitrag


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen !

    Ich suche ein Übungsbeispiel zum Thema ANY-Zeiger (zur besseren Verständnis), habe schon das ganze Forum durchforstet und auch einiges gefunden nur werde ich noch nicht ganz warm mit dem Thema.
    Ich verstehe wie der Zeiger grundsätzlich Aufgebaut ist und für was er verwendet wird jedoch scheitert es bei mir noch an der Umsetzung.

    Am hilfreichsten wäre wahrscheinlich wenn jemand ein fertiges s7-Programm hat wo ein solcher ANY-Zeiger programmiert ist.

    Folgende Threads habe ich mir zu dem Thema schon durchgelesen:

    http://www.sps-forum.de/faq/12923-an...atentypen.html

    Pointer Zeiger FIFO LIFO

    In diesen beiden Threads wird der Zeiger ja schon ziemlich gut erklärt, jedoch fehlt mir hier die Praxis um das ganze auch umzusetzen (Programmiere erst seit gut einem Monat).


    Danke im Voraus
    Zitieren Zitieren Übungsbeispiel ANY-Zeiger  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Hallo,

    aus meiner Sicht wird sich dir das erst erschliessen, wenn du eine Aufgabenstellung hast, wo du das benötigst.
    Ich bezweifle hier ernsthaft, dass du mit einem meiner Codeschnipsel (oder dem eines Anderen) wirklich weiter kommen würdest.
    Die besten Erklärungen dazu hast du schlußendlich hier ja schon verlinkt ...

    Hast du ein konkretes Problem, auf das man sich beziehen könnte ?

    Gruß
    Larry

  3. #3
    Avatar von SPS_Admin
    SPS_Admin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.11.2013
    Beiträge
    22
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hallo Larry,

    das habe ich mir auch schon gedacht, jedoch jetzt wo ich noch Zeit habe bevor es dann bei mir los geht (Montagen, Serviceeinsätze etc.) würde ich mich gerne mit den Zeigern auch schon ein bisschen auseinandersetzen, da das meines Erachtens nach ein wichtiger Teil der Programmierung ist.

    Konkret habe ich zurzeit ein Beispielprojekt einer Autowaschanlage das ich jetzt gerne erweitern würde.

    Vielleicht könnte ich ja je nach Tastendruck auf dem Bediengerät ein Waschprogramm auswählen, dieses wird dann in der Steuerung über den ANY-Zeiger angewählt oder verwaltet
    (ich weiß es würde einfacher gehen und ohne ANY-Zeiger aber es ist ja zur Übung).
    Das wär schon mal mein erster Ansatz sprich meine Problemstellung.

    LG Geri

  4. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.398 Danke für 1.998 Beiträge

    Standard

    Na ... das wäre doch was ...
    Somit hättest du eine Anzahl n von gleich aufgebauten Datenblöcken, die du in Abhängigkeit einer externen Anwahl auf einen Common-Bereich kopieren möchtest.
    Jetzt wäre es sinnvoll, wenn du dir so etwas mal in einem Datenbaustein (z.B.) anlegst.
    Nun würdest du dir den Anypointer auf den gewünschten Datenbereich in entsprechend der Anwahl und bei Änderung derselben erstellen und anschließend den Datenbereich mittels Blockmove (SFC20) auf den Common-Bereich kopieren.
    Versuch doch mal, dir dazu etwas aufzubauen. Wenn dann der Code nicht funzt, diesen posten (mit Verweis auf den Aufbau deines DB) und dann kann man mit etwas arbeiten ...

    Gruß
    Larry

  5. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    SPS_Admin (12.11.2013)

  6. #5
    Avatar von SPS_Admin
    SPS_Admin ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    11.11.2013
    Beiträge
    22
    Danke
    1
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen !

    Hatte Gestern wieder ein bisschen Zeit um den Any-Zeiger zu Programmieren, das Programm funktioniert soweit ich habe keine verschiedenen Waschgänge einprogrammiert sondern ein einfaches Handshake zwischen zwei Bausteinen realisiert.
    In der Sprungkette habe ich dann das ganze verschaltet ich arbeite teils mit dem einen Teils mit dem anderen DB nur wenn die Daten richtig kopiert werden läuft das Programm, bei Programmende schreibe ich 0 über den Zieldatenbaustein mittels SFC21 (FILL).

    Mithilfe der IN-Variablen kann ich meinen Programmierten Any-Zeiger in einem anderen FC aufrufen und ihn so je nach Wunsch verschalten:

    CALL "FC_Block Copy"
    Verschieben :="DB_Auto".Datenbaustein_versch
    Quell_DB :=4
    Laenge :=2
    Quell_Daten_Byte:=4
    Ziel_DB :=5
    Ziel_Daten_Byte :=4

    Und hier der Aufruf SFC21:

    L W#16#0
    T #NullWert

    CALL "FILL"
    BVAL :=#NullWert
    RET_VAL:=#RetVal_SFC21
    BLK :=DB5.DBD2

    L 0
    T "DB_Auto".Autoschritt



    Im Anhang noch den Code als PDF vielleicht kann ihn ja mal wer gebrauchen.
    Beide DB´s zwischen denen ich die Daten austausche habe ich auch noch mit angehängt.

    Danke für die Denkanstöße
    Angehängte Dateien Angehängte Dateien
    Zitieren Zitieren Geschafft  

Ähnliche Themen

  1. Zeiger
    Von snowleopard1702 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 10.05.2011, 17:07
  2. Denkfehler bei Übungsbeispiel
    Von MRT im Forum Simatic
    Antworten: 33
    Letzter Beitrag: 05.11.2009, 21:19
  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

Stichworte

Lesezeichen

Berechtigungen

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