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

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

Thema: Timer darstellen s7-200 WinCC flexible

  1. #1
    Registriert seit
    10.10.2010
    Beiträge
    65
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,
    ich habe eine S7-200 CPU 224 programmiert.
    Bediengerät ist mein PC (über WinCC flexible Advanced programmiert)
    Das Programm funktioniert jetzt soweit.

    Folgendes Problem:

    Ich habe in dem Programm verschiedene Timer (TOF/TON) die ich über ein E/A Feld anzeigen lassen will.

    Die Zeit soll als Minuten Sekunden runterlaufen. Also 2,00 Min 1,59 Min , 1,58 Min........

    Hab eine Denkblockade und komme nicht weiter.

    Kann mir jemand helfen und hat vielleicht gleich passend die AWL däfür ?
    Zitieren Zitieren Timer darstellen s7-200 WinCC flexible  

  2. #2
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Rechne:
    Minuten + Sekunden/100

  3. #3
    Registriert seit
    10.10.2010
    Beiträge
    65
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Das hilft mir nicht wirklich weiter.
    Womit setze ich das um ?
    Also,der Timer funktioniert.
    Nun der nächste Programmschritt ?
    LD T101
    ... ?
    ... ?

  4. #4
    Registriert seit
    08.02.2007
    Ort
    A-2320
    Beiträge
    2.252
    Danke
    244
    Erhielt 332 Danke für 303 Beiträge

    Standard

    Sry, ich kenn mich mit der 200er nicht aus.
    Was ich aber gerade aus dem Systemhandbuch herausgelesen habe gibt es IEC-Timer
    An dessen Ausgang ET kann man eine Variable anschnürln die solange raufzählt bis PT erreicht ist, die Interpretation dieses Werte ist jedoch von der Timernummer- wie mir scheint-abhängig (1ms, 10ms oder 100ms).
    Wenn Du nun PT-ET rechnest erhältst Du die Restzeit (vorbehaltlich einer Änderung an PT).
    Systemhandbuch S7 200:
    http://support.automation.siemens.co...prim=&nodeid99=

    Wird halt noch ein bissel eine Rechnerei bis Du auf x.yz Min kommst.

    S7 200 = öde!

  5. #5
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Dein Timer gibt die Zeit in 0,1s als INT an.

    Du mußt also als Erstes mal durch 10 teilen, damit Du die vollen Sekunden hast.
    Dann mußt Du den Wert durch 60 teilen für die vollen Minuten und der Rest ergibt die restlichen Sekunden.
    Du erhältst also zwei Variablen.

    Eine Bibliothek mit Modulo findest Du hier. Weiß grad nicht, ob Du die brauchst. Bin auf dem Sprung ins Kino. Danach kann ich mir das ja noch mal ansehen.

  6. #6
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Hab' die oben verlinkte Bibliothek mal ein bißchen angepaßt und eingedeutscht:
    Code:
    SUBROUTINE_BLOCK MOD_W:SBR50
    TITLE=
     
     
    VAR_INPUT
    Wert:WORD;
    Teiler:WORD;
    END_VAR
     
    VAR_OUTPUT
    Quotient:WORD;
    Rest:WORD;
    DoR:BOOL;
    Fehler:BOOL;
    END_VAR
     
    VAR
    Produkt:WORD;
    END_VAR
     
     
    BEGIN
     
    Network 1 // Reset
    // Alle Ausgangsvariablen rücksetzen
    LD     SM0.0
    FILL   0, LW4, 3
     
    Network 2 // Division
    // Ganzzahligen Anteil bestimmen und als Quotient ausgeben
    // oder Fehler ausgeben und SUB abbrechen
    LD     SM0.0
    MOVW   LW0, LW4
    UENO
    /I     LW2, LW4
    UENO
    NOT
    =      L8.1
    CRET
     
    Network 3 // Multiplikation
    // Gegenrechnung: Produkt von Teiler und ermittelten Quotient bestimmen
    LD     SM0.0
    MOVW   LW2, LW9
    *I     LW4, LW9
     
    Network 4 // Subtraktion
    // Gegenrechnung: Differenz vom Wert und Produkt der Gegenrechnung bestimmen und als Rest ausgeben
    LD     SM0.0
    MOVW   LW0, LW6
    -I     LW9, LW6
     
    Network 5 // Division ohne Rest DoR
    // Wenn kein Rest, Ausgang setzen (SM1.0 wird im vorigen Netzwerk gesetzt, wenn das Ergebnis=0)
    LD     SM1.0
    S      L8.0, 1
     
    END_SUBROUTINE_BLOCK
    Damit kannst Du das z.b so einsetzen:
    Timer wandeln.jpg

    PS: Ich hoffe, es haben sich keine Fehler eingeschlichen. Hatte keine Lust, das jetzt noch zu testen, aber das Prinzip sollte auf jeden Fall klar werden.
    Bei anderen Timern mußt Du eventuell den ersten Teiler anpassen.
    Die Nummer des SBR hab' ich mal auf 50 gesetzt, in der Hoffnung, den gibt's bei Dir noch nicht.

  7. #7
    Registriert seit
    10.10.2010
    Beiträge
    65
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Danke für die Antwort.
    Sieht gut aus.
    Ich habe allerdings nicht :Quotient,Rest,DoR und Fehler in den Bausteinen stehen.
    Wo kriege ich diese her ?
    Bei mir steht nur DWR und Out

  8. #8
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von blaupille29 Beitrag anzeigen
    ...
    Ich habe allerdings nicht :Quotient,Rest,DoR und Fehler in den Bausteinen stehen.
    Wo kriege ich diese her ?
    Bei mir steht nur DWR und Out
    Du benutzt die Bibliothek aus meiner ersten Antwort.

    Schau mal von hier zwei Post höher über das Bildchen. Da hab ich Dir den angepaßten Code zitiert, bei dem hast Du dann diese Ein-/Ausgänge.
    Den schreibst (kopierst) Du in eine .txt-Datei, die Du neu anlegst und deren Datei-Endung Du anschließend von .txt auf .awl änderst.

    Wenn Dir die Nummer des Unterprogramms nicht gefällt, die Zahl hinter SBR in der ersten Zeile ändern (max. 63). Geht natürlich auch noch nach dem Importieren unter Eigenschaften des Unterprogramms. Nur vor dem Importieren darauf achten, daß es die Nummer noch nicht gibt, denn MicroWin fragt bei bereits vorhandenem Unterprogramm mit dieser Nummer nicht nach, sondern überschreibt es einfach!

    Danach kannst Du diese .awl-Datei mit einem Rechtsklick auf den Ordner Programmbaustein in Dein Projekt importieren.


    Das Bild oben zeigt Dir dann ein Beispiel für die Anwendung des von mir geposteten, angepaßten Unterprogramms.


    PS: Hab' Dir mal die .awl-Datei noch angehangen:
    Angehängte Dateien Angehängte Dateien

  9. Folgender Benutzer sagt Danke zu hucki für den nützlichen Beitrag:

    blaupille29 (23.01.2011)

  10. #9
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.716
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard

    Zitat Zitat von hucki Beitrag anzeigen
    ...
    PS: Ich hoffe, es haben sich keine Fehler eingeschlichen. Hatte keine Lust, das jetzt noch zu testen, ...
    Hab' mal meine Test-Anlage rausgekramt und das nachgeholt. Bei mir läuft's so wie gepostet.

    Gut zu beobachten ist beim TON-Timer der Umsprung der Ausgabe von 59 auf 100.
    Komma-Verschiebung im HMI/WinCC flex dann nicht vergessen.

  11. #10
    Registriert seit
    10.10.2010
    Beiträge
    65
    Danke
    11
    Erhielt 2 Danke für 2 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sorry,ich habe vergeblich versucht das Programm zu importieren.
    Wenn ich es importiert habe ist SBR50 auch da.
    Wenn ich dann aus der Bibliothek den Mod_w rausziehe sieht er wie auf Ihrem Bild aus.
    Allerdings gibt es dann Fehler nach der Bearbeitung beim überspeielen in die CPU.
    Der SBR50 nach importieren sieht ganz anders aus wie auf Ihrem Bild
    Ich weiß aber nicht wohin mit meinen 2 Variablen.T101 und als EA Feld VW101.

    Ich habe wohl vergessen zu erwähnen das ich nur gelegentlich programmiere.

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 29.04.2009, 16:56
  2. Antworten: 0
    Letzter Beitrag: 03.12.2007, 13:49
  3. Zeit darstellen in WinCC flexible
    Von geduldiger im Forum HMI
    Antworten: 7
    Letzter Beitrag: 25.06.2007, 15:52
  4. Antworten: 4
    Letzter Beitrag: 27.07.2005, 23:51
  5. Antworten: 0
    Letzter Beitrag: 17.07.2005, 11:14

Lesezeichen

Berechtigungen

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