S7/300 Zähler bis 30000 mit Vorwärts und rückwärtszählen

Lorenzi

Level-1
Beiträge
28
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!
Ich hab mit den S7 Zählern das Problem, daß sie einfach nicht weit genug zählen. Daher suche ich mehrere Zähler die bis 30000 zählen können und das mit vorwärts und rückwärtszählen. Ich weiß daß es in der CPU Einen Zähler gibt der das kann, aber keine Ahnung wie man den aktiviert und ob man ihn auch öfters verwenden kann.

P.S.: Anwendung: Eiersortieranlage mit 5 Eigrößen. Reflexlichtschranke erkennt Eier die vorbeifahren (max. 3 Stk.) und zählt vorwärts; dann wird gewogen (Eier werden nach Gewicht sortiert) darauf werden die Eier die schwer genug sind ausgestoßen und die verbleibenden fahren zu den nächsten mechanischen Waagen. Dort sitzt die nächste reflexlichtschranke die wiederum max. 3 Eier erkennt und am Zählereingang rückwärtszählen angeschlossen ist. Der Differenzbetrag ist die Stückzahl der jeweiligen Eigröße. Die Hardware funktioniert tatsächlich schon!

Danke im Voraus Lorenzi!
 
Bau dir selbst einen Zähler.
Einfach ein INT oder DINT hochzählen.
Das hatten wir schon zig-mal hier im Forum.
Bemühe mal die Suche.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!
Ich hab mit den S7 Zählern das Problem, daß sie einfach nicht weit genug zählen. Daher suche ich mehrere Zähler die bis 30000 zählen können und das mit vorwärts und rückwärtszählen. Lorenzi!
Hi Lorenzi,

vergiss doch die Zähler:
Code:
   U E #Ei
   FP M 10.0
   SPBN K_EI
   L DB1.DBD 0
   L 1
   +D
   T DB1.DBD 0
K_EI: NOP 0
// Das gleiche zum zurückzählen
 
Hallo!
Das mit dem Hochzählen ist ja nicht das Problem. Weiß aber leider nicht wie man wieder runterzählt.
Grüße Lorenz
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Lorenzi (und alle anderen)

Da ich noch keine Vorstellungsrunde entdeckt habe beginne ich mit einem einfachen Hallo und einem kleinen Beitrag.

Ich weiß nicht ob das die beste Möglichkeit ist aber ich mach das immer so:

Code:
          // Vorwaertszaehlen
          U "Zaehlen_Vorwaerts" (beliebiges Zählbit)
          FP "HM1"
          SPBN NEX1
          L "Zaehler" (Entweder Merkerwort / -doppelwort oder INT/DINT in  einem DB)
          L 1
          +I
          T "Zaehler"
 
NEX1:  // Rueckwaertszaehlen
          U "Zaehlen_Rueckwaerts" (beliebiges Zählbit)
          FP "HM2"
          SPBN NEX2
          L "Zaehler" (Entweder Merkerwort / -doppelwort oder INT/DINT in  einem DB)
          L 1
          -I
          T "Zaehler"
NEX2:  BE

Ein INT sollte reichen, geht so bis +/- 32000. Ein DINT sogar bis irgendwas mit 2 Milliarden.

Ich hoffe das hilft ein bisschen.

Gruß Christian

Edit: Au weia, da war schon wer schneller. Ich sollte mir nicht immer so viel Zeit beim Tippen lassen :)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo! Zähler läuft und ich hab ein bisschen dran rumgebastelt:

FC1
Netzwerk1:
// Vorwaertszaehlen
U "Zaehlen_Vorwaerts" (beliebiges Zählbit)
FP "HM1"
SPBN NEX1
L "Zaehler" (Entweder Merkerwort / -doppelwort oder INT/DINT in einem DB)
L 1
+I
T "Zaehler"

NEX1: // Rueckwaertszaehlen
U "Zaehlen_Rueckwaerts" (beliebiges Zählbit)
FP "HM2"
SPBN NEX2
L "Zaehler" (Entweder Merkerwort / -doppelwort oder INT/DINT in einem DB)
L 1
-I
T "Zaehler"
NEX2: // Reset
U "Rücksetzmerker"
FP "HM3"
SPBN NEX3
L "Zaehler" (Entweder Merkerwort / -doppelwort oder INT/DINT in einem DB)
L 0
T "Zaehler"
NEX3: BE


Hab den Zähler ums Rücksetzen erweitert. Weiß nicht ob es ganz lupenrein ist, aber bei mir klappts. Bin mir nicht sicher ob der Schritt L "Zaehler" vor L 0 notwendig ist. Danke fürs helfen und liebe Grüße Lorenzi
 
Moin , ich bin gerade bei meiner abschlussprüfung und habe das selbige problem mit dem Zähler.
Ihr habt das alles ja so schön in AWL dahin geschrieben aber in AWL bin ich jetzt nicht gerade der Profi und meine SPS kann mit AWL leider auch nichts anfangen daher wäre es wirklich schön wenn einer mir das ganze mal in Fub schreiben könnte =)
und ein paar erklärungen dazu damit ich in der doku auch weiß was ich da schreibe :p
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Wenn deine SPS mit AWL nichts anfangen kann, dann verwendest du keine S7.

Außerdem:
Wenn du hier schon ein bischen mitgelesen hast solltest du wissen das es hier
äußerst schlecht ankommt zu sagen:
Mach mir mal meine Hausaufgaben und schreib noch eine Erklärung dazu, falls
der Lehrer mich was fragt.
Wenn du Abschlußprüfung machen willst solltest du solche Probleme eigentlich
im Schlaf lösen können.
 
Hallo
Wenn deine SPS mit AWL nichts anfangen kann, dann verwendest du keine S7.

vielleicht hat er S7-1200. ( TIA-Portal, hat doch kein AWL, oder?)

Außerdem:
Wenn du hier schon ein bischen mitgelesen hast solltest du wissen das es hier
äußerst schlecht ankommt zu sagen:
Mach mir mal meine Hausaufgaben und schreib noch eine Erklärung dazu, falls
der Lehrer mich was fragt.
Wenn du Abschlußprüfung machen willst solltest du solche Probleme eigentlich
im Schlaf lösen können.

*ACK*
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Richtig es ist keine s7 :p
Naja Hausaufgabe nenne ich es ja nicht es ist meine abschlussprüfung da aber mein wissen in SPS durch die Ausbildung schon sich meist als gefährliches halbwissen erweist dachte ich mir das mir hier jemand vielleicht helfen würde.
Da ich mich mit den speziellen funktionen der SPS nicht auskenne da mein ansatz nur wäre mit Standartzählern jede ziffer einzelt zuzählen um dann das ganze zusammen zuzählen was ich aber nicht so wirklich professionel finde und zudem netzwerke ohne ende ergibt und zudem ewig in der Programierung dauert.
Daher meien Hausaufgaben dazu habe ich gemacht nur AWl lernt man heutzutage nicht in der Schule sondern nur noch KOP Und FUB daher immer wenn AWL kommt und es speziel wird gerät jeder Azubi ins schwimmen :p
also wer sich bereit erklärt mir ein wenig auf fragen zuantworten und zuhelfen warum etwas so ist wie es ist wäre ich wirklich sehr dankbar=)
 
welche sps ich genau vor mir haben werde weiß ich nicht mein meister hat sie bestellt aber als ich ihn fragt welche es sein wüsste er nicht und soll ich dann herrausfinden wenn sie da ist . da ich das programm vorher aber schon schreiben soll hab er mir die information wie ich sie zuprogramieren haben , da ich ja nicht von jeder programiersprache in eine andere übersetzten kann.
habe schon gegoogelt um was zufinden aber so recht habe ich nichts gefunden was mir da weiterhilft.
 
Deswegen habe ich Dir den Link gegeben... Du hast doch bestimmt noch 5 oder 6 Wochen Zeit, bis die Doku fertig sein muss, oder!? Versuche mal die paar Befehle oben mit Hilfe der Seite aufzudröseln. Das ist erstens nicht schwer und zweitens nicht viel. Wenn Du bestimmte Fragen zu bestimmten Befehlen hast, kannst Du noch mal fragen kommen.
Ich bin auch "nur" Mechatroniker und kein AWL-Held, aber sowas bekomme sogar ich noch hin!

Gruß,

dia
 
Zurück
Oben