Claude Session mit Empfehlungen zur Standardisierung der Library hinzugefügt. Manuelle Prüfung jedes Bausteins noch nötig

This commit is contained in:
2026-06-29 10:24:45 +02:00
parent d4ce88715e
commit 3bf291fdf8
13 changed files with 1442 additions and 0 deletions
@@ -0,0 +1,72 @@
FUNCTION_BLOCK "FB-OPC_UA_System-Stat"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
nInSystemStat : Int; // Main State
xInFireAlarm : Bool; // Feueralarm
xInSafetyStop : Bool; // Not-Halt
xInError : Bool; // Störung
xInCommunicationError : Bool; // Kommunikationsstörung
END_VAR
VAR_OUTPUT
nOutScadaStatus : Int;
END_VAR
BEGIN
//Priority Chain
//Emergency
//Fault/Restore
//Manual
//Energy Saving
//Cleaning / Warning
//Running/Stopped
IF #xInFireAlarm THEN
#nOutScadaStatus := 1;
ELSIF #xInSafetyStop THEN
#nOutScadaStatus := 3;
ELSIF #xInError THEN
#nOutScadaStatus := 5;
ELSIF #xInCommunicationError THEN
#nOutScadaStatus := 23;
ELSIF #nInSystemStat = "E_DeviceState.eExecute" THEN
#nOutScadaStatus := 19;
ELSIF (#nInSystemStat = "E_DeviceState.eStopped") OR (#nInSystemStat = "E_DeviceState.eIdle") THEN
#nOutScadaStatus := 17;
END_IF;
(* CASE #nInSystemStat OF
"E_DeviceState.eStopped":
#nOutScadaStatus := 17;
"E_DeviceState.eIdle":
#nOutScadaStatus := 17;
"E_DeviceState.eExecute":
#nOutScadaStatus := 19;
"E_DeviceState.eHolding":
#nOutScadaStatus := 3;
"E_DeviceState.eHeld":
#nOutScadaStatus := 13;
"E_DeviceState.eSuspended":
#nOutScadaStatus := 13;
"E_DeviceState.eStarting",
120,
"E_DeviceState.eUnholding",
"E_DeviceState.eUnsuspending",
"E_DeviceState.eStopping":
#nOutScadaStatus := 7;
ELSE
#nOutScadaStatus := 5;
END_CASE; *)
END_FUNCTION_BLOCK