Startbefehl für Zähler

breno

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

wenn ich den unten gezeigten Code über PLCSIM mit E0.0 starte läuft der programmierte Zähler nicht los.Besitz in meinem Programm mehrer FC´s in denen sich so ein Zähler befindet.Die andere funktionieren genauso so wenig. Kann mir jemand sagen an was das liegt?


Code:
      U     #bAnforderung               //E0.0
      SPB   BEG
      SPA   END
BEG:  U     #mZeittakt                  //SekundenFlag (Taktmerker-Bit 5)
      L     #iCounter
      L     1
      +I    
      T     #iCounter
      L     #iSollwert                  //Vorgabe 10
      >=I   
      =     #bVerzoegert
END:  L     0
      T     #iCounter
 
Hallo,

wenn ich den unten gezeigten Code über PLCSIM mit E0.0 starte läuft der programmierte Zähler nicht los.Besitz in meinem Programm mehrer FC´s in denen sich so ein Zähler befindet.Die andere funktionieren genauso so wenig. Kann mir jemand sagen an was das liegt?


Code:
      U     #bAnforderung               //E0.0
      SPB   BEG
      SPA   END
BEG:  U     #mZeittakt                  //SekundenFlag (Taktmerker-Bit 5)
      L     #iCounter
      L     1
      +I    
      T     #iCounter
      L     #iSollwert                  //Vorgabe 10
      >=I   
      =     #bVerzoegert
END: [COLOR=Red] L     0
      T     #iCounter[/COLOR]

In deinen zähler (#iCounter) wird in jedem Zyklus die 0 geschrieben.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

so wäre es richtig...

Code:
      U     #bAnforderung               //E0.0
      SPB   BEG
      SPA   END
BEG:  U     #mZeittakt                  //SekundenFlag (Taktmerker-Bit 5)
      L     #iCounter
      L     1
      +I    
      T     #iCounter
      L     #iSollwert                  //Vorgabe 10
      >=I   
      =     #bVerzoegert
[COLOR=red]      BEA[/COLOR]
END:  L     0
      T     #iCounter

Gruß

PhilippL
 
Hallo,

wenn ich den unten gezeigten Code über PLCSIM mit E0.0 starte läuft der programmierte Zähler nicht los.Besitz in meinem Programm mehrer FC´s in denen sich so ein Zähler befindet.Die andere funktionieren genauso so wenig. Kann mir jemand sagen an was das liegt?


Code:
      U     #bAnforderung               //E0.0
      SPB   BEG
      SPA   END
BEG:  U     #mZeittakt                  //SekundenFlag (Taktmerker-Bit 5)
      L     #iCounter
      L     1
      +I    
      T     #iCounter
      L     #iSollwert                  //Vorgabe 10
      >=I   
      =     #bVerzoegert
END:  L     0
      T     #iCounter

Wenn du die Sekunden zählen willst musst du den Sekundentakt auf positive Flanke abfragen
sonst zählt der in jeden Zyklus in dem der Sekundentakt "true" ist.
 
Alles klar hab eure Message verstanden!
Zähler wird aber weiterhin nicht gestartet obwohl E0.0 true ist!
Sekundentakt wurde auf positive Flanke im OB1 abgefragt

Code:
U     "mSekundenBit"              Sekundentakt
FP    "mHmSekFlag"
=     "mSekundenFlag"

Code:
     U     #bAnforderung               //E0.0
      SPB   INK1
      SPA   RES1
INK1: U     #mZeittakt                  //mSekundenflag
      SPBN  M001
      L     #iCounter
      L     1
      +I    
      T     #iCounter
M001: L     #iSollwert
      >=I   
      =     #bVerzoegert
      BEA   
RES1: L     0
      T     #iCounter


mfg breno
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Code:
      U     #mZeittakt                  //SekundenFlag (Taktmerker-Bit 5)
      FP    #Flankenmerker              //positive Flanke abfragen
      U     #bAnforderung               //E0.0
      SPBN  M001

      L     #iCounter
      +     1
      T     #iCounter


M001: L     #iSollwert                  //Vorgabe 10
      >=I   
      =     #bVerzoegert

      U     #bAnforderung               //Wenn Anforderung
      SPB   M002                        //dann Sprung

      L     0                           //sonst
      T     #iCounter                   //Zähler löschen

M002: NOP   0
wie sind denn die Variablen des FC definiert?
IN ; IN/OUT ; OUT oder Temp?
 
hab meine Deklarationen abgeändert --> jetzt funktiniert auch der Zähler + Startbefehl.

IN:
bAnforderung
iSollwert
mZeittakt

Out:
bVerzoegert

IN_OUT:
iCounter

Vielen Dank für die Erinnnerung

mfg breno
 
Zurück
Oben