Fehler bei FB-Aufruf

STEP7 ist die Programmiersprache der SIMATIC S7-Steuerungen. Allgemeine Fragen.
Antworten
allertaler
SPSTreff-User
Beiträge: 1
Registriert: 17 Nov 2015, 15:39

Fehler bei FB-Aufruf

Beitrag von allertaler »

Hallo,
die Software-SPS von WINSPS-S7 V5 stürzt mit der 5. Instanzierung von FB1 ab, und ich erhalte in der CPU-Diagnose
die Meldung "Fehler beim Zugriff auf einen Datenbaustein über das DI-Register". Sie verweist auf die Stelle in FB1, an der SFB5 das zweite Mal instanziert wird.
Kann es sein, dass für diese Aufrufstruktur besondere Einstellungen notwending sind ?

Mir ist im AWL-Code auch aufgefallen, dass sowohl beim Aufruf von FB1 als auch SFB5 die BOOL-Eingangsparameter über diesen Umweg übergeben werden:

U E65.0
= L 0.0
BLD 103
CALL FB1, DB1
in:=L 0.0

Ich kann nicht nachvollziehen, welcher Speicherbereich mit L angesprochen wird und welche Konflikte dort womöglich auftreten.

Danke für alle Hinweise und Lösungen !

Benutzeravatar
Weiss_MHJ
Site Admin
Beiträge: 673
Registriert: 13 Apr 2010, 16:34
Kontaktdaten:

Beitrag von Weiss_MHJ »

Hallo,

wenn Sie im Diagnosepuffer eine Information auslesen können, dann bedeutet dies wohl, dass die SoftSPS nicht abstürzt, sondern in den Stop-Zustand übergeht.

Ich bin mir nicht ganz sicher ob Sie den FB verschachtelt aufrufen oder nur fünf mal in der gleichen Ausführungshierachie.
Aus diesem Grund würde ich Sie bitten, mir das SPS-Programm per Email zu senden an tw@mhj-software.de.
Zippen Sie dazu das Projekt im WinSPS-S7V2-Format.

Das Zwischenspeichern auf dem Speicherbereich "L" (temporäre Lokaldaten) ist normal. Hierdurch wird beim Aufruf eines Bausteins in FUP/KOP verhindert, dass ein Schreibzugriff auf einen Bit-Eingangsparameter Auswirkungen auf den übergebenen Operanden hat.

Gruss

Benutzeravatar
mhj
Site Admin
Beiträge: 350
Registriert: 09 Jan 2010, 11:35
Kontaktdaten:

Beitrag von mhj »

Hallo,

wir haben hier einen Fehler in WinSPS-S7 gefunden.
Das Problem wird in dem nächsten Release behoben.
Sie können das Problem umgehen, wenn Sie beim 5. Aufruf nicht den DB5 sondern den DB6 beim CALL übergeben:

CALL FB1, DB6

Der Fehler wird in Version 6.02 behoben sein.
Ich schicke Ihnen dann eine Seriennummer für die V6 und den Downloadlink.

mfg.

Antworten