zähler 0 bis 299, danach wieder von 0 bauen

Limette

Level-2
Beiträge
282
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

addierer, vergleicher und subtrahierer einen solchen zähler bauen. das funzt noch nicht so recht. nehme ich statische variablen zu addieren geht die sps wegen bereichslängerfehler in stop(warum ist das so), nehme ich temp, stehe eine zyklus danach phantasiewerte drin. mit dem zählerbaustein von siemens komme ich nicht ganz klar, kann ich es mit ihm auch verwirklichen ?
brauche ich einen Merker oder geht es auch ohne ?
für hilfe wäre ich dankbar.
PS: sorry für die titelwahl.
 
... wegen bereichslängerfehler in stop(warum ist das so), ...

Klingt als würde der CPU der Instanzdb des FBs fehlen.

... mit dem zählerbaustein von siemens komme ich nicht ganz klar, kann ich es mit ihm auch verwirklichen ?
brauche ich einen Merker oder geht es auch ohne ?
....

Nimm ein Merkerwort, zähl das hoch, nachgeschalteter Vergleicher der bei >299 den Wert 0 ins MW schiebt.

Eigentlich ganz einfach.
 
ein merker auf eine (P)Flanke auf einen addierer. trotzdem rennt der addierer bei merker = 1 gefühlt ins unendliche...kann man das händeln ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi !

kurze Hilfe um Mitternacht (hoffentlich richtig):


Nimm ein Merkerwort, zähl das hoch, nachgeschalteter Vergleicher der bei >299 den Wert 0 ins MW schiebt.

//Zählimpuls erkennen
U E0.0
FP M1.0
= M1.1

//Ausprung, wenn kein Impuls
UN M1.1
SPB NEXT

//wenn Flanke, dann hochzählen
L 1
L MW 10
+I
T MW 10

//Prüfung auf 299
L MW 10
L 299
>=I
SPBN NEXT

//auf Null setzen wenn 299 erreicht
L 0
T MW 10

NEXT: NOP 1

Übrigens Bereichlängenfehler:
Entweder DB fehlt (siehe Beitrag #2 von dts) oder DB nicht ausreichend (IDB neu erzeugt ?)
Temp-Vars sind naturgemäss nicht statisch und können durchaus Phantasiewerte annehmen...

Gruss
 
ein merker auf eine (P)Flanke auf einen addierer. trotzdem rennt der addierer bei merker = 1 gefühlt ins unendliche...kann man das händeln ?

Welcher Merker ist die Flanke?
Zeig doch bitte mal was du hast, dann genügt wahrscheinlich ein Blick.
Die Flanke muss ein globaler Merker sein, oder aus dem statischen Bereich.
Dann kann das MW dahinter, oder eine Int-Variable aus dem IN-OUT ohne einer versehentlichen Doppelbelegung nicht ins Unendliche laufen.
 
Zuletzt bearbeitet:
Welcher Merker ist die Flanke?
Zeig doch bitte mal was du hast, dann genügt wahrscheinlich ein Blick.
Die Flanke muss ein globaler Merker sein, oder aus dem statischen Bereich.
Dann kann das MW dahinter, oder eine Int-Variable aus dem IN-OUT ohne einer versehentlichen Doppelbelegung nicht ins Unendliche laufen.

die flanke war bis jetzt "temp". problem erkannt, problem gebannt(oder wie das geht ^^). danke
 
Zurück
Oben