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

Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 37

Thema: CPU (4xx) geht in "Stop", nachdem ich 2 DI + 1 DO hinzugefügt habe...

  1. #11
    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


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von bike Beitrag anzeigen
    In dem ersten Posting steht L PED 0 T ED 0.
    Daher schreibt er nicht auf PED sondern läd zur Laufzeit exakt an dieser Position das PED. Kann sein, dass er sich sicher sein will / muss, dass die Eingänge aktuell sind.

    bike
    Bei meinem letzten Posting zum Thema PED / PAD ging es mir erstmal um das grundsätzliche Verständnis, warum man sowas macht.

    Die Diagnose- Textdatei habe ich mal angehangen.
    Angehängte Dateien Angehängte Dateien

  2. #12
    Registriert seit
    23.04.2009
    Ort
    Allgäu
    Beiträge
    3.042
    Danke
    241
    Erhielt 863 Danke für 617 Beiträge

    Standard

    Zitat Zitat von mega_ohm Beitrag anzeigen
    Kann mir vielleicht schon jetzt jemand sagen, warum die CPU in "Stop" ging ?
    Ich könnte mir vorstellen, dass in dem FB10 Datenwort abfragen sind ohne dass der DB geöffnet wird, sprich ein "Nichtqualifizierter Zugriff".
    Zitat Zitat von mega_ohm Beitrag anzeigen
    Ich hab' mir extra einen DB1 gebastelt, um eben KEINE Merker- Bereiche zu überschreiben...
    Und jetzt wird der DB1 geöffnet, was eventuell nicht an dieser Stelle passt.
    Gruß
    Paule
    ----------------------------------------------------------------------------
    > manchmal verliert man und manchmal gewinnen die anderen <

  3. #13
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von Paule Beitrag anzeigen
    Ich könnte mir vorstellen, dass in dem FB10 Datenwort abfragen sind ohne dass der DB geöffnet wird, sprich ein "Nichtqualifizierter Zugriff".

    Und jetzt wird der DB1 geöffnet, was eventuell nicht an dieser Stelle passt.
    Da hast du wohl wahr

    Warum ein neuer zusätzlicher DB?
    Wenn du einen DB aufschlägst, dann musst du dir vorher! Gedanken machen welchen Einfluss dies auf das Programm hat.


    Ich würde einen OB121 reinkopieren, dann an meine Änderung zur Laufzeit gehen und schauen was vorher und nachher in den Akku steht.

    Programmcode würde uns und dir echt helfen.


    bike

  4. #14
    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 Paule Beitrag anzeigen
    Ich könnte mir vorstellen, dass in dem FB10 Datenwort abfragen sind ohne dass der DB geöffnet wird, sprich ein "Nichtqualifizierter Zugriff".

    Und jetzt wird der DB1 geöffnet, was eventuell nicht an dieser Stelle passt.
    Du ahnst gar nicht, wie recht Du hast.

    Im FC 192 wurde auf verschiedene DBW zugegriffen.
    ( es ist nur als Beispiel zu sehen, es ist kein Auszug aus dem realen Programm ! )
    Code:
    L DBW 80
    ...
    T DBW 90
    Im FB90 stand irgendwann einmal (z.B. ! )
    Code:
    AUF DB10
    Im FB90 hatte ich zwar auch "rumgekramt" mit meinem DB1.DBX0.1,
    aber in diesem FB erfolgte kein Zugriff auf einen anderen DB.
    Im FB90 wurde aber der FC192 aufgerufen...
    Das hatte ich nicht beachtet.

    Übrigens funktioniert auch nicht ( es funktioniert nur nicht, die CPU "lebt" aber... geht nicht in "Stop" ),
    wenn man ( z.B. !)
    Code:
    u E 0.0
    = E 108.2
    schreibt, wenn zwischendurch mal das PEW oder PED gelesen wird.
    Ich weiß das jetzt sicher.

    Ich danke Dir für Deinen Tipp. Durch diesen konnte ich wenigstens erfassen, wo das Problem lag. ( einen irdischen Grund mußte es haben, daß war mir von Beginn an klar ).

    Mfg

  5. #15
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.173
    Danke
    922
    Erhielt 3.288 Danke für 2.657 Beiträge

    Standard

    Zitat Zitat von mega_ohm Beitrag anzeigen
    Übrigens funktioniert auch nicht ( es funktioniert nur nicht, die CPU "lebt" aber... geht nicht in "Stop" ),
    wenn man ( z.B. !)
    Code:
    u E 0.0
    = E 108.2
    schreibt, wenn zwischendurch mal das PEW oder PED gelesen wird.
    Ich weiß das jetzt sicher.
    Was funktioniert daran nicht?

    Die CPU geht bei dieser legitimen Operation selbstverständlich nicht in Stop (wenn die Größe des PAE > E108.2 ist). Vielleicht entspricht das Ergebnis nur nicht den Erwartungen des Programmierers?
    Will man in einem OB1-Zyklus die Einganszustände auffrischen und dann mit den aktuelleren Zuständen weiterarbeiten, dann braucht man nur schreiben:
    Code:
    L PEW0
    T EW0
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #16
    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 PN/DP Beitrag anzeigen
    Was funktioniert daran nicht?
    Der FB10 macht die Mimik mit den PEW/ PED bzw. PAW / PAD ( dieser wird vom OB1 aufgerufen). Gesichert werden die Ergebnisse in DB10.
    Danach wird vom FB10 der FC19 aufgerufen.

    Ich hatte meinen Code
    Code:
    U E 0.0
    = E 108.2
    im FB10 vor dem Lesen der EW / ED bzw. im FC19 ( also eigentlich, nachdem die Peripherie in den DB geschrieben wurde ).
    In beiden Fällen konnte ich mir in dem entsprechenden Baustein das Ganze online ansehen und es tat so, als würde es funktionieren.
    Beim Setzen /Beobachten der Variablen wurde zwar der E0.0 ( neuer Taster ) gesetzt...
    aber mit dem E108.2 ( ursprünglicher Taster) passierte gar nichts.
    Es passierte auch nichts mehr, wenn ich den Taster (E108.2) betätigte.

    Will man in einem OB1-Zyklus die Einganszustände auffrischen und dann mit den aktuelleren Zuständen weiterarbeiten, dann braucht man nur schreiben:
    Harald
    Es werden doch
    1. die Eingänge gelesen
    2. die Verknüpfungen aktualisiert
    3. die Ausgänge gesetzt = 1 Zyklus

    Wenn ich also vor dem Durchlauf eines kompletten Zyklus die Eingänge nochmal "genau" wissen will... muß ich das ( z.B. ) PEW nochmal lesen ?

    Mir ist klar, daß Lade / Transfer VKE- unabhängig ist. Bedeutet das denn auch das es zyklus- unabhängig ist ?

    Wo oder wie soll ich denn meinen E0.0 (den neuen Taster) ins Programm tun, damit es funktioniert ?

    Mfg

  7. #17
    Registriert seit
    13.10.2007
    Beiträge
    12.031
    Danke
    2.787
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    warum das machst habe ich noch nicht verstanden

    Code:
    U  E 0.0
    =  E 108.2
    kann mann das wegen der übersichtlichkeit und üblichen Programmierlokig
    nicht besser so lösen.

    Code:
    O  E 0.0
    O  E 108.2
    S  #irgendwas
    Warum muss mann es bei einfachsten Bitverknüpfungen schon so
    kompleziert machen?
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  8. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    mega_ohm (09.04.2011)

  9. #18
    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 Helmut_von_der_Reparatur Beitrag anzeigen
    warum das machst habe ich noch nicht verstanden

    Code:
    U  E 0.0
    =  E 108.2
    kann mann das wegen der übersichtlichkeit und üblichen Programmierlokig
    nicht besser so lösen.

    Code:
    O  E 0.0
    O  E 108.2
    S  #irgendwas
    Warum muss mann es bei einfachsten Bitverknüpfungen schon so
    kompleziert machen?
    meinst Du, daß...
    Code:
    U  E 0.0
    =  E 108.2
    komplizierter ist, als...
    Code:
    O  E 0.0
    O  E 108.2
    S  #irgendwas


    Zumindest ist eine Zeile weniger zu schreiben.

    Aber mal im Ernst:
    S wie "Setzen" mag ich nicht so gern, weil man sich dann auch um das R (Rücksetzen ) kümmern muß.

    Ich gebe zu, daß mein "Plan A" war, einfach eine Leitung auf die schon bestehenden Taster zu "ziehen".
    Auf Grund der Entfernung ( das wäre ja noch fast egal... es gibt Tage, an denen man nicht gewinnen kann und Tage, an denen man verliert) und hauptsächlich auf Grund der verbauten oder zugestellten bisherigen unterirdischen Kabeltrassen war "Plan A" nicht durchführbar.
    >> "Eine überirdische Leitungsführung ist zu vermeiden, um eine maschinelle Reinigung der Hallen sicherzustellen"
    (Das ist eine Vorgabe der Firma )

    Der "Plan B" (Software- Änderung) stand erst nach Begehung und Feststellung der Nicht- Realisierbarkeit von "Plan A" an.
    - Danach habe ich, weil ich zu faul war, mir 2 freie Merker zu suchen, einen eigenen DB kreiert.
    Ich ging davon aus, das "AUF DB" in nur s5 vorkommt... in s7 gab es m.M. nach keinen Grund mehr für "nichtquali. DB-Zugriffe".
    Dieser Irrtum (meinerseits) wurde mit einem "CPU- Stop" belohnt.

    Da ich nicht das halbe Programm umschreiben wollte, dachte ich mir...
    eine direkte Zuweisung eines E (E0.0) auf einen anderen (E108.2) ist zwar brutal ( ich mag's eigentlich gar nicht ), aber geht schnell und relativ "schmerzfrei".

    Der Programmierer, der das ursprüngliche Masch.-Progi geschrieben hat, hat aber sehr gut für sich vorgesorgt.
    Er hat erstmal alle DI und DO, die im Haupt- Schaltschrank existieren, mittels PEW / PED bzw. PAW / PAD irgendwie geladen / transferiert.
    Egal, ob sie wirklich belegt sind... oder nicht.
    (Sollte Interesse bestehen, würde ich nächste Woche "XRef" hochladen )

    ______________________________________________________________

    Was habe ich gelernt ?
    - Nicht alles, was auf den 1. Blick einfach lösbar schein, ist es auch.

    Die Schwierigkeiten, um 2 zusätzliche Tasten einzufügen, hatte ich nicht so groß erwartet.

    Das sämtliche EW und AW, die im Schaltschrank auf die s7-4xx verdrahtet, teils aber ab der Zwischenklemme drahtfrei (not connect) sind, im Programm manipuliert werden...
    - komplette Merker- DWord wurden, ohne auch nur 1 Bit dieser DWord überhaupt im Progi zu verarbeiten, mit Laden / Transfer im FB10 manipuliert.
    ______________________________________________________________

    Die Geschichte hat ein gutes Ende... es funktioniert.
    Ich habe mir tatsächlich die Mühe gemacht, 1 freien - nicht über WORD oder DWORD- Zugriff im Progi abgearbeiteten Merker zu finden.

    Für meinen "Stopp"- Taster habe ich die Verknüpfung über den DB1 beibehalten.

    UND... ich habe gelernt. ( Das ist, glaube ich, das Wichtigste )
    Ich habe gelernt, wenn ich mit "Suchen / Ersetzen" meine Ideen in ein bestehendes Progi einbringe, das bestehende Programm noch genauer zu analysieren...

    Es war eine Prozedur... "Lernen durch Schmerz"... (es hat mich richtig geärgert, daß meine anfänglichen Änderungen nicht "laufen" )

    Ich hatte über die unqualifizierten Zugriffe von DB's in s7 einfach überhaupt nicht nachgedacht, weil ich glaubte ( Glauben ist der Gegensatz von "Wissen" ) => das macht doch in s7 keiner mehr.

    Heute bin ich, auch Dank Eurer Hilfe schlauer und vor allen Dingen vorsichtiger...

    Mfg
    Geändert von mega_ohm (09.04.2011 um 02:08 Uhr)

  10. #19
    Registriert seit
    13.10.2007
    Beiträge
    12.031
    Danke
    2.787
    Erhielt 3.268 Danke für 2.156 Beiträge

    Standard

    eigentlich meinte ich nicht das setzen eines "irgendwas", sondern
    das Rangieren von einen Eingang auf einen Anderen. Das finde ich
    mehr als Unglücklich. Eingänge als Variabel zu mißbrauchen ist unüblich,
    dafür gibt es andere Variabeln, wie Merker, Temponäre Variabeln oder
    Variabeln in Datenbausteine. Das es funktioniert ist schön macht aber
    in diesen Fall überhaubt keinen Sinn, nur um bei einer so Leistungsfähigen
    Steuerung eine AWL Zeile zu spraren. Das hört sich an wie, ich nehme
    jetzt mein Feuerzeug aus den Handschuhfach, bei einen Auto mit 350PS,
    damit es schneller fährt.
    - - -
    Wer als Werkzeug nur einen Hammer hat, sieht in jedem Problem einen Nagel.

  11. Folgender Benutzer sagt Danke zu rostiger Nagel für den nützlichen Beitrag:

    mega_ohm (16.04.2011)

  12. #20
    Registriert seit
    25.06.2007
    Ort
    Dresden
    Beiträge
    3.930
    Danke
    465
    Erhielt 878 Danke für 634 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von mega_ohm Beitrag anzeigen

    S wie "Setzen" mag ich nicht so gern, weil man sich dann auch um das R (Rücksetzen ) kümmern muß.
    Ist das dein Ernst alles immer nur mit "=".

    Ich stelle mir gerade vor es gäbe kein S und kein R.
    Meine Programme hätten viel mehr Zwischenmerker
    und wären viel länger und unübersichlicher.

    Nimm es mir nicht übel, aber ich bin über diese Zeile
    mehr als verwundert.

    Frank
    Grüße Frank

  13. Folgender Benutzer sagt Danke zu IBFS für den nützlichen Beitrag:

    mega_ohm (10.04.2011)

Ähnliche Themen

  1. Antworten: 6
    Letzter Beitrag: 16.03.2012, 18:20
  2. Antworten: 3
    Letzter Beitrag: 30.05.2011, 17:16
  3. Seminarereihe "Fernwartung mit eWON" geht in die 3. Runde
    Von WachMark im Forum Werbung und Produktneuheiten
    Antworten: 0
    Letzter Beitrag: 08.03.2011, 16:15
  4. Fehler "Stop durch Peripherieverwaltung"
    Von MSB im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 10.07.2008, 22:23
  5. Antworten: 18
    Letzter Beitrag: 05.07.2006, 23:19

Lesezeichen

Berechtigungen

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