Nur Anzeigenproblem oder Einfluss auf Anlage?

vollmi

Level-3
Beiträge
5.436
Reaktionspunkte
1.410
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi zusammen.

Ich habe ein interessantes Anzeigenphänomen beim Online Betrachten eins FB auf einer S7-mEC EC31.

90% Wird der Baustein angezeigt wie links. Manchmal wird er ab angezeigt wie rechts.
Abgearbeitet scheint er aber trotzdem zu werden.
Und der Ausgang gleich überm ENO wechselt auch zum gleichen Zeitpunkt den Status (darum denke ich wird er abgearbeitet)

Ich habe ebenfalls einen Aufruf der wird immer so dargestellt wie rechts. Scheint aber auch abgearbeitet zu werden.

Hatte das schon jemand? Ne Idee wo das herkommen könnte?

komisches_verhalten.jpg
 
Das was Du beobachtest ist bei allen S7-CPU so und kein Phänomen, sondern wichtig.

Der grüne Bausteinrahmen signalisiert den Zustand des BIE-Bits/ENO-Ausgangs.
BIE = ENO = 1 --> grün
BIE = ENO = 0 --> gestrichelt

Will man in FUP/KOP Bausteine hintereinander schalten, dann muß man dafür sorgen,
daß das BIE-Bit beim Bausteinende 1 ist.
Code:
SET    // VKE auf 1
SAVE   // VKE in BIE übernehmen
Ist das BIE-Bit beim Bausteinende 0, dann wird der nachfolgende Baustein nicht aufgerufen.
Das wird meistens absichtlich zur Fehleranzeige und Bearbeitungsabbruch benutzt.

Step7 Hilfe zu AWL:
BIE Binärergebnisbit (Statuswort, Bit 8)

Das BIE-Bit ist das Bit 8 des Statusworts.

Das BIE-Bit dient zur Übergabe des Bearbeitungsergebnisses von AWL-Anweisungen an nachfolgend zu bearbeitende Anweisungen.

Wenn Sie einen Funktionsbaustein oder eine Funktion in AWL schreiben und in KOP/FUP aufrufen wollen, müssen Sie das Verknüpfungsergebnis (VKE) direkt vor dem Verlassen des Bausteins im BIE-Bit speichern, um so den Freigabeausgang (ENO) für die KOP-/FUP-Box zu liefern. Dies erreichen Sie mit den Operationen SAVE, SPBB und SPBNB.

Wenn Sie in Ihrem Programm einen Systemfunktionsbaustein (SFB) oder eine Systemfunktion (SFC) aufrufen, zeigt der SFB bzw. die SFC über den Signalzustand des BIE-Bits an, ob die CPU die Funktion fehlerfrei oder fehlerhaft ausgeführt hat:
· Trat während der Bearbeitung ein Fehler auf, ist das BIE-Bit ”0”.
· Wurde die Funktion fehlerfrei bearbeitet, ist das BIE-Bit ”1”.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hm. Ich habe die Bausteine aber in SCL geschrieben. In der SCL Hilfe ist nirgendwo die Rede vom BIE.

Ich war mir bisher gewohnt das Fehler in der Diagnose der CPU eingetragen werden.

Heisst das meine SCL Bausteine haben einen Fehler und somit wird das BIE zurückgesetzt?
Wie kann ich es in SCL wieder richtigstellen?

Der Baustein scheint wirklich Probleme zu haben. Noch nicht herausgefunden was ihn stört.
 
Zuletzt bearbeitet:
Kann man den SCL Baustein wenn man ihn mit "Ctrl + Alt + O" nicht als eigene Instanz öffnen und beobachten?

Bei mir zeigt er dann beim Online betrachten schnell wechselnd sämtliche Zustände der verschiedenen aufrufe nicht nur den Teil des Multiinstanzaufrufs den ich ausgewählt habe.
 
Habe ich vorher auch so probiert, allerdings kann man wenn man den Baustein mit Rechtsklick "Beobachten mit Aufrufpfad" nicht in SCL angucken. Oder sollte das gehen?

Bei mir kommt dann Baustein enthält keine Symbolinformationen und wird dann in AWL angezeigt.

nee, das geht nur in awl ... meines wissens
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habs jetzt in den Bausteinen so gemacht.

Die Ausgangsvariable Stat hatte ich schon am Treiberbaustein für WinAC und wollte ich beibehalten und zusätzlich für Bausteininterne Fehler nutzen.
Den Code habe ich jetzt mit verschiedenen inhalten (7001 ... 7008 etc.) hinter kritischen Rechnungen platziert. Z.B. wenn eine Division durch 0 einen Fehler auslösen könnte oder ein Aufruf das BIE verändern könnte.

Code:
IF NOT OK AND (STAT = 0) THEN
    Stat := 7001;  // DAT1 ... DAT2 auf korrektes Format und Inhalt überprüfen
END_IF;

Die Funktion habe ich in AWL nie genutzt, da ich dort ja immer Online den Baustein ansehen und Fehler finden konnte.
Hat jetzt aber den Vorteil das ich die Bausteine einfach weitergeben kann und der nächste sozusagen auf fehlerhafte Beschaltung direkt hingewiesen wird.

Hoffentlich wird das SCL irgendwann Multiinstanz online debuggingfähig :cool:

mfG René
 
Hm. Ich habe die Bausteine aber in SCL geschrieben. In der SCL Hilfe ist nirgendwo die Rede vom BIE.

Ich war mir bisher gewohnt das Fehler in der Diagnose der CPU eingetragen werden.

Heisst das meine SCL Bausteine haben einen Fehler und somit wird das BIE zurückgesetzt?
Wie kann ich es in SCL wieder richtigstellen?

Der Baustein scheint wirklich Probleme zu haben. Noch nicht herausgefunden was ihn stört.
Ich glaube das BIE Bit findest du in SCL unter:
Extras > Einstellungen > Compiler > "OK Flag setzen"
 
Zurück
Oben