Step 7 Eingangsbit von FB auf FALSE, obwohl beim Aufruf TRUE dran steht.

Du musst die 4 Zeilen nicht als AWL in das Netzwerk quetschen. Du kannst auch einfach ein eigenes KOP-Netzwerk mit Verknüpfung und MOVE einfügen. Mit KOP kennst du dich ja anscheinend aus.
Naja, zum einen frage ich nach, weil in meiner aktuellen Firma solche Sachen jetzt vermehrt kommen werden und zweitens, man will sich ja auch entwickeln. Auch wenn AWL jetzt vielleicht nicht das neuste ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Andere Möglichkeit?

Code:
      UN    "DB_Visu_Status".HS_Energieoptimierung.Ein
      UN    "M_Limit_HS_FSP"
      =
      L     1.000000e+002
      T     #Leistungsbegrenzung
Nein, funktioniert nicht. Du musst springen.

L ..
T ..

sind Anweisungen, die VKE-unabhängig immer ausgeführt werden.
 
Zuletzt bearbeitet:
Ich fasse zusammen:


Code:
UN "DB_Visu_Status".HS_Energieoptimierung.Ein
UN "M_Limit_HS_FSP"
SPBN M001
L 100.0
T #Leistungsbegrenzung
M001 : NOP 0

Dieser Code löst mein Problem?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich fasse zusammen:


Code:
UN "DB_Visu_Status".HS_Energieoptimierung.Ein
UN "M_Limit_HS_FSP"
SPBN M001
L 100.0
T #Leistungsbegrenzung
M001 : NOP 0

Dieser Code löst mein Problem?
Ja, so geht das.

Für mich wäre noch die Frage, was steht denn sonst in Leitungsbegrenzung?
 
... Geht sowas einfaches auch ohne Sprungmarke?
Natürlich. Du solltest die Variable #Leistungsbegrenzung vor der Fallunterscheidung permanent mit 100.0 initialisieren. Eine Initialisierung empfiehlt sich auch für #Programm_Nr. Das heißt, du brauchst weder die beiden UN-Abfragen, noch eine Sprunganweisung. Einfach nur L und T bzw. MOVE ohne Beschaltung von EN. Ich gehe davon aus, dass es außer den gezeigten keine weiteren Schreibzugriffe auf #Leistungsbegrenzung und #Programm_Nr gibt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zwischen dem ersten Netzwerk des FC und dem gezeigten Netzwerk mit dem fehlerhaften Versuch, 100.0 in #Leistungsbegrenzung zu schreiben, wird es ziemlich sicher schon eine Initialisierung geben (wurde uns nur nicht gezeigt), weil bis zu diesem Eingriff sollte das Programm ja schon irgendwie funktioniert haben - oder ist die Sache mit der #Leistungsbegrenzung komplett neu?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte allen Beteiligten für die Lösungsfindung danken.

Das Programm vom Screenshot ist nicht von mir und trotzdem muss ich mich dafür ein bisschen schämen: Vor Netzwerk 5 werden weder "#Leistungsbegrenzung" noch "#Programm_Nr" initialisiert.

Die Leistungsbegrenzung bewegt sich ohne Optimierung bei 100.0% und bei Optimierung bei 50% und die Reinigung bei 30%. Beide letzten Werte kommen von der Leitwarte.

So wie sich das, auch nach den Nachfragen der Initialisierungen darstellt, da es TEMP Werte sind. Würde ich die letzten Zeilen des AWL Netzwerks zwecks sinnvoller Initialisierung so gestalten:


Code:
L 100.0
T #Leistungsbegrenzung // Real

L 0
T #Programm_Nr // Int
 
Das Programm vom Screenshot ist nicht von mir und trotzdem muss ich mich dafür ein bisschen schämen: Vor Netzwerk 5 werden weder "#Leistungsbegrenzung" noch "#Programm_Nr" initialisiert.
Den unabgeschlossener VKE, und die nicht-initializierte TEMP Variabeln deuten daran dass das Program von einen Anfänger erstellt oder modifiziert wurde.
Sicherheitshalber würde ich das Programm auf ähnliche Probleme überprüfen. Wenn nicht den ganze Programm, dann Steckproben.

Du kannst in eine Sicherungskopie von bevor dass du das Programm berührt hast, den Zeitstempel von die FB untersuchen. Gibt es andere Bausteine mit ähnliche Zeitstempel ? Damit kannst du vielleicht den Anzahl von verdächtige Bausteine eingrenzen.
 
Zurück
Oben