TIA Move Befehl in F-Safety

Guettl

Level-2
Beiträge
12
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Dass der Move-Befehl in F-FUP nicht bedingt ausgeführt werden kann (EN gesperrt), ist ja allseits bekannt. Ein eigener FC mit Return-Befehl bei >ReleaseIN< ist nicht zielführend, da die Zielvariable initialisiert werden möchte und dies auch als Warnung in der Safety Übersetzung erscheint.
Hat jemand eine Idee, wie man dieses Dilemma OHNE Sprung lösen könnte?
Vielen Dank
 
Es gibt keine Lösung ohne Sprung.

Ich benutze einen FC mit 2 Eingängen und einem Inout-Parameter, welche sich wie MOVE verhält.
EN ist ein Bool-In (muss natürlich anders heißen), IN ist ein Eingang (int oder dint), OUT ist ein inout-Parameter.

Innen lässt sich der FC sauber ausprogrammieren mit Init usw. Für INT und DINT braucht man 2 Bausteine.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank,
So ähnlich hatte ich es auch schon umgesetzt. Dummerweise kann man dann an diesen Inout am Aufruf kein Out-Value dranhängen bzw. will das Ding auch initialisiert werden, wenn man drüber hopsen will.

Ich werde nun doch springen. Der Siemens Support empfiehlt mir das auch und widerspricht damit seiner eigenen Aussage:
"Sprünge im F-Programm sind zu meiden"
 
Ich gebe dir Recht... alles ne Frage der Interpretation. Es ist in meinem Falle schon ein ganz schöner Hürdenlauf....;)
 
Es gibt keine Lösung ohne Sprung.

Ich benutze einen FC mit 2 Eingängen und einem Inout-Parameter, welche sich wie MOVE verhält.
EN ist ein Bool-In (muss natürlich anders heißen), IN ist ein Eingang (int oder dint), OUT ist ein inout-Parameter.
Genau so macht es Siemens selber in verschiedenen F-Bibliotheken (Die F-Multiplexer sind, soweit ich mich erinnere, in der LFMath-Bib enthalten).
Wissen wohl nur die Götter wieso man nicht direkt den EN beschalten darf ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯
 
Genau so macht es Siemens selber in verschiedenen F-Bibliotheken (Die F-Multiplexer sind, soweit ich mich erinnere, in der LFMath-Bib enthalten).
Wissen wohl nur die Götter wieso man nicht direkt den EN beschalten darf ¯⁠\⁠_⁠(⁠ツ⁠)⁠_⁠/⁠¯
Vermutlich würde dann TIA auf einmal wie von geisterhand funktionieren 🤣🤣🤣
 
Wissen wohl nur die Götter wieso man nicht direkt den EN beschalten darf
Ich vermute mal, dass sich der EN nicht mit der inversen Logik abbilden lässt.

Hat zu dem Thema eigentlich schon mal jemand was in den Schulungsunterlagen gefunden?

Einerseits steht im Safety Handbuch:
1744097149017.png

Dann, wenn man mal durch die TIA Hilfe stöbert, findet man z.B. folgendes Beispiel:
( Gefunden bei: TWO_H_EN: Zweihandüberwachung mit Freigabe )

1744097179188.png

Wem darf man jetzt glauben?
 
Ich vermute mal, dass sich der EN nicht mit der inversen Logik abbilden lässt.
Ich denke auch dass dies ursprünglich der Grund war.

Ich hab mal irgendwo gelesen (und bin zu faul das jetzt zu suchen), dass das Bauen der Inversen Logik für Spungbefehle ein ziemlicher Heckmeck ist. EN ist im Prinzip nichts anderes, ich vermute mal dass in einem TÜV-Gespräch im Jahre Schnee (also bei Erfindung der S7-classic F-Technik) festgelegt wurde, dass das einfach nicht gehen darf.
 
Zurück
Oben