RONIN
Level-3
- Beiträge
- 2.555
- Reaktionspunkte
- 798
-> Hier kostenlos registrieren
VIPA 315SN - Stop: "Fehler beim allokieren von Lokaldaten" und Lokaldaten-Größen
Hallo.
Es geht mir um eine Anlage bei einem unserer Kunden bei der sowohl ne 315-2PN/DP als auch eine Vipa 315SN im Einsatz ist.
An dieser Anlage sind wir programmiertechnisch (macht die IH) nicht beteiligt, haben jedoch einen FB zur Auswertung von Profibus-Energiemessgeräten zur Verfügung gestellt.
Der FB sollte eigentlich OK sein (in vielen Anlagen verwendet, auch mit kleineren CPUs) und funktioniert auch in der 315-2PN/DP des Kunden.
Wenn er den FB aber in der VIPA 315-SN verwendet kommt es zum Stop.
Daher wurde ich natürlich gefragt woran das liegen kann...
Der FB an sich ist eigentlich nichts besonderes. Daten werden vom PB gelesen und in eine UDT-Struktur im Temp zusammengesetzt, danach mittels Blockmove in die selbe Struktur in einem DB kopiert.
Hier der zugehörige Diagnosepuffer-Auszug und die Hardware-Konfig
Anhang anzeigen Diagnosepuffer.txt
Die Peripherie-Zugriffsfehler bei den anderen Meldungen (FC51) kommen anscheinend vom fehlerhaften Zugriff auf einen Sanftanlauf, sollte nicht direkt mit dem Problem zusammenhängen.
Mit ein wenig suchen bin ich auf folgenden Beitrag von Ralle gestoßen. Vor allem folgender Satz macht mir ein wenig Sorgen...
Heißt das nun das man nur 256Byte Lokaldaten (oder mehr bei größeren CPUs sofern man es anders einstellt), über die ganze Verschachtelungstiefe vom OB1-Weg, zur Verfügung hat.
In der HW-Konfig der VIPA sind nämlich 256Byte parametriert?
Wie steht das jetzt im Zusammenhang mit der Angaben aus den Datenblättern?
Die angesprochene Struktur im Temp des FB braucht 200Byte. Insgesamt hat der FB laut Objekteigenschaften eine Lokaldaten-Bedarf von 238Byte.
Aufrufstruktur sieht folgendermaßen aus:
Kann mir nicht vorstellen dass dort irgendwie die Max-Temp-Datengröße überschritten wird....
Hab auch schon definitiv Programme mit 350+ Byte im Temp auf 315PN-DP-CPUs am Laufen gehabt...
Könntet ihr mir mal den Zusammenhang zwischen den "Lokaldaten-Größen zu den Prioritätsklassen" und der "Lokaldaten-Gesamtgröße aus den Datenblättern" erhellen.
Bin in dem Punkt echt verwirrt.
Des weiteren, habt ihr Ideen warum die Vipa auf Stopp geht?
Danke.
Hallo.
Es geht mir um eine Anlage bei einem unserer Kunden bei der sowohl ne 315-2PN/DP als auch eine Vipa 315SN im Einsatz ist.
An dieser Anlage sind wir programmiertechnisch (macht die IH) nicht beteiligt, haben jedoch einen FB zur Auswertung von Profibus-Energiemessgeräten zur Verfügung gestellt.
Der FB sollte eigentlich OK sein (in vielen Anlagen verwendet, auch mit kleineren CPUs) und funktioniert auch in der 315-2PN/DP des Kunden.
Wenn er den FB aber in der VIPA 315-SN verwendet kommt es zum Stop.
Daher wurde ich natürlich gefragt woran das liegen kann...
Der FB an sich ist eigentlich nichts besonderes. Daten werden vom PB gelesen und in eine UDT-Struktur im Temp zusammengesetzt, danach mittels Blockmove in die selbe Struktur in einem DB kopiert.
Hier der zugehörige Diagnosepuffer-Auszug und die Hardware-Konfig
Anhang anzeigen Diagnosepuffer.txt
Die Peripherie-Zugriffsfehler bei den anderen Meldungen (FC51) kommen anscheinend vom fehlerhaften Zugriff auf einen Sanftanlauf, sollte nicht direkt mit dem Problem zusammenhängen.
Mit ein wenig suchen bin ich auf folgenden Beitrag von Ralle gestoßen. Vor allem folgender Satz macht mir ein wenig Sorgen...
Bei den anderen S7-300-CPUs ist jeder Prioritätsklasse eine feste Anzahl von Lokaldaten zugeordnet (256 Bytes), die nicht verändert werden kann.
Heißt das nun das man nur 256Byte Lokaldaten (oder mehr bei größeren CPUs sofern man es anders einstellt), über die ganze Verschachtelungstiefe vom OB1-Weg, zur Verfügung hat.
In der HW-Konfig der VIPA sind nämlich 256Byte parametriert?
Wie steht das jetzt im Zusammenhang mit der Angaben aus den Datenblättern?
SIEMENS S7315-2PN/DP Datenblatt schrieb:Lokaldaten
● je Prioritätsklasse, max. 32 768 byte; max. 2048 byte pro Baustein
VIPA S7315-SN Datenblatt schrieb:Max. local data size per execution level 3072 Byte
Max. local data size per block 3072 Byte
Die angesprochene Struktur im Temp des FB braucht 200Byte. Insgesamt hat der FB laut Objekteigenschaften eine Lokaldaten-Bedarf von 238Byte.
Aufrufstruktur sieht folgendermaßen aus:
Code:
OB1-Begin
|------- Mehrere Programm FBs und FCs
|------- FB für Messgeräte (1 Bit Temp-Daten)
--------|------- Aufruf des Energiemessgeräte-FB als Multiinstanz
OB1-Ende
Kann mir nicht vorstellen dass dort irgendwie die Max-Temp-Datengröße überschritten wird....
Hab auch schon definitiv Programme mit 350+ Byte im Temp auf 315PN-DP-CPUs am Laufen gehabt...
Könntet ihr mir mal den Zusammenhang zwischen den "Lokaldaten-Größen zu den Prioritätsklassen" und der "Lokaldaten-Gesamtgröße aus den Datenblättern" erhellen.
Bin in dem Punkt echt verwirrt.
Des weiteren, habt ihr Ideen warum die Vipa auf Stopp geht?
Danke.
Zuletzt bearbeitet: