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

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Ginge das auch eleganter?

  1. #1
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi Ihr,

    hänge da schon mal wieder an einem Problemchen.

    Es sollen z.B. alle Zähler (DINT) auf einmal gelöscht; also mit Null beschrieben werden:

    Code:
          L     L#0
          T     "Zaehler_DB".Z1
          T     "Zaehler_DB".Z2
          T     "Zaehler_DB".Z3
          T     "Zaehler_DB".Z4
    
    usw.

    Könnte man das auch kürzer mittels eines Pointers lösen, z.B. in der Art:

    Code:
      L L#0
      T P#"Zaehler_DB".DBX0.0 BYTE16
    Vielen Dank!
    LG
    spirit
    Zitieren Zitieren Ginge das auch eleganter?  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.167
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ja, geht. Ist dann aber nicht mehr in den Querverweisen zu finden.

    Stichwort: Schleife mit indirekter Adressierung (speicherindirekt, registerindirekt), SFC21 FILL, SFC20 BLKMOV, ...

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Ok danke Harald,

    habe das jetzt mal so versucht - klappt aber noch nicht:

    Code:
          L     L#0
          T     MD    90
    
          CALL  "BLKMOV"
          SRCBLK :=MD90
          RET_VAL:=MW55
          DSTBLK :=P#DB10.DBX14.0 BYTE16
    Wo liegt da noch der Hund begraben?
    LG
    spirit

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.167
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Hilfe zum SFC20, sinngemäß:
    "Ist das angegebene Quellfeld kürzer als das Zielfeld, dann werden nur so viele Daten kopiert wie das Quellfeld lang ist."

    Nimm SFC21 FILL

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Nimm SFC21 FILL

    Harald
    Supi, vielen Dank!

    Mit der SFC21 hat es geklappt ...
    LG
    spirit

  6. #6
    Registriert seit
    17.06.2003
    Beiträge
    1.269
    Danke
    478
    Erhielt 65 Danke für 57 Beiträge

    Standard

    Ich finde es immer wieder interessant was so alles gemacht wird um ein Programm unübersichtlicher zu machen.
    Das sieht aus als hat man viel Freizeit.

  7. #7
    Avatar von spirit
    spirit ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    12.09.2012
    Beiträge
    961
    Danke
    183
    Erhielt 23 Danke für 22 Beiträge

    Standard

    Zitat Zitat von Rudi Beitrag anzeigen
    Ich finde es immer wieder interessant was so alles gemacht wird um ein Programm unübersichtlicher zu machen.
    Das sieht aus als hat man viel Freizeit.
    Naja Rudi, nennen wir es mal Learning by Doing...
    LG
    spirit

  8. #8
    Registriert seit
    17.06.2003
    Beiträge
    1.269
    Danke
    478
    Erhielt 65 Danke für 57 Beiträge

    Standard

    Ok, dann ist das ok.
    Ich bin immer noch der Meinung man sollte Programme so schreiben das es ein Instandhalter ohne große Programmiererfahrung auch lesen kann.

  9. #9
    Registriert seit
    13.10.2007
    Beiträge
    12.031
    Danke
    2.786
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    Zitat Zitat von Rudi Beitrag anzeigen
    Ok, dann ist das ok.
    Ich bin immer noch der Meinung man sollte Programme so schreiben das es ein Instandhalter ohne große Programmiererfahrung auch lesen kann.
    na ja, einen Bereich mit dem SFC20 bzw. 21 platt machen, sollte man schon lesen können,
    vor allen dingen weil diese Bausteine mit F1 schnell erklärt sind. Wo willst du anfangen und
    wo willst du aufhören, beim SR-Gliedern, oder darf es auch ein wenig mehr sein?
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  10. #10
    Registriert seit
    17.06.2003
    Beiträge
    1.269
    Danke
    478
    Erhielt 65 Danke für 57 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von rostiger Nagel Beitrag anzeigen
    na ja, einen Bereich mit dem SFC20 bzw. 21 platt machen, sollte man schon lesen können,
    vor allen dingen weil diese Bausteine mit F1 schnell erklärt sind. Wo willst du anfangen und
    wo willst du aufhören, beim SR-Gliedern, oder darf es auch ein wenig mehr sein?
    Was spricht denn gegen einen eindeutigen einfachen Code wie z.b.
    L L#0
    T "Zaehler_DB".Z1
    T "Zaehler_DB".Z2
    T "Zaehler_DB".Z3
    T "Zaehler_DB".Z4 ?

Ähnliche Themen

  1. Ist das bei Euch auch so?
    Von AUDSUPERUSER im Forum Simatic
    Antworten: 10
    Letzter Beitrag: 23.06.2009, 15:43
  2. Antworten: 2
    Letzter Beitrag: 04.12.2008, 02:34
  3. Man kann das Geldsparen auch übertreiben.
    Von vollmi im Forum Stammtisch
    Antworten: 13
    Letzter Beitrag: 19.08.2008, 19:38
  4. Benutzt ihr auch das Simatic Forum ?
    Von Unregistrierter gast im Forum Stammtisch
    Antworten: 11
    Letzter Beitrag: 12.01.2007, 21:35
  5. Kleine Information das auch Rpckwell fehler macht
    Von kpeter im Forum Sonstige Steuerungen
    Antworten: 3
    Letzter Beitrag: 23.01.2005, 20:35

Lesezeichen

Berechtigungen

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