Step 5 Speichern von Zählerwerten und Auswertung

Lyieldan

Level-1
Beiträge
5
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen zusammen,

ich habe Folgende Situation:
Ich habe 3 Zähler, die hochzählen, sobald ein Produkt erkannt wird.
Diese Werte muss ich bei jedem neuen Takt sichern, da diese erst 2 Takte später gebraucht werden.
Daher habe ich gedacht, dass ich Merkerwörter als Zwischenspeicher nutze.

Ohne das Zwischenspeichern, Funktioniert die Zählung und das Laden bzw. Transferieren für alle Zähler gleich und fehlerfrei. Ein Takt bestehlt aus 16 Positiven Flanken.
Mit Zwischenspeichern haben alle Merkerwörter unterschiedliche Werte, obwohl alle Zähler sauber funktionieren (siehe Bilder).

Jemand eine Idee was ich falsch mache? Oder besser einen FB erstellen mit einem Zähler, der 3x im OB aufgerufen wird??

VG
 

Anhänge

  • IMG_0124.jpeg
    IMG_0124.jpeg
    3,5 MB · Aufrufe: 26
  • IMG_0126.jpeg
    IMG_0126.jpeg
    3,2 MB · Aufrufe: 26
  • IMG_0127.jpeg
    IMG_0127.jpeg
    3,3 MB · Aufrufe: 27
Du musst mit positiven Flanken zählen ( 1 Zyklus) ansonsten wird bei jedem Zyklus hochgezählt solange das vke 1 ist
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die Zähler sind nicht das Problem. Die Positive Flanke erhalten sie und haben einen Zählwert zwischen 0 und 16. Maximal 16 Produkte pro Takt. Allerdings habe ich das Problem, dass diese Werte nicht sauber in die Merkerwörter 200 und 202 transferiert werden. Im Bild sieht man in MW200 den Wert 768, obwohl der Zähler 11 zum Zeitpunkt des Transferierens den Wert 10 hat. Komisch ist, dass Zähler 13 nach MW 204 sauber arbeitet. Ich habe die Probleme an Zähler 11 nach MW 200 und Zähler 12 nach MW 202.
 
Zuletzt bearbeitet:
Ich meine mich zu erinnern, dass bei der S5 gerne die MW's ab 200 als Schniermerker an verschiedenen Stellen im Programm eingesetzt worden sind. Hast du bei dir mal die Querverweise der relevanten M's gecheckt ? Beachte bitte : MW200 beinhaltet die MB200 und 201 und die Merker M200.0 bis M201.7 - gleiches gilt dann natürlich auch für deine anderen MW's.

Etwas was mir noch aufgefallen ist : du transferierst dein MW200 in das MW105 - das geht natürlich ... man macht das aber eigentlich nicht (wegen der schon genannten Überlappung).
 
Laut Querverweise werden die Merker sonst nirgends benutzt.
Ich muss die gespeicherten Werte der Zähler für 2 weitere Takte zwischenspeichern, da ich erst 3 Takte nach Scan, diese auswerten kann.
Daher dachte ich an Übergabe weiterer Merker in jedem Takt, also als eine Art "Schieberegister".
Wenn es saubere Ansätze gibt, gerne her damit :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt auch bei der S5 so etwas wie Pointer-Zugriffe. Die siehst du dann nicht in den Querverweisen.
Dein gedachtes "Schieberegister" würde ich mit einem Datenbaustein (DB) lösen. Dann kannst du auch sicher sein, wenn du einen neuen erzeugst, dass nur du den verwendest ...
 
Zurück
Oben