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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 35

Thema: systemzeit ins op7 bringen

  1. #1
    Registriert seit
    01.12.2006
    Beiträge
    167
    Danke
    28
    Erhielt 4 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    hi,

    wie kann ich mir die systemuhrzeit aus DB91.DBD 8 (format: 23:59:30.0) in meinem op7 anzeigen lassen?

    vielen dank, jo


    ps.: bin absoluter "laie"


    CPU 312, STEP 7 light
    Zitieren Zitieren systemzeit ins op7 bringen  

  2. #2
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Hier mal eine FAQ von Siemens:

    Wie können Datum und Uhrzeit zwischen einem Zeilen- bzw. Grafik-Bediengerät (TD17,OP5,OP15,OP17,TP27,OP27,TP37,OP37) und einer S7-300/400 Steuerung mit ProTool synchronisiert werden?

    http://support.automation.siemens.co...ew/de/24088798

    Gruß Kai

  3. #3
    linuxluder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.12.2006
    Beiträge
    167
    Danke
    28
    Erhielt 4 Danke für 3 Beiträge

    Standard

    hi,

    habe mit ach und karch und u.a. auch deiner hilfe unter
    http://www.sps-forum.de/showthread.php?t=13911
    die cpu-uhr bzw. die schaltuhr hinbekommen.

    dein link auf den siemens-support hilft mir nicht so recht weiter.

    könntest du mir nicht "einfach" sagen, was ich bei der variable im op7 einstellen muss?

    danke

  4. #4
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Das Problem ist, dass das OP7 keine Variablen vom Typ TIME, DATE, TIME_OF_DAY oder DATE_AND_TIME kennt. Man kann also die Systemzeit nicht direkt auf dem OP7 anzeigen.

    Was man aber machen kann, ist die Systemzeit und das Systemdatum in der SPS in jeweils einem STRING umzuwandeln und dann den STRING im OP7 anzuzeigen. Ich habe dafür vor einiger Zeit mal einen FC geschrieben und könnte diesen hier ins Forum stellen.

    Gruß Kai

  5. #5
    linuxluder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.12.2006
    Beiträge
    167
    Danke
    28
    Erhielt 4 Danke für 3 Beiträge

    Standard

    toll,

    wenn ich das haben könnte.
    ich hoffe ich kriege das hin mit der einbindung in mein projekt.
    der baustein als reiner text wäre mir am liebsten, den bausteine aus step 7 kann ich in step 7 light nicht einbinden. die pdfs von dem link aus meinem letzten posting habe ich auch abgetippt.

    danke einstweilen, jo

  6. #6
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Hier ist nun mein Programmbeispiel.

    Im OB1 wird mit dem SFC1 die Systemzeit (DATE_AND_TIME) ausgelesen und im DB100 gespeichert.

    Der FB10 wandelt dann die im DB100 gespeicherte Systemzeit in ein Datum (STRING) und eine Uhrzeit (STRING) um und speichert dann das Datum (STRING) und die Uhrzeit (STRING) wiederum im DB100.

    Code:
    // OB1 : Hauptprogramm
     
    // Systemzeit (DATE_AND_TIME)
     
          CALL  "READ_CLK"
           RET_VAL:="SFC1_RET_VAR"
           CDT    :="DB_DATEN".Datum_Uhrzeit
          NOP   0
     
     
    // Systemzeit (DATE_AND_TIME) => Datum (STRING), Uhrzeit (STRING)
     
          CALL  "FB_DATUM_UHRZEIT" , "DB_DATUM_UHRZEIT"
           Datum_Uhrzeit:="DB_DATEN".Datum_Uhrzeit
           Datum        :="DB_DATEN".Datum
           Uhrzeit      :="DB_DATEN".Uhrzeit
          NOP   0
    Code:
    // FB10 : Datum Uhrzeit
     
    // Initialsierung Datum (STRING), Uhrzeit (STRING)
     
    // Datum
     
          L     P##Datum
          LAR1  
     
          L     10
          T     B [AR1,P#0.0]               // Maximale Länge String
     
          L     10
          T     B [AR1,P#1.0]               // Aktuelle Länge String
     
    // Uhrzeit
     
          L     P##Uhrzeit
          LAR1  
     
          L     8
          T     B [AR1,P#0.0]               // Maximale Länge String
     
          L     8
          T     B [AR1,P#1.0]               // Aktuelle Länge String
     
     
    // Datum_Uhrzeit (DT) => Datum (STRING)
     
          L     P##Datum_Uhrzeit            // Zeigerwert mit Bereichskennung
          LAR1  
     
    // Datum Tag
     
          L     B [AR1,P#2.0]               // Datum_Uhrzeit Byte 2  
          SRW   4
          L     48
          +I    
          T     #Datum[1]                   // Datum Tag Zehnerstelle
     
          L     B [AR1,P#2.0]               // Datum_Uhrzeit Byte 2
          SLW   12
          SRW   12
          L     48
          +I    
          T     #Datum[2]                   // Datum Tag Einerstelle
     
          L     '.'
          T     #Datum[3]                   // Datum Trennzeichen
     
    // Datum Monat
     
          L     B [AR1,P#1.0]               // Datum_Uhrzeit Byte 1
          SRW   4
          L     48
          +I    
          T     #Datum[4]                   // Datum Monat Zehnerstelle
     
          L     B [AR1,P#1.0]               // Datum_Uhrzeit Byte 1
          SLW   12
          SRW   12
          L     48
          +I    
          T     #Datum[5]                   // Datum Monat Einerstelle
     
          L     '.'
          T     #Datum[6]                   // Datum Trennzeichen
     
    // Datum Jahr
     
          L     '2'
          T     #Datum[7]                   // Datum Jahr Tausenderstelle
     
          L     '0'
          T     #Datum[8]                   // Datum Jahr Hunderterstelle
     
          L     B [AR1,P#0.0]               // Datum_Uhrzeit Byte 0
          SRW   4
          L     48
          +I    
          T     #Datum[9]                   // Datum Jahr Zehnerstelle
     
          L     B [AR1,P#0.0]               // Datum_Uhrzeit Byte 0
          SLW   12
          SRW   12
          L     48
          +I    
          T     #Datum[10]                  // Datum Jahr Einerstelle
     
     
    // Datum_Uhrzeit (DT) => Uhrzeit (STRING)
     
          L     P##Datum_Uhrzeit            // Zeigerwert mit Bereichskennung
          LAR1  
     
    // Uhrzeit Stunden
     
          L     B [AR1,P#3.0]               // Datum_Uhrzeit Byte 3
          SRW   4
          L     48
          +I    
          T     #Uhrzeit[1]                 // Uhrzeit Stunden Zehnerstelle
     
          L     B [AR1,P#3.0]               // Datum_Uhrzeit Byte 3
          SLW   12
          SRW   12
          L     48
          +I    
          T     #Uhrzeit[2]                 // Uhrzeit Stunden Einerstelle
     
          L     ':'
          T     #Uhrzeit[3]                 // Uhrzeit Trennzeichen
     
    // Uhrzeit Minuten
     
          L     B [AR1,P#4.0]               // Datum_Uhrzeit Byte 4
          SRW   4
          L     48
          +I    
          T     #Uhrzeit[4]                 // Uhrzeit Minuten Zehnerstelle
     
          L     B [AR1,P#4.0]               // Datum_Uhrzeit Byte 4
          SLW   12
          SRW   12
          L     48
          +I    
          T     #Uhrzeit[5]                 // Uhrzeit Minuten Einerstelle
     
          L     ':'
          T     #Uhrzeit[6]                 // Uhrzeit Trennzeichen
     
    // Uhrzeit Sekunden
     
          L     B [AR1,P#5.0]               // Datum_Uhrzeit Byte 5
          SRW   4
          L     48
          +I    
          T     #Uhrzeit[7]                 // Uhrzeit Sekunden Zehnerstelle
     
          L     B [AR1,P#5.0]               // Datum_Uhrzeit Byte 5
          SLW   12
          SRW   12
          L     48
          +I    
          T     #Uhrzeit[8]                 // Uhrzeit Sekunden Einerstelle
    Gruß Kai
    Angehängte Grafiken Angehängte Grafiken
    Angehängte Dateien Angehängte Dateien

  7. Folgende 2 Benutzer sagen Danke zu Kai für den nützlichen Beitrag:

    linuxluder (05.09.2007),MFreiberger (16.04.2010)

  8. #7
    Registriert seit
    22.11.2006
    Ort
    CH
    Beiträge
    3.618
    Danke
    775
    Erhielt 646 Danke für 492 Beiträge

    Standard

    Zitat Zitat von linuxluder Beitrag anzeigen
    ich hoffe ich kriege das hin mit der einbindung in mein projekt.
    der baustein als reiner text wäre mir am liebsten, den bausteine aus step 7 kann ich in step 7 light nicht einbinden. die pdfs von dem link aus meinem letzten posting habe ich auch abgetippt.

    Das Beispiel aus der Faq ist das einzig Wahre. Ich hab auch ne Weile gebraucht bis ich da durchgestiegen bin.

    Klar kannst du auch einfach den String im OP7 darstellen, bedenke aber das damit die Zeit im OP immer noch nicht stimmt und so natürlich auch Meldungen nicht den korrekten Zeitstempel haben.

    mfG René

  9. #8
    linuxluder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.12.2006
    Beiträge
    167
    Danke
    28
    Erhielt 4 Danke für 3 Beiträge

    Standard

    hallo kai,

    erstmal herzlichsten dank für deine hilfe. ich habe vorhin offensichtlich falsch gepostet. ich meinte eigentlich das beispiel.pdf hier: http://www.sps-forum.de/showpost.php...56&postcount=4

    nur um dich richtig zu verstehen. das beispiel, das du eben gepostet hast, liest die systeum-uhr und datum erstmal komplett aus, oder?

    kann ich dann alles von "antonio" wieder löschen und nur "deins" hernehmen oder dient dein code nur zum "übertragen" ins op7, bzw. nur zu umwandlung in strings?

    Danke Jo
    Zitieren Zitieren @kai  

  10. #9
    Registriert seit
    30.03.2005
    Beiträge
    2.096
    Danke
    0
    Erhielt 673 Danke für 541 Beiträge

    Standard

    Zitat Zitat von linuxluder Beitrag anzeigen
    das beispiel, das du eben gepostet hast, liest die systeum-uhr und datum erstmal komplett aus, oder?

    kann ich dann alles von "antonio" wieder löschen und nur "deins" hernehmen oder dient dein code nur zum "übertragen" ins op7, bzw. nur zu umwandlung in strings?
    Es werden zuerst die Systemzeit und das Systemdatum komplett aus der SPS ausgelesen und dann in ein Datum (STRING) und eine Uhrzeit (STRING) umgewandelt.

    Der Code von Antonio wird dabei nicht gebraucht.

    Gruß Kai

  11. Folgender Benutzer sagt Danke zu Kai für den nützlichen Beitrag:

    linuxluder (05.09.2007)

  12. #10
    linuxluder ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    01.12.2006
    Beiträge
    167
    Danke
    28
    Erhielt 4 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    super, ich probier das mal

    ich hoffe, meine schaltuhr geht dann trotzdem noch irgendwie

    gruß jo

Ähnliche Themen

  1. analog Eingang auf HMI bringen
    Von Limette im Forum Programmierstrategien
    Antworten: 5
    Letzter Beitrag: 24.01.2011, 00:29
  2. Codesysprogramm auf Siemens-CPU bringen?
    Von röhrengertl im Forum Simatic
    Antworten: 14
    Letzter Beitrag: 20.01.2009, 11:08
  3. string ins op7 bringen
    Von linuxluder im Forum Simatic
    Antworten: 0
    Letzter Beitrag: 28.11.2007, 15:24
  4. FM 353 zum Laufen bringen
    Von caschu100 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 20.03.2007, 19:23
  5. Lampe zum blinken bringen mit S7-200
    Von MRT im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 08.07.2005, 22:49

Lesezeichen

Berechtigungen

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