Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 7 von 7

Thema: PCS 7 - Uhrzeit in WinCC einstellen und in CFC bearbeiten

  1. #1
    Registriert seit
    09.12.2005
    Beiträge
    37
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    ich habe zur Zeit ein Problem mit WinCC bzw. PCS 7. Ich verwende zur Zeit folgende Softwarestände:
    PCS 7 V7.1 + SP3
    WinCC Runtime V7.0 + SP2 + Upd4

    Ich habe in meinem Programm einen Motor anzusteuern, der zur Uhrzeit X (z.B. 8 Uhr Morgens) angehen und Abends um 20 Uhr wieder abschalten soll. Die Uhrzeiten möchte ich aber in WinCC variabel anstellen können. Die Frage die sich mir jetzt stellt ist eher wie bekomme ich einen Wert von WinCC als TOD (Time of Day) oder DATE AND TIME oder ähnliches in den CFC Plan um ihn dort zu verschalten und zu verarbeiten? Ich habe hier im Forum schon ein paar Tipps bekommen, z.B. einen Baustein selber schreiben und das passende Faceplate zu erstellen, aber das geht zur Zeit über mein Kentnisse hinaus und da fehlt mir ehrlich gesagt die Zeit.

    Hat da jemand eine Idee, oder gibt es da fertige Blocks/Templates die mir da weiterhelfen? Oder wie kann ich denn generell in WinCC ein Uhrzeit eingeben und diese dann im CFC Plan verarbeiten?

    Gruß
    Benny
    Gestern war Heute noch Morgen
    Zitieren Zitieren PCS 7 - Uhrzeit in WinCC einstellen und in CFC bearbeiten  

  2. #2
    Benny ist offline Benutzer
    Themenstarter
    Registriert seit
    09.12.2005
    Beiträge
    37
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Oder gibt es denn einen Baustein, der mir diese TIME OF DAY Format in verschiedene Integer oder Doppelinteger zerlegt? Ich würde dann jeweils für hh, mm und ss ein EA-Feld erstellen und diese 3 Werte dann übergeben. Dann könnte ich ja die Uhrzeit einfach als mehrere Integer in WinCC einlesen und dann in der Steuerung mit der aktuellen Systemzeit vergleichen.

    Oder ist das nicht zu empfehlen, oder nicht möglich?

    Gruß Benny
    Gestern war Heute noch Morgen

  3. #3
    Registriert seit
    09.06.2008
    Beiträge
    138
    Danke
    16
    Erhielt 13 Danke für 13 Beiträge

    Standard

    Finde das nicht so schön.
    Grund Du vermischst die Funktionalität einer Sache zwischen AS und OS. Eine Funktion sollte meiner Meinung nach immer nur in einem stecken und dies möglichst in der PLC.
    Somit bestehen zwei Möglichkeiten:
    1. Du machst alles aus der OS und schickst einfach nur das Bit runter in die PLC oder
    2. Alles wird in der PLC umgesetzt.
    Da hätte ich zwei Ansätze:
    Ansatz A - Uhrzeitalarme:
    Mal wieder würde ich einen kleinen Baustein schreiben. Dem Du die Zeiten wie Du beschrieben hast zusendest. Das zusammenführen der Werte kann dann auch der neue Baustein übernehmen.
    Nehmen wir an, dass wir mit zwei Uhrzeitalarmen arbeiten, die den Baustein um 03:00 Uhr und 15:00 Uhr initialisiert. Ab hier eine Differenz laufen lassen, zu der vom Bediener eingestellten Zeit und die Aktion ausführen.

    Ansatz B - READ_CLK(SFC1):
    Es wird ein kleiner Baustein geschrieben, der deine eingestellten WinCC-Zeiten entsprechend umsetzt und dann mit dem SFC1 - READ_CLK vergleicht.

    Bei beiden Varianten A/B würde ich dem Bediener grundsätzlich keine Sekunden zur Verfügung stellen und mit dem Kunden ausmachen, das eine max. Genauigkeit von 2Min. besteht.
    Dann könntest Du diese Funktionalität nämlich schön in den 2Min. OB werfen und deine Zykluszeit wird geschont. Ich würde sogar überlegen das in dem 5Min. Takt zu legen.

    EDIT:
    So simpel mit den E/A-Feldern würde ich nur arbeiten, wenn das anlagenweit eine einmalige Geschichte bleibt!

  4. #4
    Registriert seit
    09.08.2006
    Beiträge
    3.629
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von Benny Beitrag anzeigen
    Ich würde dann jeweils für hh, mm und ss ein EA-Feld erstellen und diese 3 Werte dann übergeben. Dann könnte ich ja die Uhrzeit einfach als mehrere Integer in WinCC einlesen und dann in der Steuerung mit der aktuellen Systemzeit vergleichen.
    Hatte ich doch in dem anderen Thread so vorgeschlagen...

    Den Baustein allerdings wirst Du Dir selber schreiben müssen, es sei denn, jemand stellt Dir hier einen rein, ich hab jedenfalls keinen. Jedenfalls findet Goggle einige Anregungen zur Konvertierung der Zeitformate in der gewünschten Programmiersprache. Ich würds in SCL machen, aber natürlich geht auch AWL...

    Gruß.

  5. #5
    Registriert seit
    09.08.2006
    Beiträge
    3.629
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    Zitat Zitat von ich988 Beitrag anzeigen
    EDIT:
    So simpel mit den E/A-Feldern würde ich nur arbeiten, wenn das anlagenweit eine einmalige Geschichte bleibt!
    Jo...

    die Vorgehensweise mit den Bausteinen/Anwenderobjekten/Faceplates hatten wir ja schon in dem anderen Thread erläutert...

    Gruß.

    PS: das mit den Uhrzeitalarmen (Ansatz A) find ich aber nicht so glücklich

    Ich denke Benny verfolgt Ansatz B, nur will er keinen Baustein schreiben sondern alles in CFC verschalten. Leider fehlt dort nen Baustein der TOD oder DT in nen INT wandelt, um es mit den aus WinCC eingestellten Zeiten zu vergleichen... Tja, wer schreibt ihm jetzt den Bauustein?
    Geändert von ducati (24.07.2012 um 16:12 Uhr)

  6. #6
    Benny ist offline Benutzer
    Themenstarter
    Registriert seit
    09.12.2005
    Beiträge
    37
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von ducati Beitrag anzeigen
    Hatte ich doch in dem anderen Thread so vorgeschlagen...

    Den Baustein allerdings wirst Du Dir selber schreiben müssen, es sei denn, jemand stellt Dir hier einen rein, ich hab jedenfalls keinen. Jedenfalls findet Goggle einige Anregungen zur Konvertierung der Zeitformate in der gewünschten Programmiersprache. Ich würds in SCL machen, aber natürlich geht auch AWL...

    Gruß.
    Genau so wollte ich es ja machen, allerdings weiß ich gerade nicht, wie ich mir meine Systemzeit (Time of Day) in einzelne Integer umwandle, damit ich die vernünftig mit den Werten aus dem WinCC vergleichen kann.
    Gestern war Heute noch Morgen

  7. #7
    Registriert seit
    09.08.2006
    Beiträge
    3.629
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Benny Beitrag anzeigen
    allerdings weiß ich gerade nicht, wie ich mir meine Systemzeit (Time of Day) in einzelne Integer umwandle,
    "TOD is einfach ein DINT der die "Zeit des Tages" in millisekunden darstellt"

    http://www.automation.siemens.com/WW...33&Language=de

    Gruß.

Ähnliche Themen

  1. PCS 7 Baustein TIMER_P an WinCC
    Von Benny im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 19.07.2012, 13:34
  2. Antworten: 5
    Letzter Beitrag: 02.04.2010, 20:21
  3. Datum und Uhrzeit, WinCC flexible 2005
    Von petzi im Forum Simatic
    Antworten: 19
    Letzter Beitrag: 03.01.2009, 12:20
  4. Antworten: 3
    Letzter Beitrag: 11.09.2007, 20:38
  5. Antworten: 12
    Letzter Beitrag: 01.06.2007, 18:03

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •