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

Seite 4 von 5 ErsteErste ... 2345 LetzteLetzte
Ergebnis 31 bis 40 von 47

Thema: OB35, s7-CPU314: Einstellung 10ms funzt nicht, 50ms geht sehr gut

  1. #31
    Registriert seit
    20.11.2006
    Ort
    Hamburg
    Beiträge
    225
    Danke
    35
    Erhielt 35 Danke für 32 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von mega_ohm Beitrag anzeigen
    So, wie ich den OB35 zu Beginn dieses Themas hier eingestellt habe, ist er geblieben.

    Das Retten von AR1 u. AR2 würde so aussehen ?
    Code:
    LAR 1 // Mit dieser Operation ... Adressregister1 oder 2 beschicken. Sie
                kann auch ohne Operand verwendet werden. 
    LAR 2
    .. Programmcode
    TAR 1
    TAR 2 // Adressregister wird in den angegeben Operanden transferiert.
                Wenn keiner angegeben ist, in den Akku 1.


    Oder geht das anders ?
    Also nach meiner Meinung funktioniert das Sichern von Adresssregistern nach folgendem Prinzip:

    Code:
    ORGANIZATION_BLOCK "CYC_INT5"
    TITLE = "Cyclic Interrupt"
    VERSION : 0.1
     
    VAR_TEMP
      OB35_EV_CLASS : BYTE ; //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
      OB35_STRT_INF : BYTE ; //16#36 (OB 35 has started)
      OB35_PRIORITY : BYTE ; //Priority of OB Execution
      OB35_OB_NUMBR : BYTE ; //35 (Organization block 35, OB35)
      OB35_RESERVED_1 : BYTE ; //Reserved for system
      OB35_RESERVED_2 : BYTE ; //Reserved for system
      OB35_PHASE_OFFSET : WORD ; //Phase offset (msec)
      OB35_RESERVED_3 : INT ; //Reserved for system
      OB35_EXC_FREQ : INT ; //Frequency of execution (msec)
      OB35_DATE_TIME : DATE_AND_TIME ; //Date and time OB35 started
      AdressRegister1 : DWORD ; 
      AdressRegister2 : DWORD ; 
    END_VAR
    BEGIN
    NETWORK
    TITLE =Adressregister retten
          TAR1  ; 
          T     #AdressRegister1; 
          TAR2  ; 
          T     #AdressRegister2; 
    NETWORK
    TITLE =
    //Code
    NETWORK
    TITLE =Adressregister zurückschreiben
          L     #AdressRegister1; 
          LAR1  ; 
          L     #AdressRegister2; 
          LAR2  ; 
    END_ORGANIZATION_BLOCK
    Gruß
    Geändert von Dotzi (03.12.2008 um 09:42 Uhr)

  2. Folgender Benutzer sagt Danke zu Dotzi für den nützlichen Beitrag:

    mega_ohm (04.12.2008)

  3. #32
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    ... so wie von Dotzi beschrieben habe ich es gemeint ... Ich würde lediglich die Aressregister in ein DWORD und nicht in ein WORD sichern ...

    Gruß
    LL

  4. Folgende 2 Benutzer sagen Danke zu Larry Laffer für den nützlichen Beitrag:

    Dotzi (03.12.2008),mega_ohm (04.12.2008)

  5. #33
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Dotzi Beitrag anzeigen
    Also nach meiner Meinung funktioniert das Sichern von Adresssregistern nach folgendem Prinzip:

    > Beispiel < (gekürzt )

    Gruß
    Ganz, ganz vielen Dank für das Beispiel.
    Ich hatte geschrieben, wie ich mir das Sichern vorstellen würde und ein Frägezeichen dahintergesetzt. (Ich hatte gar keinen Plan, wie man Adressregister behandelt )

    Meine grundlegenden Gedanken waren schon ganz falsch. Ich hätte erst "geladen" (wie z.B. ):
    Code:
    L db1.dbw0
    L <irgendwas>
    ...
    T db1.dbw0
    ( so wie es sonst eigentlich üblich ist ) und zum Schluß "geschrieben".

    Nun kann ich aber nachvollziehen, wie das Sichern aussieht.
    ( Erst Register auf ein DWord schreiben, dann Progi ausführen, dann DWord zurück'laden')
    In Pascal war das eigenlich auch so, wenn man ASM- Code ausführen wollte.
    Mir fiel das in dem Moment wieder ein, als ich die Struktur Deines Beispiels gelesen habe.



    Mfg

  6. #34
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo,
    deine Frage läßt sich m.E. nicht so einfach beantworten ...

    Pauschal sieht es so aus, als wenn mit deinen Pointern...

    Gruß
    LL
    Hallo Larry,
    wie meinst Du das mit den "Pointern" ?
    Ich habe ( zumindest bewußt) keine Pointer benutzt, weil ich davon noch gar keine Ahnung habe.

    Mfg

  7. #35
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Bis JETZT !!! (heute ) gab es wieder keine Probleme mehr mit meinem Progi.
    Deswegen verstehe ich ja auch nicht so ganz, warum dieses Progi nicht funzt. ( Ein Progi, welches die CPU irgendwann zum "Stopp" zwingt, funktioniert nicht )

    Das Programm läuft etliche Wochen ( die 'Mimik' im OB35 wird produktionsbedingt innerhalb von 10 Minuten mind. 4x aufgerufen, in 3 Schichten an 5 Tagen pro Woche) und irgendwann (nach fast einem Monat) stoppt das System mit einem nicht nachvollziehbaren Fehler ???
    Das raffe ich nicht.

    Ich werde aber das Sichern der Adressregister schonmal vorbereiten (Dank an Alle, die mir Das erklärt haben ).
    Beim nächsten CPU- Stopp 'spiele' ich dann diese Version auf die SPS.
    ( Bis dahin muß ich warten, sonst schmeißt mich mein Chef durch die Halle )

    Ich melde mich also mit diesem Thema wieder, wenn ich weiß, ob diese Maßnahme von ERFOLG

    oder Mißerfolg gekrönt wurde.
    (Dann hätte ich aber weitere Fragen.
    Die Diagnosemeldungen des letzten Absturzes lade ich aber diese Wioche noch hoch)

    Mfg

  8. #36
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.709
    Danke
    398
    Erhielt 2.397 Danke für 1.997 Beiträge

    Standard

    Zitat Zitat von mega_ohm Beitrag anzeigen
    Ich habe mich dann in der Nachtschicht mal dafür interessiert, was denn in der Diagnose so geschrieben steht und staunte nicht schlecht:
    "Zugriff auf OB35 verweigert, OB35 nicht vorhanden"
    Hallo MegaOhm,
    die Idee mit den Pointern stammt bei mir aus der obigen Information von dir. Das deutet für mich darauf hin, dass irgendwo die Adressregister so "verbogen" worden sein könnten, dass die SPS den Einsprungpunkt für den OB35 nicht mehr "findet". Da der OB35 das laufende zyklische Programm irgendwo unterbricht, seine Arbeit verrichtet und dann das zyklische Programm wieder fortsetzt, war das "Register-retten" mein erster Ansatz (stammt bei mir übrigens auch aus der guten alten Assembler-Zeit).

    Ich kann mir allerdings auch immer noch vorstellen, dass es besser wäre, eine "stärkere" CPU einzubauen - aber das hatten wiur ja schon mal ...

    Gruß
    LL

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

    mega_ohm (05.12.2008)

  10. #37
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Zitat Zitat von Larry Laffer Beitrag anzeigen
    Hallo MegaOhm,
    die Idee mit den Pointern stammt bei mir aus der obigen Information von dir. Das deutet für mich darauf hin, dass irgendwo die Adressregister so "verbogen" worden sein könnten, dass die SPS den Einsprungpunkt für den OB35 nicht mehr "findet". Da der OB35 das laufende zyklische Programm irgendwo unterbricht, seine Arbeit verrichtet und dann das zyklische Programm wieder fortsetzt, war das "Register-retten" mein erster Ansatz (stammt bei mir übrigens auch aus der guten alten Assembler-Zeit).

    Ich kann mir allerdings auch immer noch vorstellen, dass es besser wäre, eine "stärkere" CPU einzubauen - aber das hatten wiur ja schon mal ...

    Gruß
    LL
    Neenee... mit Pointern hab' ich in s7 noch gar nix am Hut. ( noch keine Ahnung, wie das funktioniert.... aber ich werde bestimmt auch in Zukunft noch viele Fragen haben )
    Trotzdem finde ich die Idee mit dem "Register sichern" richtig gut... (aus der ASM- Zeit kenne ich das auch ) und werde es auf jeden Fall auch so machen. Den Bericht über Erfolg oder eben nicht bleibe ich bestimmt nicht schuldig ( das verspreche ich ). Es dauert eben nur bis zum nächsten "CPU- Stopp". Erst dann kann ich die Änderung auf das AG übertragen.
    Wenn ich mich mit dem PG vorher ransetze und irgend ein Fehler (Schlingenbildung, Drahtbruch etc. ) auftritt, kommt man als allererstes mal zu mir und fragt, was ich da "rumklimpere". Das muß ich nicht haben.
    >>> Qualität braucht Zeit Daran halte ich mich.

    Eine neue CPU... ich hätte noch nicht einmal eine Grundidee, wie ich das dem Controller- Menschen erklären könnte. Schließlich funktioniert das Ganze ja mehr oder weniger

    Ich danke Dir für die guten Tipps...
    Wenn ich mal nachfrage, heißt das nicht, das ich es besser kann, sondern... Ich bin im "Lern- Modus", mich interessiert das Thema.
    >>> Wer nicht fragt, hat kein Interesse!

    Viele Grüße und ein schönes WE

    Mfg

  11. #38
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Bevor ich die hier im Forum erwähnten Lösungsvorschläge ( Sichern des Adressregisters ) angewendet hatte, kam mir ein Maschinist zuvor.

    Für ein erneutes "Ansteckseln" des PG's war die Grundvoraussetzung, daß die CPU wieder stoppt --- Ich hätte die hier im Forum vorgeschlagene Änderung sowieso gemacht, weil mir dieser Tipp aus meiner TASM- Zeit für richtig und sehr sinnvoll erschien.

    Ich hatte selbst versucht, die CPU zu 'kippen', was mir natürlich nicht gelang.
    ( nur EIN Maschinenbediener brachte dieses Ergebnis überhaupt zu Stande.. in einem 3-Schicht-Betrieb)
    Ich habe analysiert und mir vorführen lassen, wie es zu diesem Effekt kommt.
    In Eigenversuchen ( obwohl ich alle Tasten, die vorhanden sind, wahllos und sinnfrei betätigte) war dieser Effekt in keiner Weise nachvollziehbar.
    Mir wurde in dem Moment klar, daß ich nie!! meine eigenen Progis auf Fehler testen kann.

    Der Sinn dieses Prog.-Moduls war, ein Anlagenteil auf eine Position zu fahren ( ohne irgendwelche Endschalter, Abschaltsignale).
    => Da es für dieses Anlagenteil keine HMI gibt (dann wäre ja z.B. ein Timer die 1. Wahl), hatte ich mich für eine Tastenkombi [Lernen] entschieden, um das Ganze irgendwie individuell gestaltbar zu halten.

    Der Maschinist 'lernte' der SPS erst die Position, schaltete danach auf "Automatik" und wollte während der "Auto- Positionierung" korrigieren. (Warum man sowas macht ??? )
    Auf diese Idee kam eigentlich noch kein Anderer.

    Ich habe die Adressregister, wie hier im Forum empfohlen, ge-handle-t.

    Ich habe diesen Kollegen dannach nochmal gebeten, alles zu tun, um die CPU zu stoppen ( Alle Lichter auf dem Bedientableau gehen aus => viel Freizeit).
    Es gelang ihm nicht mehr...

    Seit jetzt fast 1,5 Wochen scheint es so ( ich gehe mit dem Wort "Fertig- Lösung" immer sehr vorsichtig um ), als wäre das Problem tatsächlich abgefrühstückt.
    ____________________________________________________________
    Sollten sich neue Probleme oder Erkenntnisse bilden, würde ich diese hier sofort vermelden... ich erwarte aber nix mehr in diese Richtung.


    Danke an Alle
    die Tipps waren sehr hochwertig

    Darauf ein gutes Bier *Prost
    Geändert von mega_ohm (14.12.2008 um 23:54 Uhr)

  12. #39
    mega_ohm ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    02.11.2006
    Beiträge
    496
    Danke
    217
    Erhielt 25 Danke für 6 Beiträge

    Standard

    Ich möchte kein neues Thema öffnen, weil es immer noch diese CPU betrifft.


    Alle bisherigen Fragen zu diesem Thema sind geklärt und die Probleme gelöst.

    _______ Das sind die nächsten Fragen zur gleichen CPU ____________

    Bei dieser Anlage , die schon mehr als 5 Jahre produziert, ... das Programm immer nur erweitert/angepaßt wurde, ist mir nach diesem Umbau aufgefallen, daß es gravierende Probleme in der Sicherheit gab /gibt.

    Anlagen- FernStart (war immer möglich),
    ... auch wenn die Roh-Material-Zufuhr auf dem PC- Screen des Haupt- Tableaus "abgewählt" war. (bisher ist diese Sicherheitslücke nie aufgefallen)

    Das geht zukünftig auf Grund der Entfernung und der fehlenden Kommunikatonsmöglichkeit nicht mehr.
    ____________________________________________________________

    Um dieses Problem zu lösen, habe ich mein Progi anpassen wollen:
    Dabei habe ich bei oben genannter CPU einen fast außergalaktischen effekt gesehen!
    - Einen Timer ( z.B. T32) hatte ich in Sekunden parametriert.
    >>> T32 = SEverz => s5t#3S
    Im Test des neuen Progis kam mir dieser Timer (s5t#3s) unglaublich lang vor....
    Ich stoppte das Ganze mal erneut und es waren mehr als 6sec. ( mit einer Armbanduhr gestoppt).
    Nun dachte ich, daß bei s7 für die gleiche Zeit eben Millisekunden genauer wären:
    ..... also parametrierte jetzt die 3sec auf 300ms
    Das Ergebnis im s7- Progi:
    >>> zisch_und_weg
    - Noch nie habe ich 300ms so schnell gesehen
    >>> Mit meiner Armbanduhr konnte ich diese Zeit gar nicht stoppen, weil diese Zeit schon abgelaufen war, bevor ich meine Armbanduhr mit der "Stop-function" überhaupt starten konnte....
    >>> "! Gefühlte 1/2 Sekunde" (das ist natürlich keine Zeitangabe)

    Meine Frage ist:
    - wie kann eine s7-Zeit so unglaublich gravierend unterschiedlich sein ?
    Zitieren Zitieren Fragen zu s7- Zeit (ms... s) ... und raum  

  13. #40
    Registriert seit
    28.10.2005
    Ort
    Ottweiler, Saar
    Beiträge
    940
    Danke
    259
    Erhielt 124 Danke für 109 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Guten Morgen:

    Wenn Du nachrechnest wirst Du wahrscheinlich selber drauf
    kommen dass 300ms nur 0,3 Sekunden sind. War aber ja auch schon spät so kurz nach drei.

Ähnliche Themen

  1. Funktionstastenbit funzt nicht richtig!
    Von Chris_the_new im Forum HMI
    Antworten: 0
    Letzter Beitrag: 11.08.2010, 11:46
  2. Skript in flexible runtime funzt nicht
    Von DJMetro im Forum HMI
    Antworten: 3
    Letzter Beitrag: 31.05.2010, 15:32
  3. Antworten: 10
    Letzter Beitrag: 20.05.2008, 13:09
  4. Antworten: 7
    Letzter Beitrag: 19.02.2008, 20:04
  5. 313C OB35 mit Regler FB funktioniert nicht
    Von Dragonfire im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 31.01.2006, 14:23

Lesezeichen

Berechtigungen

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