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

Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: Pulssignal einfach programmieren

  1. #11
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.715
    Danke
    443
    Erhielt 914 Danke für 739 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von redtshirt Beitrag anzeigen
    Als CPU läuft eine 319 (Zykluszeit im Moment 2-3ms). Aber irgendwie bekomm ich die Signalfolge von 2 mal 500ms 1 und 0 und 3 mal 500ms 1 und 0 nicht gebacken. Das Signal kann maximal 10ms abweichen. Eine der beiden Signalfolgen soll alle paar Minuten einmal durchlaufen werden.
    Meine ersten Gedankengänge dazu:
    Ich würd' den OB35 alle 500ms aufrufen.
    Wenn keine Freigabe für die Impulsfolge(n) wieder abbrechen.
    Ansonsten den Ausgang bei jedem Aufruf negieren und die negativen Flanken mitzählen. Bei 2 bzw. 3 dann die jeweilige Freigabe zurücksetzen.

    Was hattest Du denn schon versucht?

  2. #12
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von redtshirt Beitrag anzeigen
    Als CPU läuft eine 319 (Zykluszeit im Moment 2-3ms). Aber irgendwie bekomm ich die Signalfolge von 2 mal 500ms 1 und 0 und 3 mal 500ms 1 und 0 nicht gebacken. Das Signal kann maximal 10ms abweichen. Eine der beiden Signalfolgen soll alle paar Minuten einmal durchlaufen werden.
    Ah, das Ganze soll also nicht endlos laufen, sondern 2x1-0 und 3x1-0.

    in diesem Falle würde ich zuerst ein Taktsignal erzeugen, das für deinen Zwecke hinreichend genau ist. Wenn die CPU bei 2-3 ms bleibt, geht das schon mit SPS-Timern, wenn das zu ungenau sein sollte, dann kann man ja immer noch den Vorschlag von 4L umsetzen. Diesen Takt auf den Rückwärts-Zähleingang eines Zählers legen, der mit 2 oder 3 vorbesetzt ist, den Ausgang des Zählers auf einen Merker.

    So lange der Zähler >0 ist der Merker True.
    Nun kann man den Takt und den Merker verknüpfen.

    So sieht das etwa in FUP aus:



    M2.0 Startet das Ganze.
    Der Zählwert entspricht der Anzahl der Signalwechsel.
    M1.2 ist das gewünschte Ausgangssignal.
    Angehängte Grafiken Angehängte Grafiken
    Geändert von Ralle (27.09.2010 um 20:40 Uhr)
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

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

    redtshirt (27.09.2010)

  4. #13
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von vierlagig Beitrag anzeigen
    das problem am taktmerker ist, dass er asynchron läuft!
    Wenn man den Taktmerker am Anfang des Zyklus einem anderen Merker zuweist und dann nur noch diesen Merker weiterverknüpft,
    dann gibt es kein asynchron-Problem mehr. Die Abweichung ist maximal 1 Zyklus. Genauer geht es bei CPU ohne integrierte Peripherie
    nur in OB3x, und auch nur dann, wenn man direkt im OB3x auf den Peripherie-Ausgang schreibt.

    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:

    redtshirt (27.09.2010)

  6. #14
    Registriert seit
    26.09.2010
    Beiträge
    64
    Danke
    9
    Erhielt 12 Danke für 7 Beiträge

    Standard

    Benutze einen Alarm OB zB OB35 Aufrufzeit 500ms


    Un A0.0
    = A0.0
    Un A0.0
    = A0.1

  7. #15
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Unglücklich

    Mal wieder zurückrudern

    Weil vierlagig immer nur so kurze Sätze schreibt, dachte ich, er spielt auf die Asynchronität der Taktmerker zum OB1-Zyklus an.
    Tatsächlich meint er wohl die Asynchronität zur gewünschten Impulsfolge. Wenn die Impulsfolge sofort beim aktivieren der Freigabe
    beginnen soll, dann kann man natürlich keinen Taktmerker benutzen. So gesehen hat vierlagig natürlich vollkommen recht.
    redtshirt kann das Danke bei meinem Beitrag wieder zurücknehmen.

    Und VL hat auch recht damit, daß man die Zeitmessung mit OB1_PREV_CYCLE (und einem Addierer mit Weiterverarbeitung des Übertrags)
    realisieren sollte. Mit normalen Timern erzeugt, werden alle Impulse immer 1 bis 2 OB1-Zykluszeiten zu lang.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren vierlagig hat Recht ...  

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

    vierlagig (27.09.2010)

  9. #16
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Mal wieder zurückrudern

    Weil vierlagig immer nur so kurze Sätze schreibt, dachte ich, er spielt auf die Asynchronität der Taktmerker zum OB1-Zyklus an.
    Tatsächlich meint er wohl die Asynchronität zur gewünschten Impulsfolge. Wenn die Impulsfolge sofort beim aktivieren der Freigabe
    beginnen soll, dann kann man natürlich keinen Taktmerker benutzen. So gesehen hat vierlagig natürlich vollkommen recht.
    redtshirt kann das Danke bei meinem Beitrag wieder zurücknehmen.

    Und VL hat auch recht damit, daß man die Zeitmessung mit OB1_PREV_CYCLE (und einem Addierer mit Weiterverarbeitung des Übertrags)
    realisieren sollte. Mit normalen Timern erzeugt, werden alle Impulse immer 1 bis 2 OB1-Zykluszeiten zu lang.

    Harald
    geht doch, und ich hab mir die mühe gespart, das ganze nochmal zu erklären
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  10. #17
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ja, die langen Erklärungen sind mein Part und Deiner ist das Recht haben

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  11. #18
    Registriert seit
    08.08.2007
    Ort
    Dresden
    Beiträge
    9.648
    Danke
    1.059
    Erhielt 2.046 Danke für 1.627 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Ja, die langen Erklärungen sind mein Part und Deiner ist das Recht haben

    Harald
    wenn ich mehr als deine büro-nummer hätte würd ich dich jetzt anrufen und sagen: "jopp"

    aber um noch mal auf den ob1_prev_cycle zurück zu kommen, wenn man die funktion lange genug betreibt kann man damit eine +-1/2 zyklus genaue taktung hinbekommen, man bilde nur den mittelwert und entscheide, ob man im nächsten zyklus weit über dem zielwert liegen würde...
    [SIGNATUR]
    Ironie setzt Intelligenz beim Empfänger voraus.
    [/SIGNATUR]

  12. #19
    Registriert seit
    27.05.2004
    Ort
    Thüringen/Berlin
    Beiträge
    12.220
    Danke
    533
    Erhielt 2.696 Danke für 1.948 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    Ja, die langen Erklärungen sind mein Part und Deiner ist das Recht haben

    Harald
    Hör sofort mit der Schleimerei auf!!! Der 4L geht sonst wieder mit der Nase in den Himmel.
    Gruß
    Ralle

    ... there\'re 10 kinds of people ... those who understand binaries and those who don\'t …
    and the third kinds of people … those who love TIA-Portal

  13. #20
    Registriert seit
    16.12.2008
    Ort
    Fürth
    Beiträge
    146
    Danke
    32
    Erhielt 21 Danke für 19 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Und von unten sehen wir nur seine Popel xD
    -A+B=15=21 Klingt komisch - ist aber so!
    -It's not a bug, it's a feature!
    -Es gibt nur 3 Feinde im Leben eines Programmierers: Sonnenlicht, Frischluft und das unerträgliche Gebrüll der Vögel ...!

Ähnliche Themen

  1. Logische Verknüpfungen einfach u. logisch programmieren
    Von good_mike im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 04.05.2011, 18:53
  2. Einfach nur Dämpfen
    Von Thor´sHammer im Forum CODESYS und IEC61131
    Antworten: 1
    Letzter Beitrag: 06.01.2011, 17:04
  3. Einfach unglaublich
    Von pvbrowser im Forum HMI
    Antworten: 4
    Letzter Beitrag: 20.07.2010, 19:47
  4. weils einfach gut tut
    Von Markus im Forum Stammtisch
    Antworten: 49
    Letzter Beitrag: 04.10.2009, 02:17
  5. Einfach nur genial :)
    Von Sandman im Forum Stammtisch
    Antworten: 3
    Letzter Beitrag: 17.03.2008, 15:49

Lesezeichen

Berechtigungen

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