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

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

Thema: S7-300 Selbst reseten

  1. #11
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.167
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von vecoplaner Beitrag anzeigen
    Ich glaube er hatte auch im sinn gehabt bei einem Überlauf zu reagieren zB:

    Code:
        L     IN_ZÄHLWERT
        L     STAT_ALT_ZÄHLER        
        -I
        T     DB
        
        L     IN_ZÄHLWERT
        T     STAT_ALT_ZÄHLER 
    
        U     OV
        SPBN  UEL
        L     0
        T     IN_ZÄHLWERT
    UEL:    NOP 0
    Ich fürchte, dieser Code bringt in die Zählerstands-Differenzberechnung mehr Fehler rein, als wenn man garnichts unternimmt ...

    Gruß
    Harald

  2. #12
    Meiers ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.08.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Also ich habs jetzt folgendermaßen gelöst:
    Tor ist dauerhaft TRUE und zählt damit dauerhaft.
    Timer läuft 5sek, nach ablauf der Zeit wird Zählwert in DB übertragen und über den Job im SFB47 auf 0 gesetzt. Dann hab ich mir den Instanz-DB vom SFB47 angeschaut und hab mir den Statusbit von JOB_REQ genommen. Damit steuer ich den Timer. Sobald er den Job bekommt geht das Signal am Timer auf 0 und dadurch setzt sich auch JOB_REQ wieder auf 0 und der Timer läuft wieder....
    Funktioniert wunderbar.
    Vielen dank für eure hilfe!

  3. #13
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    @meiers
    Ich bin mir jetzt ja wahrlich nicht 100% sicher, aber für die Variante benötigst du im günstigsten Fall 3 SPS-Zyklen.
    Wenn ich nun von einer Zykluszeit von ca. 2 ms ausgehe, was für eine 313C echt schnell ist...

    Wie war die obige Zeitforderung nochmal?

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  4. #14
    Meiers ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.08.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ach wäre ja auch zu schön gewesen...aber du hast natürlich recht, so geht das nicht.
    Nunja dann muss ichs eben unendlich zählen lassen und den alten vom neuen wert subtrahieren.
    Das Problem ist nur das der SFB47 bei überlauf nicht auf -214....... sonder auf 0 geht und somit die differenzberechnung käse ergibt.
    Noch eine kleine zusatzfrage. Die CPU-313C ist ja nicht erweiterungsfähig. Da das Programm allerdings im EX-bereich laufen muss brauche ich eine EX baugruppe und die kann ich da nicht einbauen. Welche CPU kann denn noch zählen und ist erweiterbar? Kann die 314C erweitert werden?

  5. #15
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Welche Baugruppe brauchst du denn?
    Normale S7-300 Baugruppen kannst du schon anbauen.

    Also im Falle des Überlaufs, zu erkennen, das dein Differenzwert negativ wird,
    musst du 2147... - "Alten Wert" + neuen Wert rechnen, und hast so exakt die korrekte Differenz.

    Mfg
    Manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  6. #16
    Meiers ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.08.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Ja gut soweit ist mir das schon klar. Jetzt muss ich eben jedesmal prüfen ob der neue wert kleiner ist als der alte und wenn ja so rechnen wie du gesagt hast. Aber das ist ja kein Problem. Soweit bekomm ich das hin.

    Die EX Baugruppe ist ein Digitaler Input und nennt sich "SM321-7RD00-0AB0"

    Normale S7-300 Baugruppen kannst du schon anbauen.
    Ja normale. Die 314-2DP konnte ich problemlos erweitern, die 313C will nicht.

  7. #17
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.519 Danke für 1.282 Beiträge

    Standard

    Also ich weiß nicht was du machst, aber die genannte Baugruppe kannst du problemlos an der 313C verwenden.

    Wo scheiterst du denn?

    Mfg
    manuel
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  8. #18
    Meiers ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.08.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Oh mein Gott wie peinlich...
    Augen auf und schon gehts
    Sorry.

    Gut ich werde morgen mal weiter schauen und alles soweit fertig programmieren. In 2Wochen kommt mein Kollege wieder der schmeißt dann sein Fernwirkprogramm drauf und wir werden mal schauen ob dann noch alles in akzeptabler Zeit funktioniert.
    Vielen dank für die nette Unterstützung.

  9. #19
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.167
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Zitat Zitat von Meiers Beitrag anzeigen
    Nunja dann muss ichs eben unendlich zählen lassen und den alten vom neuen wert subtrahieren.
    Das Problem ist nur das der SFB47 bei überlauf nicht auf -214....... sonder auf 0 geht und somit die differenzberechnung käse ergibt.
    Also gut, dann nochmal aufdringlich:

    Wenn ein Zählkanal der CPU313C in der HW-Konfig auf "Endlos zählen" eingestellt ist und die HW-Konfig in die
    CPU übertragen wurde, dann springt der Zähler beim Vorwärtszählen nach der oberen Zählgrenze +2.147.483.647
    auf die untere Zählgrenze -2.147.483.648. Die Zählgrenzen sind auf den maximalen Zählbereich fest eingestellt.

    Beispiel: Vorwärtszählen über die obere Zählgrenze hinweg (Überlauf)
    Code:
                          Differenz_Jetzt = Zaehlerstand_Jetzt - Zaehlerstand_Start
    Impuls:  Zählerstand   |
                           v
      0:  +2.147.483.643  D= 0  -> als Zaehlerstand_Start merken
     +1:  +2.147.483.644  D=+1
     +2:  +2.147.483.645  D=+2
     +3:  +2.147.483.646  D=+3
     +4:  +2.147.483.647  D=+4     <- obere Zählgrenze
     +5:  -2.147.483.648  D=+5     <- untere Zählgrenze
     +6:  -2.147.483.647  D=+6
     +7:  -2.147.483.646  D=+7
     +8:  -2.147.483.645  D=+8
     +9:  -2.147.483.644  D=+9  -> Zaehlerstand_Jetzt
    Nach 9 Zählimpulsen über Zähler-Überlauf hinweg:
    Differenz_Jetzt = Zaehlerstand_Jetzt - Zaehlerstand_Start = -2.147.483.644 - +2.147.483.643 = +9
    Code:
          L    "Zaehlerstand_Jetzt"  // -2.147.483.644
          L    "Zaehlerstand_Start"  // +2.147.483.643
          -D
          T    "Differenz_Jetzt"     // +9
    Die Differenzberechnung ergibt immer sofort das korrekte positive Ergebnis. Eine Korrektur ist nie nötig.
    Bei mehr als 2.147.483.647 Impulsen im Meßzeitraum ergibt sie scheinbar ein negatives Ergebnis. Das liegt daran,
    daß bei DINT größere Zahlen als "negativ" vereinbart sind. Das Ergebnis muß als "unsigned" DINT betrachtet
    werden. Addieren von 2.147.483.648 würde zu einem falschen Ergebnis führen.

    Der SFB47 wird bei der Differenzmethode bei freilaufendem Endlos-Zähler nur zum Öffnen des SW-Tores benötigt.
    Es werden keine Aufträge/Jobs benötigt.

    Gruß
    Harald
    Zitieren Zitieren Differenzberechnung  

  10. #20
    Meiers ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    25.08.2010
    Beiträge
    8
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Achso ok danke.
    Das zählen klappt jetzt, nur hab ich jetzt das Problem wenn ich das alles an die neue Baugruppe hänge und beim SFB47 die E/A-Adresse auf die der neuen Baugruppe anpasse, wird nichtmehr gezählt.
    Egal welchen der 4 kanäle des SM321 ich benutze, er zählt nicht.
    HW-Konfig hab ich selbstverständlich aktualisiert.
    Und ein test (eingang des SM321 = Ausgang) hat gezeigt das die adressierung auch stimmt.
    Kann ich mit dem SM321 garnicht zählen?

Ähnliche Themen

  1. Fehler Pnoz mutli reseten
    Von mitchih im Forum Sonstige Steuerungen
    Antworten: 5
    Letzter Beitrag: 07.03.2011, 19:52
  2. OP77A Aufgehangen!wie reseten?
    Von nognogradio im Forum HMI
    Antworten: 9
    Letzter Beitrag: 23.02.2011, 19:36
  3. Der Reihe nach auslesen und dann reseten ?
    Von Chris30 im Forum Simatic
    Antworten: 9
    Letzter Beitrag: 15.07.2010, 20:48
  4. Antworten: 9
    Letzter Beitrag: 11.03.2009, 11:47
  5. CPU Reseten
    Von Krma1985 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 13.02.2009, 08:46

Lesezeichen

Berechtigungen

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