Step 5 Fehlermeldung 30:22

Zuviel Werbung?
-> Hier kostenlos registrieren
hallo,

wenn ich dich jetzt richtig verstehe und die Fehlermeldung richtig verstanden habe, hast du deinen FB1 schon einmal in die CPU geladen.
Da du jetzt vermutlich ein paar Lokaldaten/Schnittstellen hinzugefügt/geändert hast, fragt dich der S-Manager ob du den Baustein wirklich laden willst, da die CPU womöglich in den STOP Zustand geht.
Es ist eine Routineüberprüfung und soll dich auf mögliche Fehler aufmerksam machen. Wenn du Lokalvariablen aus der Liste löscht und diese aber im Programm verwendet sind, geht die CPU in STOP.

grüße
Kapo
 
Sorry, und bei FUP? In der Fehlermeldung steht was von überschneidung der NWs

Solange du jeden Hinweis ignorierst.
Nicht die Wahrheit schreibst, wie soll man dir helfen?
Ist es jetzt KOP oder FUP?
Ist es Step7 oder Step5?
Was willst du wissen?
Versuche die Aufgabenstellung zu verstehen.
Beginne dann zu programmieren.
Wenn dann ein Fehler kommt nutze die Hilfe.
Wenn diese dir keine hilfreiche Antwort gibt, schreib eine Frage komplett und verständlich.

Ist es wirklich so schwer zuerst zu denken und dann erst im Netz nach zu lesen und zu fragen?
Noch warten wir auf deine Version der Lösung, wie du es zugesagt hast.


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So, ich habe jetzt hier mal die komplette Schaltung und dann die einzelnen Glieder in jeweils 1 NW getan. Bei der kompletten Schaltung wie ich sie vorher auch gemacht habe kommt diese Fehlermeldung 30:22 nicht mehr.

Wie kann ich jetzt den Setzeingang vom SR benennen, da kommt das UND Glied drauf von NW1. Oder soll ich beide in ein NW machen? Und wie deklariere ich den Eingang des Zeitgliedes S_AVERZ? Der bekommt die Positive Flanke.

Es ist in STEP 7 wo man die Glieder von S5 nehmen soll um den Vergleich zu sehen zwischen den 2 Programmen.
Es soll in FUP erstellt werden mit dem OB1 und FB1. Der FB1 soll dann später in den OB1 instanziert werden, in dem man in der Symbolliste folgendes einträgt:

DB_Foerdern / Adresse DB1 / Datentyp:FB1 / KOmmentar: Instanz FB1
 

Anhänge

  • NW1+2.PNG
    NW1+2.PNG
    6,1 KB · Aufrufe: 53
  • NW3+4.PNG
    NW3+4.PNG
    7,6 KB · Aufrufe: 44
  • NW5.PNG
    NW5.PNG
    3,5 KB · Aufrufe: 43
  • Komplette Schaltung.PNG
    Komplette Schaltung.PNG
    14,4 KB · Aufrufe: 49
Zuletzt bearbeitet:
Du hast ja einige grundlegende Defizite.

1. Solltest Du Dich nun mal wirklich von dem Gedanken befreien, Du würdest Step5 programmieren! Thomas_v2.1 hat Dir bereits die Richtung vorgegeben, um die es wirklich geht:
Kann es sein dass mit der Aufgabenstellung gemeint ist:
1) Programmieren mit IEC-Timern (TON, TOF, ...)
2) Programmieren mit S5-Timern (EVERZ, AVERZ, ...)

Ein S5-Timer hat nicht unbedingt was mit S5-SPS zu tun.

2. Der Flankenmerker stellt nicht die Flanke dar, sondern speichert den Zustand des abzufragenden Bits (bei Dir E0.2) aus dem vorigen Zyklus. Durch den Vergleich des alten und neuen Zustands wird dann das Ergebnis (positive oder negative Flanke) gebildet.
Dieses Ergebnis mußt Du dann auf Dein UND im NW4 führen, nicht den Merker des alten Zustands.

3. Die Verknüpfungen zwischen den Netzwerken, also das, was im Bild 4 die Verknüpfungslinien sind, erfolgen über Variablen. Im Falle der Flanke führst Du also den Ausgang Q auf eine Zuweisung und die für die Zuweisung verwendete Variable kommt an den UND-Eingang.
In der Schule verwendet man dafür üblicherweise Merker, so wie Du für Deinen Flankenmerker. Ich persönlich finde es nicht so toll, dass dies noch vermittelt wird. Besser ist die Verwendung von lokalen Variablen. Für die Zuweisung reicht eine temporäre Variable, da sie erst beschrieben (Zuweisung) und dann erst lesend verarbeitet (am UND) wird. Außerdem erfolgt das in jedem Zyklus von Neuem.
Der Flankenmerker dagegen müßte eine statische Variable sein, da erst der Zustand des letzten Zyklus gelesen und dann erst der neue Zustand geschrieben wird. Im Zweifelsfall lieber für eine statitische statt temporäre Variable entscheiden.

4. (Miteinander verknüpfte) Bausteine kannst Du fast beliebig viele in einem Netzwerk verwenden. Üblicherweise wird jedoch in FUP/KOP der Übersicht wegen nur eine Zuweisung (=) je NW getätigt. Zum Vergleich - in AWL wird teilweise der ganze Baustein in einem NW programmiert.
Es ist ein bißchen wie in Mathe: Die Gesamt-Aufgabe in kleine, einfache, leicht verständliche Häppchen (= Netzwerke) zerlegen, um so die Vorgehensweise auch später wieder oder von anderen einfach erfassen zu können.
 
Üblicherweise wird jedoch in FUP/KOP der Übersicht wegen nur eine Zuweisung (=) je NW getätigt. Zum Vergleich - in AWL wird teilweise der ganze Baustein in einem NW programmiert..

Man kann in Awl sehr vieles in einem Schlauch in ein Netzwerk schreiben.
Und wenn man mit Quellen arbeitet, kann man noch mehr in ein Netzwerk packen, sogar so viel, dass man es im Status nicht mehr anschauen kann.
Doch muss das sein?
Auch in AWL kann man sinnvoll strukturieren.

Aber du hast auch Recht, der Kollege sollte sich zuerst die Grundlagen aneignen, erst dann kann sinnvoll geholfen werden.


bike
 
Hey Hucki. Das ist mal eine super Beschreibung mit der ich was anfangen kann. Auch das was Thomas_v2.1 geschrieben hat habe ich verstanden. Ich werde mich heute Abend nochmal an die Aufgabe setzen und hoffe das ich sie dann endlich fertig bekomme und die Hausaufgaben abgeben kann.

Als Anfänger ist es echt nicht leicht von einem Programm ins Andere hin und her zu wechseln. Aber da muss ich jetzt durch.

Falls ich noch ne Frage dazu haben sollte melde ich mich nochmal.

Vielen Dank und schöne Feiertage noch!!
 
Ich habe jetz nochmal alles neu gemacht. Nachdem ich auf den Button speichern gehe, kommt die Meldung 30:22 wieder. Siehe Anhang.

Der Merker stimmt nicht wen ich nach Punkt 2 von Hacki schaue. Was kommt für ein Baustein dazwischen? Der Rest sollte doch stimmen.

Was heißt diese Meldung?
 

Anhänge

  • NW1+2.PNG
    NW1+2.PNG
    7,3 KB · Aufrufe: 41
  • NW3+4.PNG
    NW3+4.PNG
    8,3 KB · Aufrufe: 42
  • Fehlermeldung 30 22.PNG
    Fehlermeldung 30 22.PNG
    8,5 KB · Aufrufe: 36
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist keine Fehlermeldung, sondern nur eine Warnmeldung.
Wenn du bei einem FB etwas an der Bausteinschnittstelle erweiterst, musst du auch den/die zugehörigen Instanz-DBs neu generieren, und dann alles zusammen in die SPS laden. Lädst du beispielsweise erst den FB in die SPS und der Instanz-DB ist noch nicht dort, kann es sein dass auf Speicher zugegriffen wird der noch nicht in der SPS reserviert wurde. Dann wird wenn vorhanden der passende Fehler-OB aufgerufen. Ist der OB nicht in der SPS geht diese in STOP. Davor will dich Step7 warnen.

Der Hilfe-Button rechts unten ist da übrigens nicht nur so zum Spaß, meistens bekommt man dort den Fehler weiter erläutert.

Du musst also erstmal den Baustein öffnen in dem der FB aufgerufen wird. Da wird wahrscheinlich etwas rot sein. Entweder der ganze Baustein oder nur der Instanz-DB. Du aktualisierst dann die Aufrufe.

Wenn es sich bei dir nur um eine Test-SPS handelt. lädst du am besten den ganzen Bausteinordner in die SPS hoch. Dann kannst du dir sicher sein dass alles dort ist.
 
Ich habe die Fehlermeldung gelesen, konnte aber nicht viel damit anfangen. Liegt es daran, das ich erst den FB gemacht habe? Weil ich soll ja diesen nach der Programmierung in den OB1 instanzieren. Ich habe jetzt um das zu machen die Sachen nachträglich in der Symbolliste eingetragen, den OB1 geöffnet, es ist aber kein Rumpf zu sehen.
Ich verzweifel echt bald.:sad:

Ich kann doch nicht mehr wie nach den Angaben hier arbeiten. ich wüßte gerne wo der Fehler liegt.
 
Zuletzt bearbeitet:
Das ist kein Fehler!!
Die Meldung taucht immer auf wenn du an einem FB an der Schnittstelle etwas änderst und diesen dann in die SPS laden willst.

Kennst du die Ausbildungsunterlagen von Siemens? Da ist wirklich Schritt für Schritt erklärt wie man einen FB erstellt, den Instanz-DB usw.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich frage mich nur, wenn ich den FB1 in den OB1 instanzieren will, also das Ganze in der Symbolliste nachtrage, warum habe ich dann keinen Rumpf im OB1?

Nachtrag: Ne, kenne die Unterlagen nicht.
 
Zuletzt bearbeitet:
Sollte ich die NW´s erst mal im OB1 erstellen und dann in den FB1 kopieren? Funktioniert das?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Solange du den FB nicht selber im OB1 (oder von wo auch immer) aufrufst, passiert da nichts. Nur durch Eintragen in die Symbolliste ändert sich das Programm nicht.

Wenn du Step7 auf deinem Rechner hast, gibt es dort schon ein Dokument "STEP 7 - Erste Schritte mit STEP 7". Ist vielleicht nicht schlecht wenn du das mal durchgehst.
Das Dokument findest du, wenn du im Startmenü im Ordner SIMATIC -> Dokumentationen -> Deutsch klickst.
 
Sorry, aber so steht es in dem LB drin.

Ich zitiere:

Nach der Definition des FB kann dieser nun in OB1 instanziert werden. Dazu muß in die Symboltabelle nachgetagen werden:

Symbol : DB_Foerdern / Adresse : DB1 / Datentyp : FB1 / Kommentar : Instanz DB1

Die Instanzierung führt dann zu folgendem OB1

Dort ist dann der Rumpf vom FB1
 
Instanzieren heißt in dem Fall, den FB mit einem Instanz-DB aufzurufen.

Wenn du den DB1 mit FB1 in der Symboltabelle angelegt und gespeichert hast, öffnest du den OB1.
Dort fügst du ein leeres Netzwerk ein, und in diesem Netzwerk rufst du den FB1 auf.
Das geht z.B. indem du aus dem Übersichtsfenster (also da wo deine ganzen Programmobjekte wie Zeiten usw. stehen) den Ordner "FB Bausteine" aufklappst. Dort sollte dein FB1 aufzufinden sein. Den kannst du jetzt in dein Netzwerk einfügen. Über dem FB werden dann drei ??? stehen, dort trägst du DB1 ein.
 
Ich kann doch nicht mehr wie nach den Angaben hier arbeiten. ich wüßte gerne wo der Fehler liegt.

Doch du sollst langsam nicht nach Vorgabe vorgehen, sondern du musst langsam verstehen.
Wenn du an diesem Punkt hängen bleibst, nicht immer wieder den selben Fehler bauen, sondern ein oder zwei Lektionen zurückgehen und dort noch einmal richtig nachlesen und versuchen zu verstehen.


bike

btw ich bewundere Thomas und hucki. Soviel Geduld und das ohne Drogen, nehme ich mal an. ;)
 
Zurück
Oben