Soll die Produktion ohne MKTerminal erfolgen, weil z. B. keine Auftragsdaten oder Materialverbräuche erfasst werden können, erlaubt dieser Funktionsbaustein die Sperre der Produktion zu umgehen.
VAR_INPUT BPTtoPLC_Heartbeat : BOOL; (* Ausgabe von MK|Ware: Heartbeat-Signal vom MKTerminal *) BPTtoPLC_Enable : BOOL; (* Ausgabe von MK|Ware: MKWare Signal zur Produktionsfreigabe *) TerminalBypass_Enable : BOOL; (* Bypass-Signal, das die Produktion ohne Terminal ermöglicht *) Pulsduration: TIME : = t#500ms; (* Dauer des Heartbeat-Pulses*) TimeoutTime:TIME : = t#10s; (* Größe des Timeouts *) END_VAR
VAR_OUTPUT EnableMachine: BOOL; (* Signal, das den Betrieb des Arbeitsplatzes ohne //MKTerminal// ermöglicht. *) StopAfterCycle: BOOL; (* Stopp der Produktion nach dem aktuellen Zyklus. *) BPTfromPLC_Heartbeat: BOOL; (* Ausgabe an MK|Ware: Heartbeat-Signal. *) Warning_TerminalHeartbeatMissing: BOOL; (* Warnung, wenn das Heartbeat von //MKTerminal// ausbleibt. *) Error: STRING; (* Fehlerbeschreibung zur Fehleranalyse *) ErrorID: INT; (* Fehler ID zur Fehleranalyse *) END_VAR
BPtoPLC_Heartbeat | BPtoPLC_Enable | TerminalBypass_Enable | EnableMachine | |
---|---|---|---|---|
blinking | TRUE | TRUE | TRUE | |
blinking | TRUE | FALSE | TRUE | |
blinking | FALSE | TRUE | FALSE | |
blinking | FALSE | FALSE | FALSE | |
FALSE | TRUE | TRUE | TRUE | |
FALSE | TRUE | FALSE | FALSE | |
FALSE | FALSE | TRUE | TRUE | |
FALSE | FALSE | FALSE | FALSE |