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

Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: Zähler im Neztwerk merfach zählen lassen

  1. #1
    Join Date
    29.06.2020
    Posts
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Frage


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Gemeinde,

    ich würde gerne einen Zähler mehrmals hintereinander vorwärts zählen lassen.
    Das Netzwerk hierfür sieht so aus:

    U db1353.dbx4.1
    ZV Z1
    U db1353.dbx4.2
    ZV Z1
    U db1353.dbx4.3
    ZV Z1

    Die Datenbits kommen meistens gleichzeitig und sind als Flanke programmiert. Warum Zählt der Zähler nur bis 1 wenn er doch eigentlich bei 3 stehen sollte.
    Habe auch schon alle Datenbits testweise durch ein und den selben Merker ersetzt und manuell gesetzt. Bringt jedoch auch nichts.

    Der Zähler wird im nachfolgenden Netzwerk nur per Blinktakt wieder zurückgesetzt, und sonst nicht mehr verwendet.

    Was mache ich hier falsch?
    Reply With Quote Reply With Quote Answered: Zähler im Neztwerk merfach zählen lassen  

  2. "* Beim ersten Aufruf ZV erkennt der Zähler-Eingang eine steigende Flanke und zählt +1, und der FR erkennt auch eine steigende Flanke und setzt den Flankenmerker des Zähler-Eingangs zurück.
    * Beim zweiten Aufruf ZV erkennt der Zähler-Eingang wegen dem FR vorher eine steigende Flanke (VKE = 1 und zurückgesetzter Flankenmerker = 0) und zählt +1, der FR erkennt aber keine steigende Flanke (VKE = 1 wie beim ersten FR und FR-Flankenmerker = 1) und setzt den Flankenmerker des Zähler-Eingangs nicht zurück.
    * Beim dritten und jedem weiteren Aufruf ZV erkennt der Zähler-Eingang keine steigende Flanke (VKE = 1 wie die ZV vorher und Eingangs-Flankenmerker ebenfalls = 1) und zählt nicht, und der FR erkennt auch keine steigende Flanke (VKE = 1 und FR-Flankenmerker auch = 1).

    Harald"


  3. #2
    Join Date
    06.01.2005
    Location
    im schönen Lipperland
    Posts
    4,985
    Danke
    615
    Erhielt 1,265 Danke für 823 Beiträge

    Default

    Kommen alle 3 Signale in einem Zyklus ? Ein Flankenmerken ist einen Zyklus auf HIGH. Also kann es so nicht gehen. Nimm 3 Zähler und addiere sie
    Früher gab es Peitschen .... heute Terminkalender

  4. #3
    Shitmaster is offline Neuer Benutzer
    Themenstarter
    Join Date
    29.06.2020
    Posts
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Quote Originally Posted by Lipperlandstern View Post
    Kommen alle 3 Signale in einem Zyklus ?
    Ja
    Quote Originally Posted by Lipperlandstern View Post
    KEin Flankenmerken ist einen Zyklus auf HIGH
    Ist mir bewusst

    Aber es kommt doch ein Bit, Zähler zählt.
    Eine Zeile drunter ein anderes Bit, Zähler zählt wieder... warum nicht?

  5. #4
    Join Date
    06.01.2005
    Location
    im schönen Lipperland
    Posts
    4,985
    Danke
    615
    Erhielt 1,265 Danke für 823 Beiträge

    Default

    Der Zähleingang ist aber noch vom ersten Bit "blockiert". Ein Zähler zählt nur bei Flankenwechsel. Den hast du in deinem Netzwerk nur einmal
    Früher gab es Peitschen .... heute Terminkalender

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

    Shitmaster (30.06.2020)

  7. #5
    Shitmaster is offline Neuer Benutzer
    Themenstarter
    Join Date
    29.06.2020
    Posts
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default

    Und warum hilft es dann nichts wenn ich es auf mehrere Netzwerke aufteile?

  8. #6
    Join Date
    13.12.2011
    Location
    Bückeburg
    Posts
    2,841
    Danke
    369
    Erhielt 430 Danke für 363 Beiträge

    Default

    Quote Originally Posted by Shitmaster View Post
    Und warum hilft es dann nichts wenn ich es auf mehrere Netzwerke aufteile?
    Weil Du immer die selbe Instanz des Zählers aufrufst und dessen Eingang war evtl. noch vom vorherigen Aufruf TRUE, daher hat der Baustein keine steigende Flanke und kann nichts zählen.
    Wenn Du wirklich nur einen Zähler für mehrere Signale nutzen möchtest, müsstest Du zwischen den Aufrufen noch weitere Aufrufe einfügen bei denen der Eingang dann FALSE ist.
    Bin jetzt leider Siemens Laie, aber vermutlich so:
    Code:
    U db1353.dbx4.1 ZV Z1
    U FALSE ZV Z1
    U db1353.dbx4.2
    ZV Z1
    U FALSE ZV Z1
    U db1353.dbx4.3
    ZV Z1
    U FALSE
    ZV Z1
    Last edited by oliver.tonn; 29.06.2020 at 14:46.

  9. #7
    Join Date
    06.11.2008
    Location
    Steinhagen
    Posts
    843
    Danke
    161
    Erhielt 113 Danke für 104 Beiträge

    Default

    Moin Shitmaster,

    der Flankenwechsel wird für die Dauer eines Zyklus erkannt. In diesem einen Zyklus wird der gesamte Code (mit Ausnahmen, die hier aber nichts zu Sache tun) durchlaufen. D.h. JEDES Netzwerk kann nur den GLEICHEN Zustand des Flankenbits abfragen.
    Innerhalb EINES Zyklus ist jedes Deiner Flankenbits TRUE. Für den Zählerbaustein sieht es so aus, dass es keine Signaländerung am Zähleingang gibt.

    Kannst Du nicht einfach den Zählwert ändern? Also bei einer Flanke 3 dazuzählen. Oder gar keinen Zähler verwenden, sondern einen Wert inkrementieren. Mit den Flankenmerkern das Inkrementieren überspringen und wenn der jeweilige Flankenmerker TRUE ist, inkrementieren:
    Code:
    U #Fanke_1
    SPBN M001
    
    L #Wert
    L 1
    +I
    T #Wert
    
    M001: nop 0
    
    
    
    U #Fanke_2
    SPBN M002
    
    L #Wert
    L 1
    +I
    T #Wert
    
    M002: nop 0
    
    
    
    U #Fanke_3
    SPBN M003
    
    L #Wert
    L 1
    +I
    T #Wert
    
    M003: nop 0
    VG

    MFreiberger
    _____________________________________________
    Zwei Aussagen, die man nicht ungeprüft hinnehmen sollte:
    - "Das machen wir schon immer so!"
    - "Das machen die Anderen auch so!"

  10. #8
    Join Date
    22.06.2009
    Location
    Sassnitz
    Posts
    15,335
    Danke
    1,266
    Erhielt 4,512 Danke für 3,639 Beiträge

    Default

    Quote Originally Posted by Shitmaster View Post
    Und warum hilft es dann nichts wenn ich es auf mehrere Netzwerke aufteile?
    Der Zähler-Zähleingang muß einen Signalwechsel 0-1 und auch wieder 1-0 mitbekommen. Wenn man einen Zähler zweimal nacheinander mit dem selben Zustand am Zähleingang aufruft (egal ob in mehreren Zyklen oder im selben Zyklus), dann zählt er beim zweiten Mal nicht. Man muß dem Zähler zwischendurch einen Eingangszustand = 0 präsentieren, notfalls z.B. so:
    Code:
    U db1353.dbx4.1   //Zählsignal, darf nur 1 Zyklus lang 1 sein!
    ZV Z1             //Aufruf mit Zählsignal
    CLR               //VKE = 0
    ZV Z1             //Aufruf mit Zähleingang = 0
    
    U db1353.dbx4.2
    ZV Z1
    CLR
    ZV Z1
    
    U db1353.dbx4.3
    ZV Z1
    CLR
    ZV Z1
    Programmierst Du in FUP/KOP oder AWL?
    In AWL ginge es auch so:
    Code:
    U db1353.dbx4.1
    ZV Z1
    FR Z1
    
    U db1353.dbx4.2
    ZV Z1
    FR Z1
    
    U db1353.dbx4.3
    ZV Z1
    FR Z1
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  11. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Shitmaster (30.06.2020)

  12. #9
    Join Date
    25.06.2017
    Location
    Oerlinghausen
    Posts
    2,631
    Danke
    280
    Erhielt 500 Danke für 413 Beiträge

    Default

    Ggfs muss man dafür sorgen, dass keiner der drei ZählImpulse länger als 1 Zyklus ansteht, sonst werden sie mehrfach gezählt durch die "vorgetäuschten" Flanken.

    Edit:
    Sorry Harald, das hast Du schon im Kommentar Deines Code gesagt.
    Aber doppelt hält eben besser - man kann es nicht oft genug betonen.
    Last edited by Heinileini; 29.06.2020 at 16:16.

  13. Folgender Benutzer sagt Danke zu Heinileini für den nützlichen Beitrag:

    oliver.tonn (29.06.2020)

  14. #10
    Shitmaster is offline Neuer Benutzer
    Themenstarter
    Join Date
    29.06.2020
    Posts
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Default


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Boa, vielen Danke für die schnelle Hilfe.
    Habs hinbekommen.

    Aber eine Frage hab ich noch:

    Wenn ich es so mache funktioniert es einwandfrei:
    Quote Originally Posted by PN/DP View Post
    U db1353.dbx4.1
    ZV Z1
    CLR
    ZV Z1

    U db1353.dbx4.2
    ZV Z1
    CLR
    ZV Z1

    U db1353.dbx4.3
    ZV Z1
    CLR
    ZV Z1
    Wenn ich es so realiesieren will,
    Quote Originally Posted by PN/DP View Post
    Code:
    U db1353.dbx4.1
    ZV Z1
    FR Z1
    
    U db1353.dbx4.2
    ZV Z1
    FR Z1
    
    U db1353.dbx4.3
    ZV Z1
    FR Z1
    klappt es nur bedingt

    Es werden dann immer nur zwei anstatt drei gezählt.

    Ich habe es zum Test mal so aussehen lassen:
    Code:
    M1.0  
    ZV Z1
    FR Z1
    
    M1.0
    ZV Z1
    FR Z1
    
    M1.0
    ZV Z1
    FR Z1

    M1.0 ist hierbei eine manuell generierte Flanke.


    Aber warum wird das dritte mal nicht gezählt?
    Der Zähler zählt immer zwei dazu, auch wenn ich die drei Programmzeilen noch ein paar mal einfüge.

    Habe es dann noch mal so gestestet:
    Code:
    M1.0
    ZV Z1             
    CLR               
    ZV Z1
    
    M1.0
    ZV Z1             
    CLR               
    ZV Z1
    
    M1.0
    ZV Z1             
    CLR               
    ZV Z1
    
    M1.0
    ZV Z1             
    CLR               
    ZV Z1
     
    M1.0  
    ZV Z1
    FR Z1
    
    M1.0
    ZV Z1
    FR Z1
    
    M1.0
    ZV Z1
    FR Z1
    
    M1.0
    ZV Z1
    FR Z1
    Ergebniss: Der Zähler zählt sechs dazu, anstatt acht.

    Warum?
    Was übersehe ich jetzt wieder?

Similar Threads

  1. Step 7 FM350-1 endlos zählen. Zähler Reset.
    By Martin L. in forum Simatic
    Replies: 8
    Last Post: 20.08.2018, 21:35
  2. Step 7 Zählen ohne Zähler
    By Matze2202 in forum Simatic
    Replies: 15
    Last Post: 11.08.2015, 12:30
  3. Step 7 Zählen ohne Zähler an einer Schranke
    By caxzy in forum Simatic
    Replies: 4
    Last Post: 04.11.2014, 17:34
  4. mit Zähler ins Minus zählen
    By Pockebrd in forum Simatic
    Replies: 20
    Last Post: 22.12.2011, 19:35
  5. Zähler soll nur bis 11 zählen
    By Benno1989 in forum Simatic
    Replies: 8
    Last Post: 12.11.2009, 08:34

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •