zähler parametrieren

Noudels

Level-1
Beiträge
31
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
zählen bis 4 und vergleichen..

mal wieder die standard fragen von einem parade DAU..

ich brauch einen zähler der bis vier zählt, und wenn er vier erreicht hat soll ein ereignis ausgelöst werden..

mein problem bestet unter anderem

was ist in <#Cwert>

und Q gibt eins aus,
wenn der wert von ZV gleich ist wie der voreingestellte
oder wenn 999 gezählt wurde oder ?
 
der q ist immer 1 solange der zähler <> 0 ist.

deshalb ist es einfacher rückwärts zu zählen. dann kannst du dir den vergleicher sparen.

Code:
      U     M      1.0
      ZR    Z      1
      BLD   101
      U     M      1.1
      L     C#4
      S     Z      1
      NOP   0
      NOP   0
      NOP   0
      U     Z      1
      =     M      2.0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
      U     "M0.1"
      ZR    Z      1
      BLD   101
      U     "M0.1"
      L     C#2
      S     Z      1
      U     "Start"
      R     Z      1
      NOP   0
      NOP   0
      U     Z      1

hmm irgendwie zählt der nicht, zumindest wird der ausgang nie 0 ( und das würde er ja werden wenn zähler 0 ist..
ich glaub ich hab den fehler beim eingang S dem zum voreinstellen des zählers.. was sollte dort anliegen?
 
ZR = Zähle rückwärts
S = Setze Zähler auf Wert
R = Rücksetze Zähler

Der Zähler zählt mit einer Flanke an ZR um 1 zurück, aber nur, wenn am S-Eingang keine 1 anliegt. Also kannst du nicht mit M0.1 gleichzeitig setzen und zurückzählen, was ohenhin keinen Sinn ergiebt.
 
ähm aber der zähler hat ja schon einen wert...

das würde bedeuten ich muss mit dem wert an S den zähler wie einschalten

okey das ist ja schonmal was

Aber Q ist solange 1 solange der ausgang ungleich null ist..

bei mir ist der ausgang nie 1 ... nichtmal nachdem ich starte..
daher setzt der zähler nicht auf seinen anfangswert von 4...?

denn bei 4 sollte Q ja schon 1 sein
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In einem muß ich mich korrigieren, auch der S-Eingang wir mit einer 0/1-Flanke aktiv, das Ergebnis ist aber bei dir das Gleiche, Flanke an S und ZR gleichzeitig bringt nichts.
Nimm Volkers Beispiel.
M1.1 setze den Zähler mit jedem Einschalten des Merkers
M1.0 zählt ihn Rückwärts mit jedem Einschalten des Merkers
M2.0 ist solange 1, bis Z1 aud Null gezählt ist.
 
Gut

M1.1 muss ich einmal ausführen um den Zähler auf wert zu setzen
wenn ich den ablauf starte wird merker 1.1 bei mir gestzt.. zwar nur solang wie ich die start taste drücke aber er wird gesetzt ( und eine steigende flanke reicht ja aus

gut m1.0 ist sowieso mein kran.. der wird ausgeführt


genau so hab ichs gesetzt und er zählt nicht
 
ich mein die weniger schöne variante
wäre eine

einschaltverzögerung die genau so lang ist wie die 4 zyklen des krans..

und die dann den kran einfach abdreht..


das find ich aber eher nur als notlösung verwendbar...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mach das bloss nicht mit ner zeit.

hier ein einfaches beispiel.
ist eine awl-quelle
Code:
FUNCTION FC 1 : VOID
TITLE =
VERSION : 0.1

BEGIN
NETWORK
TITLE =s1 heben

      U(    ; 
      U(    ; 
      U     E      1.0; 
      U     M     10.1; 
      UN    M      3.0; 
      O     M      1.7; 
      )     ; 
      U     Z      1; 
      S     M      1.1; 
      U(    ; 
      ON    M     10.0; 
      O     M      1.2; 
      )     ; 
      R     M      1.1; 
      U     M      1.1; 
      )     ; 
      S     M      3.0; 
      U(    ; 
      ON    M     10.0; 
      ON    Z      1; 
      )     ; 
      R     M      3.0; 
      NOP   0; 
NETWORK
TITLE =s2 fahren rechts

      U     M      1.1; 
      U     E      1.1; 
      S     M      1.2; 
      U(    ; 
      ON    M     10.0; 
      O     M      1.3; 
      )     ; 
      R     M      1.2; 
      NOP   0; 
NETWORK
TITLE =s3 senken

      U     M      1.2; 
      U     E      1.2; 
      S     M      1.3; 
      U(    ; 
      ON    M     10.0; 
      O     M      1.4; 
      )     ; 
      R     M      1.3; 
      NOP   0; 
NETWORK
TITLE =s4 heben

      U     M      1.3; 
      U     E      1.3; 
      S     M      1.4; 
      U(    ; 
      ON    M     10.0; 
      O     M      1.5; 
      )     ; 
      R     M      1.4; 
      NOP   0; 
NETWORK
TITLE =s5 fahren links

      U     M      1.4; 
      U     E      1.1; 
      S     M      1.5; 
      U(    ; 
      ON    M     10.0; 
      O     M      1.6; 
      )     ; 
      R     M      1.5; 
      NOP   0; 
NETWORK
TITLE =s6 senken

      U     M      1.5; 
      U     E      1.1; 
      S     M      1.6; 
      U(    ; 
      ON    M     10.0; 
      O     M      1.7; 
      )     ; 
      R     M      1.6; 
      NOP   0; 
NETWORK
TITLE =s7 kette ende

      U     M      1.6; 
      S     M      1.7; 
      U(    ; 
      ON    M     10.0; 
      O     M      1.1; 
      ON    Z      1; 
      )     ; 
      R     M      1.7; 
      NOP   0; 
NETWORK
TITLE =wie oft ?

      U     M      1.7; 
      ZR    Z      1; 
      BLD   101; 
      U     E      1.0; 
      UN    M      3.0; 
      L     C#4; 
      S     Z      1; 
      NOP   0; 
      NOP   0; 
      NOP   0; 
      NOP   0; 
END_FUNCTION
die zl dazu

start E 1.0 BOOL
oben E 1.1 BOOL
rechts E 1.2 BOOL
unten E 1.3 BOOL
s1 heben M 1.1 BOOL
s2 fahren rechts M 1.2 BOOL
s3 senken M 1.3 BOOL
s4 heben M 1.4 BOOL
s5 fahren links M 1.5 BOOL
s6 senken M 1.6 BOOL
s7 kette ende M 1.7 BOOL
auto läuft M 3.0 BOOL
freigabe M 10.0 BOOL
grundstellung M 10.1 BOOL
 
Zurück
Oben