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

Ergebnis 1 bis 10 von 10

Thema: Bereichszeiger TIA V13.1

  1. #1
    Registriert seit
    19.01.2007
    Beiträge
    28
    Danke
    6
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Tag an alle,
    irgendwie verstehe ich mein folgendes Problem nicht :
    Vorhanden sind ein TP_700 Basic Color, TIA 13.1, S7 312 und Step7 V5.5. TIA für die S7 kann ich aus verschiedenen Gründen nicht verwenden.
    Ich möchte die Systemzeit aus dem TP_700 in der S7 312 auswerten. Dafür habe ich im TIA Portal den Bereichszeiger aktiv, Datum/Uhrzeit, die Adresse %DB200.DBW100 und zyklisch lesen.
    Alle anderen Schreib- Lesebefehle funktionieren (Variablen etc.) . Jetzt war ich der Meinung, ich könnte die sechs Wörter aus dem TP in der S7 einlesen und weiterverarbeiten. Aber es kommt nichts an.
    Was mache ich falsch ???
    Ich hoffe es kann mir hier jemand helfen ....

    mit bestem Dank im voraus und

    Gruß aus Koblenz
    Zitieren Zitieren Bereichszeiger TIA V13.1  

  2. #2
    Registriert seit
    13.11.2014
    Ort
    Paderborn
    Beiträge
    194
    Danke
    15
    Erhielt 13 Danke für 12 Beiträge

    Standard

    Hallo,

    nach meinem Verständnis ist es so: dass die Uhrzeit am Panel mit dem Bereichszeiger Synchronisiert wird. d.h. das Panel hat die gleiche Uhrzeit wie die CPU und nicht anders rum. Natürlich kannst du aber auch über das Panel deine CPUZeit ändern. Da gibt es z.B. die Möglichkeit über ein entsprechendes selbst erstelltes Bild über das Display Uhrzeit und Datum einzugeben und diese in der CPU über diverse Systembausteinen auszuwerten. Dazu findest du hier im Forum viel unter der Suchfunktion.
    Geändert von Junge (14.04.2016 um 15:03 Uhr)

  3. Folgende 2 Benutzer sagen Danke zu Junge für den nützlichen Beitrag:

    Superb (15.04.2016),ThorstenSt (14.04.2016)

  4. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Das TP schreibt seine Systemzeit nur dann einmalig in den Bereichszeiger "Datum/Uhrzeit", wenn es per Steuerungsauftrag 40 oder 41 dazu aufgefordert wird.

    Du könntest in einem Skript die Systemzeit des TP in eine DATE_AND_TIME-Variable in der S7-312 schreiben:
    Code:
    SmartTags("DateTimeVariable") = Now
    Willst Du nur bei bestimmten Ereignissen die Uhrzeit zu einer Variable in der S7-312 übertragen oder willst Du die Uhr der S7-312 stellen oder fortlaufend synchronisieren?

    Hier eine ganz einfache Variante zum Übertragen der Uhrzeit und Stellen der Uhr einer S7-300 von einem HMI. Ein periodisches Senden der Uhrzeit in die S7-300 kann im Aufgabenplaner des TP organisiert werden.

    Beispiele von Siemens
    Linksammlung: Uhrzeitsynchronisation - Zeitsynchronisation im Automatisierungsumfeld
    Beispielprojekte: Uhrzeitsynchronisation zwischen einem HMI Bediengerät und einer SIMATIC SPS
    Beispielprojekte: Wie werden Datum und Uhrzeit zwischen einem Bediengerät und einer S7-300 bzw. S7-400 Steuerung mit WinCC flexible synchronisiert?


    @Junge
    Die Uhr der S7-312 ist nicht gepuffert und bleibt bei Spannungsausfall stehen. Das TP700 kann Uhrzeitsynchronisation per NTP. Die Synchronisation TP700 zu S7-312 macht Sinn.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Superb (15.04.2016)

  6. #4
    Registriert seit
    13.11.2014
    Ort
    Paderborn
    Beiträge
    194
    Danke
    15
    Erhielt 13 Danke für 12 Beiträge

    Standard

    Oh, in dem Fall auf jedefall. Ich hatte bisher immer den Fall, dass die Synchronisation über CPU lief. Aber gut zu wissen, dass es auch anders möglich ist

  7. Folgender Benutzer sagt Danke zu Junge für den nützlichen Beitrag:

    Superb (15.04.2016)

  8. #5
    Superb ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.01.2007
    Beiträge
    28
    Danke
    6
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Guten morgen,
    Danke für die Antworten, ich hatte eigentlich gehofft, daß die Zeit ohne Aufwand zyklisch bzw. in einer eingestellten Zeit in die S7 übertragen wird.
    Zum Steuerungsauftrag 40 oder 41 habe ich irgendwo etwas gelesen [FB110 o.ä. ]. Auf jeden Fall werde ich es mal weiter probieren.
    Das bei Spannungsausfall die Zeit nicht gepuffert wird ist mir bekannt, ist aber nicht weiter schlimm.

    Danke und Gruss aus Koblenz

  9. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Guten Morgen,

    wenn Du Dich ein ganz klein wenig mehr darüber auslassen könntest, was Du eigentlich vorhast, dann könnten wir Dir vielleicht einen Tip geben, wie Du das einfach hinkriegen kannst. Mit Steuerungsaufträgen fachgerecht umgehen ist nicht ganz trivial.

    Wie häufig meinst Du mit "zyklisch"?
    Wie bereits angedeutet könntest Du einfach im TP700 im Aufgabenplaner einstellen, daß jede Minute oder jede Stunde das simple Skript zum Übertragen der Systemzeit in eine DATE_AND_TIME-Variable der S7-312 aufgerufen wird. In dem Skript könntest Du auch leicht eine weitere Untersetzung (z.B. nur bei jedem 10. Aufruf) programmieren.
    Das Skript könntest Du auch bei anderen Ereignissen aufrufen, z.B. bei Wertänderung einer Variable, welche in der S7-312 verändert wird (also quasi auf "Anforderung" durch die S7-312).

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  10. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Superb (15.04.2016)

  11. #7
    Registriert seit
    15.12.2007
    Beiträge
    721
    Danke
    84
    Erhielt 106 Danke für 95 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Wie bereits angedeutet könntest Du einfach im TP700 im Aufgabenplaner einstellen, daß jede Minute oder jede Stunde das simple Skript zum Übertragen der Systemzeit in eine DATE_AND_TIME-Variable der S7-312 aufgerufen wird. In dem Skript könntest Du auch leicht eine weitere Untersetzung (z.B. nur bei jedem 10. Aufruf) programmieren.
    Das Skript könntest Du auch bei anderen Ereignissen aufrufen, z.B. bei Wertänderung einer Variable, welche in der S7-312 verändert wird (also quasi auf "Anforderung" durch die S7-312).

    Harald
    Sein Basic-Panel wird keine Scripte können
    Ich mache das eigentlich immer so, dass die CPU zwar Master ist, die Uhrzeit der CPU aber über ein E/A-Feld in der Visu gestellt wird.
    Wusste nicht das es bei der 312 eine Besonderheit bei der Uhrzeit hat, die benutze ich eigentlich nie.

  12. Folgender Benutzer sagt Danke zu Astralavista für den nützlichen Beitrag:

    Superb (15.04.2016)

  13. #8
    Superb ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.01.2007
    Beiträge
    28
    Danke
    6
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Guten morgen,
    im Prinzip möchte ich es so erledigen wie @ASTRALAVISTA es ausgeführt hat : Im TP_700 die Systemuhr unter dem Bereichszeiger konfigurieren und als E/A-Feld visualisieren. Kein Problem, dann die Uhrzeit via TP ändern. Jetzt, so meine Gedanken und Hoffnungen, pollt die S7_312 die aktuelle Uhrzeit [und Datum] im konfigurierten %DB200.DBW100. Das wäre es gewesen, ist es aber nicht.
    Bin z. Zt. noch am probieren, schaun wir mal.

    Danke und

    Gruss aus Koblenz

  14. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.327
    Danke
    932
    Erhielt 3.332 Danke für 2.690 Beiträge

    Standard

    Zitat Zitat von Astralavista Beitrag anzeigen
    Sein Basic-Panel wird keine Scripte können
    Zitat Zitat von Superb Beitrag anzeigen
    Vorhanden sind ein TP_700 Basic Color, TIA 13.1, S7 312 und Step7 V5.5.
    Oh sh*?x#§!, habe das Wort "Basic" übersehen, habe nur TP700 gelesen.
    Was für ein Basic Panel ist es - KTP700 ? - es gibt meines Wissens gar kein "TP700 Basic"...

    Andererseits drückt sich Superb vor jeder konkreten Beantwortung konkreter Nachfragen...
    Tu' ich jetzt mal so, als ob er die Uhr der S7-312 synchronisieren will.


    Hmm, bei Basic Panels bekommt man die Panel-Systemzeit nur per Steuerungsauftrag (40) in eine Variable geschrieben.

    Dafür gibt es bei Siemens Beispielprojekte mit Programmcode für die S7-300 (die HMI-Panel-Projektierung braucht man nicht außer dem Einrichten der Bereichszeiger):
    • TimeSyn_Project_04 der "FB110_TimeSyn_HMI_to_PLC"
      Das ist ein TIA-Projekt, ich weiß nicht ob man da problemlos den AWL(SCL?)-Quellcode in Step7 V5.5 kopieren/exportieren kann und wie gut der Baustein programmiert ist.
      (In den Siemens-Beispielen sind viele Fehler drin. U.A. merkt bei Siemens anscheinend niemand (noch nichtmal bei "kompletter Überarbeitung"), daß seit Jahren die Beschreibung des Bereichszeigers "Datum/Uhrzeit" Kapitel 3.2.2 falsch ist.)
    • Time_WinCE_flexible_A2 der FB102 "** SYS_CLK_WinCE_V1" ist für Step7 V5.x
      In der 2007er-Version war der Baustein ziemlich unsauber programmiert und hatte glaub ich auch kleine Bugs. In der jetzigen Version von 2008 sieht der Baustein immer noch sehr unsauber aus, Bugs weiß ich jetzt nicht.


    Ich hatte mir 2007 für so ein Uhrzeit-stellen HMI-->PLC einen eigenen kurzen Programmcode programmiert.
    Den könntest Du nehmen und zusätzlich im ersten OB1-Zyklus und dann z.B. jede Stunde den Wert 40 ins erste Word des Bereichszeigers "Steuerungsauftrag" schreiben - fertig ist die simple Uhrzeit-Synchronisation, die nicht schlechter funktioniert als die Siemens-Beispiele (vorausgesetzt, Du nutzt nicht noch weitere Steuerungsaufträge).

    Ich habe meine simple Uhrzeit-Sync mal um den Steuerungsauftrag 40 erweitert und hier angehängt. So funktioniert es dann auch mit Basic Panels.

    Bereichszeiger in WinCC flexible/TIA WinCC Basic/Comfort/Adv einrichten:
    Code:
    Datum/Uhrzeit     | DB 101 DBW 0  | 6 Worte
    Steuerungsauftrag | DB 102 DBW 12 | 4 Worte | Zyklisch fortlaufend | 1s
    In der SPS:
    Code:
    //Network*** Get a Date_and_Time from HMI and set PLC-clock
          U     "CYCLE1"                    //M0.2 first cycle of OB1
          SPB   ISCL                        //initialize receive-date/time!
    
          L     DW#16#90010100              //DT#90-1-1-0(:0:0.000)
          L     DB101.DBD    0              //"OP->PLC".AreaPointerDT.DateTimeSET Byte 0-3
          ==D   
          SPB   ESCL                        //no date received
          L     0
          ==D   
          SPB   ISCL                        //date not valid!
          L     DB101.DBD    4              //"OP->PLC".AreaPointerDT.DateTimeSET Byte 4-7
          ==D   
          SPB   ISCL                        //time not valid!
          L     B#16#2                      // :0:0.000 + Monday
          ==D   
          SPB   ESCL                        //no time received
    
    //a date and time is received from HMI, use it for something
    //("OP->PLC".AreaPointerDT.DateTimeSET is available/valid for 1 cycle)
    
    //e.g. set the PLC-clock
          CALL  "SET_CLK"                   //SFC0
           PDT    :="OP->PLC".AreaPointerDT.DateTimeSET
           RET_VAL:=#tmpINT                 //TEMP: INT
    
    //initialize receive-date/time with DT#90-1-1-0:0:0.000
    ISCL: L     DW#16#90010100              //DT#90-1-1-0(:0:0.000)
          T     DB101.DBD    0              //"OP->PLC".AreaPointerDT.DateTimeSET Byte 0-3
          L     B#16#2                      // :0:0.000 + Monday
          T     DB101.DBD    4              //"OP->PLC".AreaPointerDT.DateTimeSET Byte 4-7
    ESCL: SET   
    
    //Network*** request the system time of the HMI by controller job 40
    //generate the sync interval
          UN    M      1.0
          L     S5T#1H                      //every 1 hour
          SE    T      1
          U     T      1
          =     M      1.0
    
    //start the controller job 40 - request system date/time from HMI
    //(the HMI write 0 in JobMailbox.Job_No when it recognizes the job)
          O     M      1.0
          O     "CYCLE1"
          SPBN  EJ40
    
          L     0
          T     "PLC->OP".AreaPointerJobMailbox.Parameter_1
          T     "PLC->OP".AreaPointerJobMailbox.Parameter_2
          T     "PLC->OP".AreaPointerJobMailbox.Parameter_3
          L     40                          //Job_No controller job 40
          T     "PLC->OP".AreaPointerJobMailbox.Job_No
    
    EJ40: SET
    Im Anhang der OB1, DB101 und DB102 als Step7-V5.x-Projekt.

    Achtung: Es dürfen nicht mehrere HMI die Bereichszeiger "Steuerungsauftrag" und "Datum/Uhrzeit" auf den selben PLC-Adressen haben (also 2 Panele mit identischer Projektierung darf nicht). Sonst wird es lustig.

    Harald
    Angehängte Dateien Angehängte Dateien
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  15. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Superb (18.04.2016)

  16. #10
    Superb ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    19.01.2007
    Beiträge
    28
    Danke
    6
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten morgen an alle,
    Na ja, ich drück mich ja nicht unbedingt vor einer konkreten Beantwortung. Habe allerdings einen Fehler begangen : korrekt muß es heißen KTP 700 Basic-DP 6AV2 123-2GA03-0AX0.
    Da ich eigentlich aus der Rockwell-Welt komme und die S7 mittelmässig beherrsche habe ich mir etwas falsche Vorstellungen gemacht, denke ich. Wie dem auch sei, ich werde morgen das Problem noch einmal angehen und ich denke, dank Euerer Hilfe, auch irgendwie gelöst bekommen.
    Halte Euch auf dem Laufenden.

    Danke und Gruß aus Koblenz

Ähnliche Themen

  1. TIA TIA V13.SP1 Bereichszeiger Bildnummer einstellen.
    Von Malte Hamann im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 02.06.2015, 09:02
  2. Protool >>TIA V.13 Bereichszeiger
    Von pfoop im Forum HMI
    Antworten: 1
    Letzter Beitrag: 08.01.2015, 12:47
  3. TIA Siemens S7 TIA V13 Basic <> TIA V13 Professional
    Von piksieben im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 05.11.2014, 19:23
  4. Antworten: 0
    Letzter Beitrag: 20.10.2014, 20:25
  5. Antworten: 2
    Letzter Beitrag: 10.07.2014, 17:33

Lesezeichen

Berechtigungen

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