Speichernder Timer

Deep Blue

Level-2
Beiträge
431
Reaktionspunkte
17
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich möchte gerne für eine Maschine ( mit 300´er CPU)einen Timer programmieren der, sobald ich Ihn starte anfängt zu zählen und wenn der Startbefehl unterbrochen wird aufhört. Nun kommt für mich die Sackgasse: Sobald ich wieder den Eingang des Timers belege soll er von dort weiter herunter zählen, wo ich ihn gestoppt habe. :confused: Step 7 bietet mir keinen Timer, der das kann. Meine Überlegung ist nun die, über einen Zähler und der Systemzeit runter zu zählen. Sobald das VKE dann 0 ist, überspringt der Zähler seine Arbeit und nimmt Sie bei VKE 1 wieder auf. Ich bekomm es aber nicht hin! Wer kann mir helfen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Volker, genau das was ich suchte. Aber wieso geht, wenn ich auf Deiner Seite bin, meine Online LED vom Modem nicht mehr aus? Sonst geht es immer auf Standby, auf Deiner Seite nicht :confused::mad:
 
keine ahnung. kann gut sein, das das der ticker ist. der ist ein java-applet.

modem hab ich, glaub ich, das letzte mal vor 5 jahren benutzt. :p
 
Zuviel Werbung?
-> Hier kostenlos registrieren
War natürlich nicht böse gemeint! Ich habe aber trotzdem noch mal eine Frage an Dich, Volker. Wenn ich den Timer unterbreche und danach wieder starte läuft nach dem Start T1 kurz ab (1Sek.). Wo kann ich diese Zeit ändern. Habe Sie im OB und FC nicht gefunden ??? Oder war mal wieder zu blöd zum suchen :D P.S. Es ist ein DSL Modem 6000 Kb. :p :p :p
 
SPB M003
L W#16#100 <=== Zeitbasis 0100 * 0,01sek
T #HI_W

habe den baustein mal für s5 geschrieben. dort läuft der einwandfrei. der ist nur nach s7 übersetzt. eingesetzt habe ich den unter s7 noch nie.
habe den eben mal getestet und festgestellt, das der nicht richtig funktioniert.

hier mal eine fuktionsfähige version.
Code:
FUNCTION FC 1 : VOID
TITLE =
VERSION : 0.1

VAR_INPUT
  Takt : BOOL ; 
  Start : BOOL ; 
  Zeitwert : INT ; 
  Reset : BOOL ; 
END_VAR
VAR_OUTPUT
  Restzeit : INT ; 
  Out : BOOL ; 
END_VAR
BEGIN
NETWORK
TITLE =
      UN    #Takt; 
      ON    #Start; 
      O     #Out; 
      SPB   no; 
      L     #Restzeit; 
      L     1; 
      -I    ; 
      T     #Restzeit; 
no:   L     #Restzeit; 
      L     0; 
      ==I   ; 
      =     #Out; 
      U(    ; 
      L     #Restzeit; 
      L     0; 
      ==I   ; 
      )     ; 
      UN    #Start; 
      O     #Reset; 
      SPBN  nore; 
      L     #Zeitwert; 
      T     #Restzeit; 
nore: NOP   0; 
NETWORK
TITLE =
 

END_FUNCTION
ORGANIZATION_BLOCK OB 1
TITLE = "Main Program Sweep (Cycle)"
VERSION : 0.1

VAR_TEMP
  OB1_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
  OB1_SCAN_1 : BYTE ; //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
  OB1_PRIORITY : BYTE ; //Priority of OB Execution
  OB1_OB_NUMBR : BYTE ; //1 (Organization block 1, OB1)
  OB1_RESERVED_1 : BYTE ; //Reserved for system
  OB1_RESERVED_2 : BYTE ; //Reserved for system
  OB1_PREV_CYCLE : INT ; //Cycle time of previous OB1 scan (milliseconds)
  OB1_MIN_CYCLE : INT ; //Minimum cycle time of OB1 (milliseconds)
  OB1_MAX_CYCLE : INT ; //Maximum cycle time of OB1 (milliseconds)
  OB1_DATE_TIME : DATE_AND_TIME ; //Date and time OB1 started
END_VAR
BEGIN
NETWORK
TITLE =
      UN    M      2.0; 
      L     S5T#100MS; 
      SE    T      2; 
      NOP   0; 
      NOP   0; 
      NOP   0; 
      U     T      2; 
      =     M      2.0; 
NETWORK
TITLE =
      U     M      2.0; 
      =     L     20.0; 
      BLD   103; 
      U     M      2.1; 
      =     L     20.1; 
      BLD   103; 
      U     M      2.2; 
      =     L     20.2; 
      BLD   103; 
      CALL FC     1 (
           Takt                     := L     20.0,
           Start                    := L     20.1,
           Zeitwert                 := 60,
           Reset                    := L     20.2,
           Restzeit                 := MW    20,
           Out                      := M      2.4);
      NOP   0; 
END_ORGANIZATION_BLOCK
 
:) Meine Frage geht nun weiter: ich habe den Quelltext unter Quellen gespeichert. Wie erwecke ich Ihn nun zum leben, sprich: Wo muss ich die Quelle einfügen, um mal etwas zu sehen? Benutze zum programmieren Step 7 Ver. 5.3, zum simulieren aber WinSPS S7 Ver.3. Ich habe sowas vorher mit Quellen noch nicht gemacht, deswegen die Fragerei. Bin eher ein FUP Fehlersucher gewesen, muss mich jetzt aber beruflich immer mehr mit AWL Programmierung auseinander setzen. Da habe ich leider im Moment immer wieder Schwierigkeiten, bestimmte Sachen zu verstehen. Übt Nachsicht :) :) :)
 
Zurück
Oben