Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Nachfolgend habe ich in deinem Code mal farbig gekennzeichnet warum das so ist.
(*handling input to move shutter downwards*)
LD E_down (* Hier speicherst Du den Eingang *)
ST enable_down
CAL TON_E_down(in:= enable_down, PT:= delay_signal)
CAL FP_TON_down(CLK:= TON_E_down.Q)
LD...
Es ist kein Adapter erforderlich.
Die V24 liegt auf X31 (25pol. Buchse) auf folgenden Pins
Pin 2 TXD
Pin 3 RXD
Pin 7 GND
Bei X32 (9pol Stecker)
Pin 2 RXD
Pin 3 TXD
Pin 5 GND
Vielleicht hilft es, wenn Du die Problemstellung noch einmal anders formulierst und darstellst was du erreichen möchtest. Zumindest ich habe deine Frage nicht verstanden, kann aber auch daran liegen, dass ich Beckhoff nicht so gut kenne.
Ich würd's so angehen, nicht sonderlich schön aber einfach.
Wenn Lampe == Aus UND
HW_Taste == Ein
DANN
Lampe mit Dimmwert HW_Dimmer einschalten
SONST
WENN Lampe == Aus UND
Button == Ein
DANN
Lampe mit Dimmwert PC_Dimmer einschalten
SONST
WENN Lampe...
Ich geb's gleich zu, ich habe nur die 1. Hälfte verstanden.
Meinst Du so eine Funktion wie im Anhang?
Ansonsten denke ich die bessere Lösung wäre, du postest deine Aufgabenstellung und was du bisher hast. Dann kann dir sicher eher geholfen werden.
Spontan habe ich keine Idee.
Falls niemand eine passenden Ansatz hat, kannst Du mir Dein Projekt (inkl. der verwendeten Libs) und eine kurze Aufgabenbeschreibung senden. Ich kann Dir anbieten mir das Morgen Abend anzusehen.
SysRtcGetTime ist eine Funktion welche die Systemzeit als DT zurückliefert. Aus dem Datentyp DT kann nun jede beliebige Zeitinfo generiert werden.
Ungetestes Beispiel zur Anregung.
VAR
SysTimeDT : DT;
TimeOfDay : TOD;
END_VAR
SysTimeDT := SysRtcGetTime(TRUE);
TimeOfDay :=...
Den Parameter darfst Du nennen wie Du möchtest, er muss halt vom Typ SysTime64 sein.
Aber ist für Deine Anwendung die Funktion SysRtcGetTime nicht besser geeignet?
OK, hier ein Versuch der Hilfe zur Selbsthilfe.
Was Du möchtest, ist dass der Ausgang wechselt wenn am Eingang Signal anliegt. D.h. der Ausgang ist immer nur "1" wenn ENTWEDER am Eingang "1" und am Ausgang "0" liegt oder umgekehrt. Diese Funktion kannst Du mir einem Exclusiv-Oder abbilden...
Nachteil:
Die (projektübergreifende) Verwendbarkeit des FBs ist schon sehr eingeschränkt. Für projektspezifische Sachen allerdings durchaus eine mögliche Option.
Ich bevorzuge i.d.R. die Übergabe eines Pointers auf eine Paramterstruktur außerhalb des FBs.