Zykluszeiten auf Leuchtanzeige darstellen

Zuviel Werbung?
-> Hier kostenlos registrieren
DAnke nochmal, und schon die nächste Frage (sorry):
wenn ich NW 1 und 2 programmiere, zählt MW10 hoch, sobald ich NW 3 dazuprogrammiere läuft nichts mehr?
bzw. wann kommt denn die abfallende Flanke von M20.0?
 
Zuletzt bearbeitet:
NW3 Aktuelle Zeit in den DB schreiben und
weiterschieben

Code:
  U     E      0.0
      O(    
      L     MW    10
      L     0
      ==I   
      )     
      SPB   end1
      AUF   "ZykluszeitSpeicher"
      L     DBW    8
      T     DBW   10
      L     DBW    6
      T     DBW    8
      L     DBW    4
      T     DBW    6
      L     DBW    2
      T     DBW    4
      L     MW    10
      T     DBW    2
end1: U     E      0.0
      FN    M     20.0
      SPBN  end2
      L     0
      T     MW    10
end2: NOP   0

was hängt bei dir an e0.0?

mfg

edit: naja, is eigentlich egal, was da anliegt. verstehs grad auch nich ganz... schon mal auf schreibfehler untersucht?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
eine kleine frage.hast du das merkerbyte schon irgendwo anders im programm belegt??
denn bei mir läuft das alles ohne probleme.
habe es aber nur mit plcsim getestet.

der merker M 20.0 kommt wenn E0.0 von 1 auf 0 wechselt

FN=Flanke Negativ
 
wieso? dann wird das mw nur nicht auf null gesetzt. läuft halt immer weiter hoch.
oder hab ich da jetzt einen denkfehler??
 
Zuviel Werbung?
-> Hier kostenlos registrieren
so habe ich es programmiert:
Code:
NW1
  UN    M      0.0
      L     S5T#1S
      SE    T      1
      U     T      1
      =     M      0.0
NW2
      U     E     10.0
      U     M      0.0
      SPBN  end
      L     MW    10
      L     1
      +I    
      T     MW    10
end:  NOP   0
NW3
  U     E     10.0
      O(    
      L     MW    10
      L     0
      ==I   
      )     
      SPB   end1
      AUF   DB    10
      L     DBW    8
      T     DBW   10
      L     DBW    6
      T     DBW    8
      L     DBW    4
      T     DBW    6
      L     DBW    2
      T     DBW    4
      L     MW    10
      T     DBW    2
end1: U     E     10.0
      FN    M     20.0
      SPB   end2
      L     0
      T     MW    10
end2: NOP   0
grundsätzlich noch eine Frage zum E10.0:
Es sollte ja so laufen, dass bei einem Start-Trigger (E10.0) die Zykluszeit startet und bei erneutem Triggern die letzte Zykluszeit im DB gespeichert und erneut gestartet wird.

edit: habe gerade noch mal nachgesehen: der M20.0 wird "1" bzw. "0" mit E10.0
 

Anhänge

  • Clipboard01.jpg
    Clipboard01.jpg
    32 KB · Aufrufe: 5
Zuletzt bearbeitet:
Code:
  NW1 
UN M 0.0 L 
S5T#1S 
SE T 1 
U T 1 
= M 0.0
NW2 
U E 10.0 
U M 0.0 
SPBN end 
L MW 10 
L 1 
+I 
T MW 10
end: NOP 0
NW3 
U E 10.0 
O( 
L MW 10 
L 0 
==I 
) 
SPB end1 
AUF DB 10 
L DBW 8 
T DBW 10 
L DBW 6 
T DBW 8 
L DBW 4 
T DBW 6 
L DBW 2 
T DBW 4 
L MW 10 
T DBW 2
end1:
U E 10.0 
FN M 20.0 
SPB[COLOR=red]N[/COLOR] end2 //dann funktioniert es 
L 0 
T MW 10
end2: NOP 0

SPBN end2 ist richtig
also solange e10.0 1 ist wird die zeit hochgezählt und wenn du das signal wegnimmst wird der wert in den db geschrieben und das mw wieder auf 0 gesetzt.
 
Zuletzt bearbeitet:
Zurück
Oben