TIA FUP: Bausteinausgang direkt mit Bausteineingang verbinden

Little-JO

Level-1
Beiträge
43
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen.

Ich programmiere gerade ein Safety Programm (S7-1500F in TIA V17). Hier hänge ich gerade bei der Programmierung der Fehlermeldungen im normalen Programm. Ich habe eine Funktion (FC), welche aus einem Diagnosebyte das gewünschte Bit extrahiert und am Bausteinausgang als BOOL ausgibt. Dieses Bit möchte ich direkt mit einem Eingang des Alarmbausteins (FB) verbinden.

Leider lässt das Programm das nicht zu. Ich kann zwar den ENO des FC's direkt verbinden, aber nicht den Ausgang oBit (siehe Bild). Ich will das ungern über temporäre Variablen lösen.

Sowohl der FC Ausgang "oBit" und die FB Eingänge inFxx sind vom Datentyp BOOL. Weiß jemand, warum das nicht funktioniert oder ob man da noch was einstellen kann?

1663678940173.png

Vielen Dank für die Hilfe.
 
Mit einer Linie (das VKE ! ) direkt verbinden kann man in FUP/KOP (logischerweise) nur das VKE. Bei Bausteinen ist der ENO der VKE-Ausgang. Genau einen BOOL kann ein Baustein über diesen ENO ausgeben: siehe TIA Hilfe "Baustein-ENO eines KOP-/FUP-Programmbausteins beeinflussen" und die Anweisung "RET: Zurück springen".

Harald
 
Also solche Direktverknüpfungen machen mir Kopfweh.
Lieber ein vernünftigen und konsistenten Variablenhaushalt aufbauen. Den kannst du dann entsprechend auch visualisieren und ggf. debuggen.

Vllt. mal denn Programmierleitfaden durchlesen, den Siemens dir kostenlos zur Verfügung stellt.

Da stehen einige solche, und einige noch wertvollere Tipps drin.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also solche Direktverknüpfungen machen mir Kopfweh.
Lieber ein vernünftigen und konsistenten Variablenhaushalt aufbauen.
Vorsicht bei Parameterübergaben von einem Baustein zum nächsten über (TEMP-)Zwischenvariablen im selben FUP/KOP-Netzwerk bei S7-300/400 ! Das ist vermutlich in TIA für S7-300/400 auch noch so (wegen Kompatibilität migrierter Programme).
siehe hier das gleiche Problem vor 4 Jahren

Harald
 
Danke für all die Hinweise.

Ich denke die Lösung von Nico erscheint mir am sinnvollsten.
Mit dem Slice-Zugriff ist der FC "BoolFromByte" eigentlich überflüssig geworden.
Eine weitere Möglichkeit ist unter Umständen auch, dass du eine UDT erstellst und dem Byte dann den Datentyp zuweist.
Dann hast du auch gleich noch symbolische Namen und Beschreibung.
 
Zurück
Oben