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

Ergebnis 1 bis 9 von 9

Thema: Speichernde Einschaltverzögerung für S7-200 MicroWin

  1. #1
    Registriert seit
    04.07.2012
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hi,
    bin gerade am Programmieren einer Rollosteuerung für die S7-200, habe das Programm mit TrySim geschrieben und simuliert, jetzt versuche ich gerade alles in MicroWin für die spätere SPS "umzuschreiben"

    In TrySim hatte ich eine Speichernde Einschaltverzögerung, d.h. wenn am Eingang ein Impuls oder Dauersignal anliegt und die eingestellte Zeit abgelaufen ist, wird der Ausgang geschaltet. Solange bis am Reset ein Signal anliegt.
    So einen Baustein habe ich aber in MicroWin nicht. Gibts da eine Möglichkeit oder muss ich dass Ganze "umgestalten"?
    Zitieren Zitieren Speichernde Einschaltverzögerung für S7-200 MicroWin  

  2. #2
    Registriert seit
    23.03.2006
    Ort
    Thüringen
    Beiträge
    2.005
    Danke
    162
    Erhielt 278 Danke für 199 Beiträge

    Standard

    Mußt Du Dir basteln,
    ist doch aber kein Problem Flipflop und Zeit......

    Gruß
    Mario

  3. #3
    johannes83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.07.2012
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Hab ich mir schon fast gedacht, wollt es halt net noch unübersichtlicher machen als es eh schon geworden ist.
    Danke

  4. #4
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Zitat Zitat von johannes83 Beitrag anzeigen
    ...
    Gibts da eine Möglichkeit ...
    Ja, gibt es.

    Einfach ein Unterprogramm schreiben, das die Funktion emuliert und mehrfach verwendet werden kann.
    Wie, hängt davon ab, welche CPU Du genau einsetzt und ob die Funktion nachtriggerbar sein soll oder nicht.

    Hier ein Beispiel mit Einstellung in ms, der Genauigkeit von 1 Zyklus und nicht nachtriggernd:
    Code:
    SUBROUTINE_BLOCK S_SEVERZ1:SBR63
    TITLE=
    
    VAR_INPUT
    Start:BOOL;    // Start
    Reset:BOOL;    // Reset
    PT:DINT;    // Preset value in msec
    END_VAR
    
    VAR_IN_OUT
    CV:DINT;    // Current value in msec
    END_VAR
    
    VAR_OUTPUT
    Output:BOOL;    // CV=PT
    END_VAR
    
    VAR
    Tmp_DI:DINT;
    Start_Tmr:BOOL;
    END_VAR
    
    
    BEGIN
    
    Network 1 // Start
    LD     L0.0
    UD=    LD5, 0
    MOVD   1, LD5
    =      L14.0
    
    Network 2 // Reset
    LD     L0.1
    MOVD   0, LD5
    
    Network 3 // Add
    LDD>   LD5, 0
    UN     L14.0
    ITD    SMW22, LD10
    +D     LD10, LD5
    
    Network 4 // Output
    LDD>=  LD5, LD1
    MOVD   LD1, LD5
    =      L9.0
    
    END_SUBROUTINE_BLOCK
    Mit den CPUen 22x kann man anstatt mit der Zykluszeit mit den Befehlen BGN_ITIME und CAL_ITIME arbeiten und erhält dann eine noch höhere Genauigkeit.

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

    johannes83 (05.07.2012)

  6. #5
    johannes83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.07.2012
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ah ja, sowas in der Art hatte ich mir vorgestellt. Muss aber nachtriggerbar sein.
    Danke für die Mühe!

  7. #6
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Nachtriggernd (Neustart der Zeit) solange Output=0, aber ungetestet:
    Code:
    SUBROUTINE_BLOCK S_SEVERZ2:SBR63
    TITLE=
    
    VAR_INPUT
    Start:BOOL;    // Start
    Reset:BOOL;    // Reset
    PT:DINT;    // Preset value in msec
    END_VAR
    
    VAR_IN_OUT
    Output:BOOL;    // CV=PT
    Memory:BOOL;    // Last value of start
    CV:DINT;    // Current value in msec
    END_VAR
    
    VAR
    Tmp_DI:DINT;
    END_VAR
    
    
    BEGIN
    
    Network 1 // Start
    LD     L0.0
    UN     L5.1
    UN     L5.0
    MOVD   1, LD6
    
    Network 2 // Reset
    LD     L0.1
    MOVD   0, LD6
    
    Network 3 // Add
    LD     L5.1
    OD>    LD6, 1
    ITD    SMW22, LD10
    +D     LD10, LD6
    
    Network 4 // Memory
    LD     L0.0
    UN     L0.1
    =      L5.1
    
    Network 5 // Output
    LDD>=  LD6, LD1
    MOVD   LD1, LD6
    =      L5.0
    
    END_SUBROUTINE_BLOCK
    Hast Du Dir eigentlich das Programm, oder was sonst so im Forum 'rumschwirrt, schon angesehen, ob Du's vlt. als Grundlage verwenden kannst, anstatt das Fahrrad neu zu erfinden?

  8. #7
    johannes83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.07.2012
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Nee, noch nicht.
    Hab vor längerer Zeit schon mal gesucht aber nix passendes im Internet gefunden, werd ich heut aber nochmal machen.
    Will jeden Rollo mit einem eigenen Taster für Auf und Ab steuern und zusätzlich bei zweimaligen Tasten eine Gruppenschaltung, bei dreimaligen Tasten eine Etagenschaltung und bei viermaligen Tasten das komplette Haus auf oder Ab lassen können, und das quasi von jedem Taster aus.
    Wie gesagt, hatte das Programm nach einigen Abenden in TrySim auch schon lauffähig bekommen, aber jetzt beim umschreiben ins MicroWin funktioniert gar nix mehr.
    Und das ganze ist nicht gerade wenig und übersichtlich...

  9. #8
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.738
    Danke
    444
    Erhielt 924 Danke für 744 Beiträge

    Standard

    Hab' mal ein bißchen an dem alten Programm rumgebastelt. Vlt. ist es ja jetzt was für Dich.

    Würdest Du auch Dein Programm mal online stellen?

  10. #9
    johannes83 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    04.07.2012
    Beiträge
    6
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Sorry, bin noch nicht dazu gekommen, werd mir dein Programm am Wochenende mal anschauen und meines hochladen. Hab auf diesem Rechner hier kein MicroWin drauf, auf dem anderen dafür kein Internet. Aber vielen Dank schonmal für die Mühe, bin mal gespannt wie es bei diesem Programm gelöst ist. Meld mich dann wieder...

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 09.02.2012, 16:36
  2. Antworten: 16
    Letzter Beitrag: 03.09.2010, 22:00
  3. Antworten: 7
    Letzter Beitrag: 23.07.2009, 19:37
  4. S7-200 Impuls zur Einschaltverzögerung???
    Von Dogma im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 25.06.2006, 02:03
  5. S7-200 Einschaltverzögerung
    Von DTP im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 23.03.2006, 19:31

Lesezeichen

Berechtigungen

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