Stromverteiler Mico Pro von Murrelektronik


Google-Suche auf MEINE-SCHALTUNG.de :





Online Rechner

Chronik

Dauerkalender


Datum und Uhrzeit in Step 7 (TIA Portal)


Titelbild


Step 7 Tia Portal stellt mehrere Anweisungen zur Verfügung, die es ermöglichen, das aktuelle Datum und die Uhrzeit zu ermitteln und anzuzeigen. In dem Beispiel verwenden wir nur zwei von ihnen: WR_SYS_T und RD_SYS_T. Mit der Anweisung WR_SYS_T wird das Datum und die Uhrzeit der CPU-Uhr eingestellt. Mit der Anweisung RD_SYS_T kann das aktuelle Datum und die aktuelle Uhrzeit der CPU-Uhr ausgelesen werden. Weitere Anweisungen, die es ermöglichen, Lokalzeit, Zeitzonen oder Sommer-/Winterzeitumschaltung einzustellen, werden in unserem kleinen Zeit-SPS-Projekt nicht berücksichtigt.
Dank Ermittlung der aktuellen Zeit kann eine SPS in eine Zeitschaltuhr verwandelt oder um Funktionen einer Zeitschaltuhr erweitert werden. In unserem Beispiel werden die ermittelten Zeitdaten lediglich angezeigt. In der Praxis können die an SPS angeschlossenen Geräte nach einem voreingestellten Zeitplan automatisch gesteuert werden. Sie können dann an bestimmten Tagen zu bestimmten Zeiten ein- und ausgeschaltet werden.
An unserem Beispiel nehmen praktisch nur zwei Geräte teil. Bei der CPU handelt es sich um die CPU1215C (S7-1200) und das Bedienungs-Panel KTP700 Basic. Das kurze Programm, das die Funktion „Datum und Uhrzeit“ bildet, wird in der Sprache SCL erstellt. Die Funktion kann nach der Inbetriebnahme in einer Bibliothek gespeichert und auch in anderen Projekten verwendet werden. Bei der Software handelt es sich um Tia-Portal V19.

Projekt anlegen


1. Projekt anlegen, Hardware einfügen.

Hardware-Konfiguration

Nachdem das Projekt angelegt wurde, werden in der Umgebung „Gerätekonfiguration“ die teilnehmenden Geräte eingefügt und miteinander verbunden. In dem Beispiel werden die CPU 1215C und das Panel KTP700 Basic PN verwendet.

2. Programmbausteine einfügen.

Bausteine hinzufügen

In dem Beispiel werden zwei zusätzliche Programmbausteine benötigt. Zunächst wird die FC-Funktion „Datum und Uhrzeit“ eingefügt. Beim Anlegen der Funktion wird die Sprache SCL gewählt. Anschließend wird der Datenbaustein „Datum_und_Uhrzeit“ angelegt. Die entsprechende Auswahl wird angezeigt, nachdem man „Neuen Baustein hinzufügen“ doppelt angeklickt hat.

3. Variablen des Datenbausteins festlegen.

Variablen

In dem Datenbaustein werden insgesamt fünf Variablen definiert. Die wichtigste Variable ist „Time“ [Format DTL], mit der direkt die aktuelle in der CPU-Uhr gespeicherte Zeit ausgelesen wird.
Die Variable „Zeit Eingaben“ [Format bool] wird aktiviert, wenn das Eingabefenster „Zeit_Einstellungen“ geöffnet wird. Sobald die Variable „Zeit_Setzen“ [Format bool] bei geöffnetem Fenster „Zeit_Einstellungen“ auf TRUE geht, wird die neu eingestellte Zeit in die CPU geschrieben. Mit „Wochentag“ [Format String] wird der aktuelle Tag der Woche angezeigt. Mit „Ergebnis“ [Format String] wird informiert, ob die Übertragung in die CPU erfolgreich verlaufen ist.

4. Bausteinschnittstelle der Funktion „Datum und Uhrzeit“ festlegen.

Schnittstelle

Am Eingang der Funktion werden drei bool-Variablen definiert: „Datum_Uhrzeit_Einstellen“, „Einstellungen_übernehmen“ und „Sekunden_Takt“.
Zusätzlich werden drei temporäre Variablen benötigt: „Ret_Val_Write“ [Format Int], „Ret_Val_Read“ [Format Int] und „Pos_Flanke“ [Format bool].

5. Programmcode der Funktion „Datum und Uhrzeit“ erstellen.

// ************************************************************************************************** 
// Datum und Uhrzeit in Step 7 
// TIA-Portal V19 
// STEP 7 Professional / SCL 
// ************************************************************************************************** 

// Datum und Uhrzeit der CPU-Uhr neu einstellen 
// Eingaben erfolgen über HMI 

IF #Datum_Uhrzeit_Einstellen THEN
    // HMI neue Einstellungen Übernehmen ------------------------------------------------
    IF #Einstellungen_übernehmen THEN
        
        #Ret_Val_Write := WR_SYS_T("Datum_und_Uhrzeit"."Time");   // Interne CPU-Uhr beschreiben 
        
        "Datum_und_Uhrzeit".Ergebnis := 'Übertragung OK';         // Übertragung erfolgreich 
        IF #Ret_Val_Write > 0 THEN
            "Datum_und_Uhrzeit".Ergebnis := 'Fehler';             // Übertragung fehlerhaft 
        END_IF;
    END_IF;
END_IF;

IF NOT #Datum_Uhrzeit_Einstellen THEN
    "Datum_und_Uhrzeit".Ergebnis := '---';
END_IF;

// ************************************************************************************************** 
// Datum und Uhrzeit der CPU-Uhr auslesen 
// Anzeige erfolgt auf HMI 

"R_TRIG_DB_1"(CLK:=#Sekunden_Takt, Q=>#Pos_Flanke);     // Pos Flanke 1 Hz. 

IF NOT #Datum_Uhrzeit_Einstellen THEN
    IF #Pos_Flanke THEN
        #Ret_Val_Read := RD_SYS_T("Datum_und_Uhrzeit"."Time");    // CPU-Uhr auslesen 
    END_IF;
    CASE "Datum_und_Uhrzeit"."Time".WEEKDAY OF                    // Wochentag bestimmen 
        1: "Datum_und_Uhrzeit".Wochentag := 'Sonntag';
        2: "Datum_und_Uhrzeit".Wochentag := 'Monntag';
        3: "Datum_und_Uhrzeit".Wochentag := 'Dienstag';
        4: "Datum_und_Uhrzeit".Wochentag := 'Mittwoch';
        5: "Datum_und_Uhrzeit".Wochentag := 'Donnerstag';
        6: "Datum_und_Uhrzeit".Wochentag := 'Freitag';
        7: "Datum_und_Uhrzeit".Wochentag := 'Samstag';
    END_CASE;
END_IF;

// ************************************************************************************************** 
        

Der Programmcode der Funktion, der praktisch das Hauptprogramm des Projektes darstellt, besteht aus zwei Teilen. Im ersten Teil werden Daten, die über HMI eingegeben wurden, in die CPU geschrieben.
Im zweiten Teil werden die Zeitdaten aus der CPU gelesen und anschließend auf dem HMI angezeigt.

6. Funktion „Datum und Uhrzeit“ in das Organisationsbaustein „Main“ einfügen.

Funktion einfügen

Die fertiggestellte Funktion „Datum und Uhrzeit“ wird in das Organisationsbaustein „Main“ eingefügt. Die Eingänge werden mit den davor in dem Datenbaustein „Datum_und_Uhrzeit“ angelegten Variablen belegt. Diese Variablen werden von dem HMI gesteuert und bestimmen, ob die Zeitdaten in die CPU geschrieben oder von ihr gelesen werden. Bei der Variable „Clock_1Hz“ handelt es sich um einen Systemmerker. Systemmerkerbyte muss von der Verwendung in den Parametern der CPU aktiviert werden. Der Merker bestimmt, dass die aktuelle Zeit im Sekundentakt aus der CPU gelesen wird.

7. HMI-Bilder anlegen.

Bilder anlegen

Für das Panel werden drei Bilder angelegt. „Startbild“ dient in dem Projekt als Verteiler, von dem die anderen Bilder erreicht werden können. Das Bild „Zeit_Einstellungen“ dient für die Einstellung von Datum und Uhrzeit. Auf dem Bild „Zeit_Aktuell“ wird die aktuelle Zeit angezeigt.

8. Schaltflächen auf der Startseite anlegen.

Buttons der Startseite

Auf der „Startseite“ werden zwei Schaltflächen positioniert.

Zeit aktuell

Mit der ersten Schaltfläche kann zu dem Fenster „Zeit_Aktuell“ gewechselt werden. Weitere Aufgaben hat dieses Element nicht.

Button Zeit Eingaben

Die zweite Schaltfläche führt uns beim Betätigen zu dem Fenster „Zeit_Einstellungen“. In diesem Fenster kann die aktuelle Zeit neu eingestellt werden. Beim Betätigen der Schaltfläche wird neben dem Fensterwechsel gleichzeitig die Bit-Variable „Zeit Eingaben“, die davor in dem Baustein „Datum_und_Uhrzeit“ definiert wurde, auf TRUE gesetzt. Sie bewirkt, dass das Beschreiben der CPU-Uhr mit neuen Zeitdaten möglich ist. Gleichzeitig wird das Auslesen der aktuellen Zeit blockiert. Damit steht die DTL-Variable „Time“ für Veränderungen zur Verfügung.

9. Bedien- und Anzeigeelemente im Fenster „Zeit_Einstellungen“ definieren.

Zeit Einstellungen

Im Fenster „Zeit_Einstellungen“ werden fünf Elemente, die für den Ablauf relevant sind, definiert.

Datum

Das obere E/A-Feld wird für die Eingabe des aktuellen Datums verwendet. Es ist mit der variable „Time“ verknüpft und für Eingabe/Ausgabe definiert.

Uhrzeit

Mit dem unteren E/A-Feld wird die aktuelle Uhrzeit eingestellt. Es ist ebenfalls mit der Variable „Time“ verknüpft und befindet sich im Eingabe/Ausgabe-Modus.

Ergebnis

Das folgende E/A-Feld, das auf Modus Ausgabe eingestellt wird, dient lediglich der Anzeige, die informiert, ob die Zeit-Daten erfolgreich in die CPU übertragen wurden oder nicht. Das Feld ist mit der Variable „Ergebnis“ verknüpft.

Übernahme

Mit der Schaltfläche „Eingaben Übernehmen“ wird der Schreibvorgang initiiert. Die neue Zeit-Daten, so das Datum als auch die Uhrzeit, werden in die CPU übertragen. Für die Dauer der Betätigung der Schaltfläche wird die Verknüpfungsvariable „Zeit_Setzen“ auf TRUE gesetzt.

Einstellungen Ende

Das Fenster „Zeit Einstellungen“ wird durch Betätigen der Schaltfläche „Zurück“ verlassen. Gleichzeitig wird die Bool-Variable „Zeit_Eingaben“ zurückgesetzt. Damit wird die DTL-Variable „Time“ für das Auslesen der aktuellen Zeitdaten freigegeben.

10. Anzeigeelemente in das Fenster „Zeit Aktuell“ einfügen.

Fenster Zeit aktuell

Mit drei Elementen im Fenster „Zeit Aktuell“ werden die aktuellen Zeit-Daten angezeigt. Die Anzeige vom Wochentag, Datum und Uhrzeit wird einmal pro Sekunde aktualisiert.

Wochentag-Anzeige

Mit dem E/A-Feld, das bei uns ganz oben positioniert ist, wird der aktuelle Wochentag angezeigt. Die Nummer des aktuellen Wochentages befindet sich in der DTL-Variable „Time“ unter „WEEKDAY“ und wird von der CPU automatisch berechnet. In unserer Funktion „Datum und Uhrzeit“ wird diese Variable mit der „CASE – OF…“ – Anweisung untersucht. Anschließend wird die Variable „Wochentag“ beschrieben und ihr Wert hier angezeigt.

Datum-Anzeige

Das zweite E/A-Feld dient der Ausgabe von Datum.

Uhrzeit-Anzeige

Mit dem dritten E/A-Feld, das ebenfalls wie die anderen, in den Modus Ausgabe geschaltet wird, wird die aktuelle Uhrzeit angezeigt. Die Anzeige erfolgt im Sekundentakt. Beide Felder, Datum und Uhrzeit, sind mit der DTL-Variable „Time“ verknüpft.

Schaltplan

Schaltplan



Testschaltung

Testschaltung



Kurzvideo

Kurzvideo


Weitere Themen:


Google-Suche auf MEINE-SCHALTUNG.de :


Home Impressum Datenschutz