Moin,
ich würde gerne bei einigen (~30) $IN und $OUT den Wechsel von TRUE auf FALSE (und anders herum) im Hintegrund mitschreiben. Die Frage ist: Wie erkenne ich einen Signalwechsel? Aufgrund der Menge an Signalen kommen Interrupts nicht in Frage. Zumal ich dann systembedingt eine (unerwünschte) Priorisierung mit drin hätte. Mit fällt aktuell nur ein Vergleich in der SPS.SUB ein.
Code
In $CONFIG.DAT
DECL BOOL FREIGABE_ABLAGE_OLD = FALSE
SIGNAL FREIGABE_ABLAGE $IN[69]
In SPS.SUB
IF (FREIGABE_ABLAGE <> FREIGABE_ABLAGE_OLD) THEN
IF FREIGABE_ABLAGE THEN
WriteToLogBook("FREIGABE_ABLAGE = TRUE")
ELSE
WriteToLogBook("FREIGABE_ABLAGE = FALSE")
ENDIF
FREIGABE_ABLAGE_OLD = FREIGABE_ABLAGE
ENDIF
Alles anzeigen
Geht das auch eleganter?
Gruß
Jörn