Step 7 Betriebsstundenzähler/strukturierten text

Mohamed

Level-2
Beiträge
76
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen...
ich bin Anfänger programmier und komm jetzt bei einer Aufgabe nicht klar weiter... kann mir bitte jemand diese Code hier unten zum strukturierten text (ST) umwandeln?? wäre sehr nett von euch, da ich es für morgen Brauche.


Code:
FUNCTION FC 

VAR_INPUT
  Takt : BOOL ;    //Takt muss sein: 1 pro Minute
  Reset : BOOL ;    //alle Werte auf Null setzen
  Freigabe : BOOL ;    //wenn 1 zählt der bs-zähler
END_VAR
VAR_IN_OUT
  Tag : INT ;    
  Std : INT ;    
  Min : INT ;    
END_VAR
BEGIN


NETWORK
TITLE = Betriebsstundenzähler
//
//Laest eine Zeit nur weiterlaufen wenn GO = High ist.
//
//  T  Typ: T     = zu verwendende Zeit
// GO  Typ: Bit   = Zeit laeuft wenn High
// TW  Typ: Wort  = Sollzeit  Format: BCD z.B. 3123 fuer 1230 Sekunden
//  R  Typ: Bit   = Zeit Ruecksetzen
// DU  Typ: Wort  = Restzeit Dual codiert
// DE  Typ: Wort  = Restzeit BCD codiert
//OUT  Typ: Bit   = Zeit abgelaufen
//
//
//
      L     B#(31, 3); 
      L     W#16#2000; 
      L     'BY'; 
      L     'VL'; 


//;   Betriebsstundenzähler


//;  Takt = Impuls für 1 Zyklus alle 60 Sekunden
NETWORK
TITLE =


      UN    #Reset; // alle Werte auf Null setzen
      SPB   m000; 
      L     0; 
      T     #Min; 
      T     #Std; 
      T     #Tag; 


m000: UN    #Takt; // Takt
      SPB   ENDZ; 
      UN    #Freigabe; 
      SPB   ENDZ; 


//;                      // --------------------------------
//;
      L     #Min; 
      L     1; // Minuten um 1 erhoehen
      +I    ; 
      T     #Min; 
//;
      L     60; 
      >=I   ; 
      SPB   M001; 
      SPA   ENDZ; 
//;                      // --------------------------------
M001: L     0; 
      T     #Min; 
      L     #Std; 
      L     1; // Stunden um 1 erhoehen
      +I    ; 
      T     #Std; 
//;
      L     24; 
      >=I   ; 
      SPB   M002; 
      SPA   ENDZ; 
//;                      // --------------------------------
M002: L     0; 
      T     #Std; 
      L     #Tag; 
      L     1; // Tage um 1 erhoehen
      +I    ; 
      T     #Tag; 


//;                      // --------------------------------
//;
ENDZ: NOP   0; 




END_FUNCTION
 
Gegenfrage:
Warum ausgerechnet SCL, und warum bekommst du die ca. 10 Zeilen nicht selbst hin?

Goldene Regel dieses Forums war immer, das Hausaufgaben nur bei, mindestens zaghaften, eigenen Ansätzen erledigt werden.
Einen Tipp: 4x If Then End_If
 
@MAB weil ich die Bedeutung von paare Abkürzungen nicht verstanden habe z.b:
SPB
SPA
L
I
UN

Steht eigentlich alles in der Hilfe...

SPB: Springe bei Bedingung = TRUE
SPA: Springe absolut (also immer)
L: Lade
I: Integer (16 bit Zahl)
UN: UND Nicht

Das du nichtmal UN kennst zeigt ziemlich gut wie wenig du dich mit dem Thema beschäftigt hast...
 
Zurück
Oben