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

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

Thema: DATE_AND_TIME Wochentag flackert bei Übertragung von TP37 auf S7-300

  1. #1
    Registriert seit
    02.07.2010
    Beiträge
    115
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich habe ein Problem und zwar habe ich ein TP37 (noch mit Protool projektiert) und eine S7-315-2DP welche 3 Kompressoren über Zeit und Wochentag steuern sollen.

    Im Touchpanel wird die jeweilige Zeit und der Wochentag eingestellt welcher Kompressor laufen soll. Die Uhrzeit wird über Steuerungsauftrag 41 an die CPU übertragen und dort wird dann entschieden je nachdem was auf dem Panel eingestellt wurde ob der Kompressor laufen soll oder nicht.
    Das funktioniert auch ganz gut nur bin ich jetzt anhand des SPS Analyzer drauf gekommen das der Kompressor auch am Sonntag läuft obwohl er vom SPS Programm her gar nicht angesteuert wird.
    Die Variable welche vom Touchpanel kommt und mir sagt welcher Wochentag ist flackert am Sonntag und auch an anderen Tagen immer wieder und nimmt werte von bis zu 15 an.
    Dadurch kommt meine Zeitschaltuhr natürlich durcheinander.

    Habt ihr schon mal ähnliche Probleme gehabt?
    Zitieren Zitieren DATE_AND_TIME Wochentag flackert bei Übertragung von TP37 auf S7-300  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Hallo,
    bei mir setzt der Steuerungsauftrag 41 die Systemuhr in der CPU. Das ist es doch wohl nicht, was du willst ... und wenn doch, dann würde ich diese nicht in einem schnellen Zyklus setzen sondern vielleicht einmal am Tag (oder so).
    Du willst doch wohl einen Vergleichswert vorgeben ? Das hat dann nichts mit dem Steuerungsauftrag zu tun sondern mehr mit einer "normalen" Variablen ...

    Gruß
    Larry

  3. Folgender Benutzer sagt Danke zu Larry Laffer für den nützlichen Beitrag:

    bernd81 (14.03.2011)

  4. #3
    bernd81 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.07.2010
    Beiträge
    115
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo,

    bei mir steht im Kommentarbereich der SPS

    //Mit dem Steuerungsauftrag 41 können Sie die Übertragung von Uhrzeit und Datum vom Bediengerät zur Steuerung anstroßen

    also Code wird folgendes benutzt:

    //Auftragsnummer an TP senden

    L 41
    T MB40
    L MB40
    T DB2.DBB5

    L DB2.DBB0
    T MB41

    danach wird im selben Baustein der DB2 ausgelesen und die einzelnen Bytes auf Merkerbytes beschrieben welche dann die Uhrzeit und den Wochentag anzeigen.

    Der DB2 wird sonst nirgends beschrieben also nehme ich an das der DB2 die Schnittstelle zwischen TP37 und SPS ist und das dort das TP37 die Uhrzeit reinschreibt und dann in der SPS weiterverarbeitet wird.

    Vielen Dank schon mal für deine schnelle Antwort von vorher!

  5. #4
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Wie oft findet denn diese Abfrage statt ?
    Kontrollierst du vor einer neuen Abfrage ob das Auftragsfach leer ist ? Es steht dann eine 0 in deinem DB2.DBB5.
    Auf diese Weise kannst du auch kontrollieren, ob die Anfrage bearbeitet wird. Du schreibst 41 rein und wenn das Bediengerät das bearbeitet hat steht danach 0 drin. Nun würde m.E. auch erst der korrekte Wochentag drinstehen ...

    Gruß
    Larry

  6. #5
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    bei mir setzt der Steuerungsauftrag 41 die Systemuhr in der CPU. Das ist es doch wohl nicht, was du willst ... und wenn doch, dann würde ich diese nicht in einem schnellen Zyklus setzen sondern vielleicht einmal am Tag (oder so).
    Du willst doch wohl einen Vergleichswert vorgeben ? Das hat dann nichts mit dem Steuerungsauftrag zu tun sondern mehr mit einer "normalen" Variablen ...

    Gruß
    Larry

    Nanu,
    der Steuerungsauftrag 41 HOLT doch nur Datum/Uhrzeit, die setzt doch nicht die Systemuhr ??

    Gruss

  7. #6
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Zitat Zitat von SoftMachine Beitrag anzeigen
    Nanu,
    der Steuerungsauftrag 41 HOLT doch nur Datum/Uhrzeit, die setzt doch nicht die Systemuhr ??
    hast Recht - mein Fehler ... Ich habe das bei mir in einem FB kombiniert ...

  8. #7
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard

    Zitat Zitat von bernd81 Beitrag anzeigen
    Hallo,


    L 41 --->Steuerungsauftrag
    T MB40
    L MB40
    T DB2.DBB5 ---> Auftragsfach

    L DB2.DBB0 ---> ??
    T MB41

    danach wird im selben Baustein der DB2 ausgelesen und die einzelnen Bytes auf Merkerbytes beschrieben welche dann die Uhrzeit und den Wochentag anzeigen.
    Welche Bytes/Worte werden denn im DB 2 dann noch ausgelesen??

  9. #8
    bernd81 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.07.2010
    Beiträge
    115
    Danke
    17
    Erhielt 1 Danke für 1 Beitrag

    Standard

    so sieht mein Baustein aus:

    // Datum und Uhrzeit
    //Uhrzeit: Wort n+9 bis n+11
    //Datum: Wort n+12 bis n+14
    //Mit dem Steuerungsauftrag 41 können Sie die Übertragung von Uhrzeit und Datum vom Bediengerät zur Steuerung anstoßen.
    //Das Bild zeigt den Aufbau des Datenbereiches. Alle Angaben sind BCD-codiert.
    // Lebensbit
    L DB2.DBB 1
    T MB 30
    // Uhrzeit
    L DB2.DBB 15
    T MB 31
    L DB2.DBB 16
    T MB 32
    L DB2.DBB 17
    T MB 33
    // Datum
    L DB2.DBB 21
    T MB 34
    L DB2.DBB 22
    T MB 35
    L DB2.DBB 23
    T MB 36
    L DB2.DBB 24
    T MB 37
    // Auftragsnummmer an TP senden
    L 41
    T MB 40
    L MB 40
    T DB2.DBB 5
    L DB2.DBB 0
    T MB 41

    Im nächsten NW werden die Merkerwörter mit den Uhrzeiten und Wochentagen (MB34) noch mit BTI in eine Festpunktzahl umgewandelt
    und dann wird das MB34 welches nacher in einem anderen DB steht verglichen auf den Wochentag.
    Dieser Wert ändert sich jedoch des öfteren täglich für ein paar Sekunden.

  10. #9
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.716
    Danke
    398
    Erhielt 2.399 Danke für 1.999 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Wie oft findet denn diese Abfrage statt ?
    Kontrollierst du vor einer neuen Abfrage ob das Auftragsfach leer ist ? Es steht dann eine 0 in deinem DB2.DBB5.
    Auf diese Weise kannst du auch kontrollieren, ob die Anfrage bearbeitet wird. Du schreibst 41 rein und wenn das Bediengerät das bearbeitet hat steht danach 0 drin. Nun würde m.E. auch erst der korrekte Wochentag drinstehen ...
    Schön, dass du auf meine Frage so präzise geantwortet hast ...
    Ich denke, das die Behebung deines fehlers an der einen oder anderen Antwort hängt ...

  11. #10
    Registriert seit
    13.09.2010
    Beiträge
    2.292
    Danke
    178
    Erhielt 375 Danke für 355 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat von Larry Laffer
    Wie oft findet denn diese Abfrage statt ?
    Kontrollierst du vor einer neuen Abfrage ob das Auftragsfach leer ist ? Es steht dann eine 0 in deinem DB2.DBB5.
    Auf diese Weise kannst du auch kontrollieren, ob die Anfrage bearbeitet wird. Du schreibst 41 rein und wenn das Bediengerät das bearbeitet hat steht danach 0 drin. Nun würde m.E. auch erst der korrekte Wochentag drinstehen ...



    Der Steuerungsauftrag sollte auch nicht zu oft gesetzt werden, da kommt so manches Gerät durcheinander...
    Vielleicht zyklisch alle paar Minuten einmal ?
    Auch noch die alten Daten im Bereichzeiger Datum/Uhrzeit ablöschen, bevor neuer Auftrag angestossen wird.

    Übrigens Larry: die 41 wird zwar vom Bediengerät gelöscht ("0"), aber wird dann doch noch mal kurzzeitig wieder von Gerät ins DBB geschrieben (wenn die Daten übertragen werden)
    Hier hilft vielleicht das Ablöschen der empfangenen Daten. Der Auftrag ist dann abgeschlossen, wenn neue Daten da sind (auf >< 0 prüfen)

    Gruss

Ähnliche Themen

  1. WinCC flex Anwendung Bildschurm flackert
    Von Kleissler im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 14.12.2010, 19:13
  2. Aktueller Wochentag Date_and_Time
    Von bastler im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 28.10.2008, 18:40
  3. Während Beobachten Flackert Ausgang
    Von tisler im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 18.01.2008, 07:49
  4. Wochentag
    Von TedescoA im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 03.01.2007, 11:23
  5. Schnittstellenkabel für TP37
    Von Mohrchen im Forum HMI
    Antworten: 3
    Letzter Beitrag: 27.01.2006, 08:10

Lesezeichen

Berechtigungen

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