Step 7 SF Fehler

himbeersirup

Level-1
Beiträge
58
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Mahlzeit,

also ich hatte heute vor einen PID baustein zu Üben dazu wollte ich den SFB41 mit DB41 und OB35 verwenden. habe ihn auch Parametriert. Hatte das Programm auch hochgeladen. Und hatte, dann als ich auf beobachten (Brille) geschaltet habe. Keine Ergebnisse gesehen und hatte das ganze wieder geschlossen, weil ich etwas anderes zu tun hatte. Als ich später auf meine Simulationsgruppe einfach ein 1 signal auf a0.0 schalten wollte zum test, war die SF Led an. Und jetzt kann ich nichts mehr machen. Hatte sie auch urgelöscht, leuchtet immer noch und im bild habe ich noch die online diagnose, aber ich weiß jetzt überhaupt nicht mehr weiter.Fehler.JPG
 
Hallo,

du kannst in dem Baugruppenzustand unten auf "Gehe zu" drücken. Dann springt Step7 an die Stelle, wo die CPU auf STOP gegangen ist.
Man sieht schon, dass "SFB nicht vorhanden" das Problem ist. D.h. du hast irgendeinen SFB mit dem entsprechenden DB im Projekt, welcher
vermutlich aber nicht in die CPU geladen wurde. Dieser SFB wird wohl in deinem OB35 aufgerufen und darum geht die CPU dort auf Stop.

In deinem OB35 müsste irgendwo z.B. in AWL: CALL SFCxx.DBxx stehen


PS,
ist denn dieser SFB auf deiner CPU überhaupt verfügbar. Wenn ein Baustein nicht geladen wurde kommt normal "Baustein kann nicht aufgerufen werden" oder ähnlich.

Kam beim laden deines Programmes eine Fehlermeldung?
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich nehme an den SFB gibts in der Simulationsbaugruppe garnicht. Nutze stattdessen den FB41 der sollte in der Simulation funktionieren.
Den FB41 musst du aber laden, was man einen SFB nicht müsste.

mfG René
 
Also, der Baustein ist zur verfügung, ich hatte ihn auch mit AWL aufgerufen. Und bevor ich die diagnose gemacht habe, habe ich ja versucht sie Urzulöschen, und einfach mal einen leeren ob1 hochgeladen oder nur u e0.0 = a0.0 das wieß ich jetzt nicht mehr so genau. Dann startete ich die online diagnose wie oben im bild. unverändert im Bild zu sehen drückte ich dann" Gehe Zu". Und jetzt kam dann dieses fenster, Fehler.JPG

Nachtrag. jetzt hatte ich das fenster mit ok gedrückt dann kam noch dieses BildFehler.JPG was soll ich jetzt tun ?
 
Zuletzt bearbeitet:
ein SFB lässt sich nicht löschen.
der ist in der CPU und mit dem regelSFB wäre ich in der Simulation vorsichtig.
Wie gesagt nimm den FB, der hat dieselbe Funktion.
 
das problem ist ja, ich komme nicht mehr dazu irgendetwas anderes zu übertragen. Ich hatte vorher nach gehe zu da snetzwerk einfach gelöscht neu übertragen fertig, gings. dann hatte ich es nocheinmal probiert, aber jetzt geht nichts mehr
 
Zuviel Werbung?
-> Hier kostenlos registrieren
das problem ist ja, ich komme nicht mehr dazu irgendetwas anderes zu übertragen. Ich hatte vorher nach gehe zu da snetzwerk einfach gelöscht neu übertragen fertig, gings. dann hatte ich es nocheinmal probiert, aber jetzt geht nichts mehr
??? :confused: irgendwas geht bestimmt noch ;)


Deine CPU 315-2 DP hat den SFB41 nicht. Gehe mal in dem Baugruppenzustand auf den Reiter "Leistungsdaten", da werden die vorhandenen SFB aufgelistet.
Um Betriebssystem-ROM-Speicher in der CPU zu sparen, enthalten die CPUs nicht alle möglichen SFB und SFC, viele nicht vorhandene Funktionen kann man aber bei Bedarf in Form von FB oder FC aus Bibliotheken nachladen. Wie vollmi schon schrieb, Du mußt den FB41 aus der Bibliothek "Standard Library / PID Control Blocks" ins Projekt einfügen und in die CPU laden. Und natürlich den FB41 aufrufen und nicht den SFB41.

Also, der Baustein ist zur verfügung, ich hatte ihn auch mit AWL aufgerufen.
Unabhängig von der CPU kann man offline im Projekt einen Aufruf von real nicht vorhandenen SFB programmieren...
(der Simatic Manager packt dann einfach die SFB-Deklaration als Baustein aus einer Bibliothek in den Bausteine-Ordner des Projektes)
... und in die CPU laden. Da kommt es dann zu dem Fehler "SFB nicht vorhanden".

bevor ich die diagnose gemacht habe, habe ich ja versucht sie Urzulöschen, und einfach mal einen leeren ob1 hochgeladen
Urlöschen löscht das Programm nur aus dem Arbeitsspeicher und läd es danach gleich wieder aus dem Ladespeicher (von der MMC) in den Arbeitsspeicher. Durch Urlöschen bekommt man also das Programm nicht gelöscht (nur spezielle DB welche nur im Arbeitsspeicher liegen), es sei denn man entfernt die MMC aus der CPU. Das hilft aber nicht wirklich, weil man die CPU nicht ohne MMC betreiben kann, und wenn man die MMC wieder in die CPU steckt dann muß man urlöschen, wodurch das Programm von der MMC in den Arbeitsspeicher der CPU geladen wird - das Programm ist wieder da.

Einen leeren OB1 laden hilft nicht, wenn der Fehler im OB35 programmiert ist.

Und jetzt kam dann dieses fenster, [...]
Nachtrag. jetzt hatte ich das fenster mit ok gedrückt dann kam noch dieses Bild
Da hast Du den OB35 online geöffnet - vermutlich über "Erreichbare Teilnehmer" (oder hattest den OB35 schon im Projekt gelöscht?) - deshalb kennt der Editor nicht die Namen der Lokalvariablen, und weil es online den SFB41 nicht gibt kann der Editor den Aufruf des SFB41 auch nicht symbolisch anzeigen und man sieht dann diese "kaputte" Darstellung.

gibt es eigentlich hierzu eine Alternative, das das Programm in der CPU löscht, denn es ist schon wieder passiert. Nur dieses mal lässt sich der FB nicht einfach rauslöschen
Ja. Du mußt in der CPU den Baustein löschen, der den Aufruf des nicht vorhandenen SFB enthält - also den OB35. Oder den Aufruf aus dem OB35 entfernen.

SFB ("System"-FB) und SFC ("System"-FC) kann man nicht in die CPU laden und auch nicht in der CPU löschen - die sind fest in der Firmware ("System") der CPU drinne.
Man kann nur die SFB und SFC im offline-Projekt löschen. Beim nächsten Referenzdaten erzeugen sind die im Programm aufgerufenen SFB und SFC aber wieder da (im Projekt).

Harald
 
Ok,

ich ging jetzt wie folgt vor mit STEP7 v5.5 CPU 315 2 DP

1. öffne step7simatic Manager, erstelle die HW-konfiguration und lade sie hoch
- Speichern Übersetzen-->Zielsystem--> Laden in Baugruppe

2. im Manager Einfügen-->S7 Baustein-->Organisationsbaustein schreibe nur OB35
Sprache ist FUP, ins Fenster und klick OK, dann erscheint er unter den Bausteinen

3. jetzt öffne ich ihn mit Doppelklick, gehe links unter bibliotheken--> Standard Libarys-->
PID Control Blocks und ziehe per Drag and Drop FB41 CONT_C ins Netzwerk1,

4. jetzt klicke ich auf die 3 "???" gebe DB41 ein "Der instanz baustein existiert nicht,
soll er generiert werden ?"----> JA

5 jetzt geh ich in den Manager markiere alle 4 Bausteine, OB1, OB35 ,FB41 und DB41
und will sie Hochladen. jetzt taucht ein Fenster Auf ""Der Baustein PID_cont_C\SIMATIC 300(1)\CPU
315-2 DP\S7-Programm(1)\Bausteine\OB35 wird im
Moment von einer anderen Applikation oder einem
anderen Benutzer bearbeitet.
Soll die Funktion fortgesetzt werden ?"" bestätige mit Ja, scheint soweit alles OK.

6. jetzt versuche ich ihn mal zu parametrieren.:

netzwerk1
MAN_ON--- feste_null

CYCLE---T#50MS // da ich ihn unter HW weck alarme auf 50 gestellt habe

SP_int----5.000000e+001

PV_PER---PEW304 // Hier hängt ein Poti dran mit 0-10V

Gain----2.000000e+000

LMN_Per----PAW304

netzwer2

SET
= #feste_eins //sind in temp festgelgt worden
CLR
= #feste_null


7 ich lade ihn im OB35 hoch drücke auf Brille, heute scheint es zumindest ohne SF zu funktionieren
aber jetzt ist LMN_Per----PAW304 von 16#00 auf 16#6C00 vollgelaufen und reagiert nicht auf änderungen
am PV_PER. Könnte mir Bitte jemand sagen wie ich ihn richtig parametriere??
 
netzwerk1
MAN_ON--- feste_null

CYCLE---T#50MS // da ich ihn unter HW weck alarme auf 50 gestellt habe

SP_int----5.000000e+001

PV_PER---PEW304 // Hier hängt ein Poti dran mit 0-10V

Gain----2.000000e+000

LMN_Per----PAW304

netzwer2

SET
= #feste_eins //sind in temp festgelgt worden
CLR
= #feste_null
Setze mal das Netzwerk 2 VOR das Netzwerk 1. An TEMP-Variablen muß man VOR der Verwendung einen Wert zuweisen.

reagiert nicht auf änderungen am PV_PER.
Wenn Du den Istwert an PV_PER nutzen willst, dann mußt Du PVPER_ON auf 1 schalten (siehe Blockschaltbild und Erklärungen in der Hilfe zum FB41)

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
teil1.JPGteil2.JPGteil3.JPG

So, jetzt hätte ich mal noch eine Frage, und zwar habe ich nach folgenden Link den fb41 erstellt. Das hatte beim ersten mal funktioniert. Jetzt dachte ich mir da ich es besser verstehe mache ich die erstellung von FB41 in einem neuen Projekt noch einmal. Wie in den Bildern oben habe ich den Code geschrieben lade alles hoch , Jetzt kommt am Ausgang nichts mehr Raus. Ich habe auch die Potis alles so angeschlossen 0-10V Poti1 PEW 304 und Pot2 PEW 305 wie in dem PDF, wie gesagt es hatte auch heute schon einmal funktioniert, warum es jetzt nicht mehr funktioniert kann ich mir nicht mehr vorstellen, vielleicht sieht es ja von euch jemand, was hier schief läuft.

https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiDuuft7cfVAhXFbVAKHRi9DisQFggpMAA&url=https%3A%2F%2Fw3.siemens.com%2Fmcms%2Fsce%2Fde%2Ffortbildungen%2Fausbildungsunterlagen%2Fclassic-module%2Ftabcardseiten%2FDocuments%2Fweiterfuehrende-programmierung%2Fb03_regelungstechnik.pdf&usg=AFQjCNFI4ciANb0YQoIjnN01cAvH0PLjAg


 
Zurück
Oben