RONIN
Level-3
- Beiträge
- 2.529
- Reaktionspunkte
- 773
-> Hier kostenlos registrieren
Hallo Leute
Ich bin gerade dabei einen FC-für eine Messung zu schreiben und bin auf ein interessantes Problem mit der Return-Value gestoßen. Ist eigentlich nicht der erste FC den ich in meinem leben schreibe, habe das Problem aber noch nie gehabt.
Ich habe mal den Mess-FC (Siehe Anhang) bis auf das grundlegende Problem gestript, alles andere wäre zu lang, so ist das Problem auf besser sichtbar.
Er besteht aus:
1.) einem Eingang für ein Peripherie-Eingangswort (Wird in diesem Fall testweise über einen einfachen Zähler zwischen 0 und 27648 vorgeben)
2.) einem FC105-Scale Baustein zum umwandeln des Messwertes
3.) einem Ausgang zur Ausgabe des Messwertes
4.) einem Ret_Val-Wert vom Typ Int zum Ausgeben ob beim FC105 irgendein Fehler war.
Das Problem:
Der Zähler, der in diesem Versuch das PEW ersetzt, gibt einen Wert vor, der vom FC105 ohne Fehler umgesetzt und in einem temporären Wert geschrieben wird. Dieser temporäre Wert wird dann einfach auf den Ausgangswert geschrieben. Das Problem befindet sich jetzt in Netzwerk 4: In der ersten Zeile lade ich noch einmal die aktuelle Ret_Val (zum Vergleich), danach übergebe ich den temporären Messwert an den Messwertausgang. Wenn ich dann dahinter noch einmal die Ret_Val lade sehe ich aber das die Ret_Val von der vorangegangenen Transfer-Operation beinflusst wird. Als würde sich der Out-Bereich mit der Ret-Val überschneiden.
Woran kann das liegen???
@EDIT@: Achja ist übrigens eine S7313C-2DP. Ist in dem Fall aber kaum relevant.
mfg RONIN
Ich bin gerade dabei einen FC-für eine Messung zu schreiben und bin auf ein interessantes Problem mit der Return-Value gestoßen. Ist eigentlich nicht der erste FC den ich in meinem leben schreibe, habe das Problem aber noch nie gehabt.
Ich habe mal den Mess-FC (Siehe Anhang) bis auf das grundlegende Problem gestript, alles andere wäre zu lang, so ist das Problem auf besser sichtbar.
Er besteht aus:
1.) einem Eingang für ein Peripherie-Eingangswort (Wird in diesem Fall testweise über einen einfachen Zähler zwischen 0 und 27648 vorgeben)
2.) einem FC105-Scale Baustein zum umwandeln des Messwertes
3.) einem Ausgang zur Ausgabe des Messwertes
4.) einem Ret_Val-Wert vom Typ Int zum Ausgeben ob beim FC105 irgendein Fehler war.
Das Problem:
Der Zähler, der in diesem Versuch das PEW ersetzt, gibt einen Wert vor, der vom FC105 ohne Fehler umgesetzt und in einem temporären Wert geschrieben wird. Dieser temporäre Wert wird dann einfach auf den Ausgangswert geschrieben. Das Problem befindet sich jetzt in Netzwerk 4: In der ersten Zeile lade ich noch einmal die aktuelle Ret_Val (zum Vergleich), danach übergebe ich den temporären Messwert an den Messwertausgang. Wenn ich dann dahinter noch einmal die Ret_Val lade sehe ich aber das die Ret_Val von der vorangegangenen Transfer-Operation beinflusst wird. Als würde sich der Out-Bereich mit der Ret-Val überschneiden.
Woran kann das liegen???
@EDIT@: Achja ist übrigens eine S7313C-2DP. Ist in dem Fall aber kaum relevant.
mfg RONIN
Anhänge
Zuletzt bearbeitet: