dritte Steuerung nochmal wiederholt hinzugefügt

This commit is contained in:
2026-06-23 09:45:04 +02:00
parent a6295901a5
commit f384644167
286 changed files with 0 additions and 72573 deletions
@@ -1,491 +0,0 @@
FUNCTION_BLOCK "FB_PreMain"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_IN_OUT
stInOutControlUnitCabinet : "UDT_MainState";
END_VAR
VAR
fbMonMotorProtection : "FB_Monitoring";
fbMonPhaseFailure : "FB_Monitoring";
fbMonFuse400V : "FB_Monitoring";
fbMonFuse24V : "FB_Monitoring";
fbMonPressure : "FB_Monitoring";
fbMonMainContactorsUH04 : "FB_Monitoring";
fbMonSafetyContactorsExternOmniflo : "FB_Monitoring";
fbMonSafetyContactorsExternReserve : "FB_Monitoring";
fbMonFAS1 : "FB_Monitoring"; // IF from FACP "fire alarm" DI0034
fbMonFAS2 : "FB_Monitoring"; // IF from FACP "fire alarm" DI0033
fbMonFPG_Open : "FB_Monitoring"; // Control from FPG
fbMonFPG_Fault : "FB_Monitoring"; // Control from FPG
fbMonFPG_Fire : "FB_Monitoring"; // Control from FPG
fbMonCommFortnaWCS : "FB_Monitoring";
fbMonCommFortnaWESDeviceHub : "FB_Monitoring";
xAllReadyToStart { S7_SetPoint := 'True'} : Bool;
fbStateMain : "FB_StateMain";
arESTOPAck { S7_SetPoint := 'False'} : Array[0..4] of "FB_ESTOPhandling";
xReInit : Bool;
fTrigReIntTime {InstructionName := 'F_TRIG'; LibVersion := '1.0'} : F_TRIG;
tOfReIntTime {InstructionName := 'TOF_TIME'; LibVersion := '1.0'} : TOF_TIME; // nach Hochfahren vergeht diese Zeit bis erstmalig Quit
END_VAR
VAR_TEMP
tDebug : Int;
nIdx : USInt;
END_VAR
VAR CONSTANT
c_UH04 : Int := 0; // Konstante für ESTOP
c_UZ0409 : Int := 1; // Konstante für ESTOP
c_UH04_Extern1 : Int := 2; // Konstante für ESTOP
c_UH04_Extern2 : Int := 3; // Konstante für ESTOP
END_VAR
BEGIN
REGION Reinitialisieren
#tOfReIntTime(IN := NOT #xReInit,
PT := T#10s);
IF NOT #xReInit THEN
#xReInit := TRUE;
END_IF;
#fTrigReIntTime(CLK := #tOfReIntTime.Q);
END_REGION
REGION CycleTime
// "DB_MachineGlobal".nLogicCycle := stInOutControlUnitCabinet.nLogicCycle + 1;
#tDebug := RD_SYS_T("DB_MachineGlobal".TimePLC);
// #fbCycleTime("DB_MachineGlobal".nPrevCycle);
END_REGION
REGION Monitoring
REGION Motor protection
#fbMonMotorProtection.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonMotorProtection.stSettings.xSelfQuit := FALSE;
#fbMonMotorProtection(sInFctnName := 'Motorschutz',
sInPrefix := 'UH04',
sInAlarmMessage := 'Motorschutz ausgeloest',
sInSuffix := 'FC0060-FC0074',
wInTextListId_Function := 3,
wInTextListId_Message := 1,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "FC0060" AND "FC0061" AND "FC0062" AND "FC0063" AND "FC0064" AND "FC0065" AND "FC0066" AND
"FC0070" AND "FC0071" AND "FC0072" AND "FC0073" AND "FC0074",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stMotorProtection.UH04);
END_REGION
REGION Phase failure
#fbMonPhaseFailure.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonPhaseFailure.stSettings.xSelfQuit := FALSE;
#fbMonPhaseFailure(sInFctnName := 'Phasenausfall',
sInPrefix := 'UH04',
sInAlarmMessage := 'Phase ausgefallen',
sInSuffix := 'DI0005',
wInTextListId_Function := 6,
wInTextListId_Message := 2,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "DI0005",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stPhase.UH04_400V);
END_REGION
REGION 400V
#fbMonFuse400V.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonFuse400V.stSettings.xSelfQuit := FALSE;
#fbMonFuse400V(sInFctnName := 'Sicherungsfall',
sInPrefix := 'UH04 400V',
sInAlarmMessage := 'Sicherung ausgeloest',
sInSuffix := 'DI0016',
wInTextListId_Function := 4,
wInTextListId_Message := 3,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "DI0016",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stFuse.UH04_400V);
END_REGION
REGION 24V
#fbMonFuse24V.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonFuse24V.stSettings.xSelfQuit := FALSE;
#fbMonFuse24V(sInFctnName := 'Sicherungsfall',
sInPrefix := 'UH04 24V',
sInAlarmMessage := 'Sicherung ausgeloest',
sInSuffix := 'DI0021',
wInTextListId_Function := 4,
wInTextListId_Message := 3,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "DI0021",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stFuse.UH04_24V);
END_REGION
REGION Pressure
#fbMonPressure.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonPressure.stSettings.xSelfQuit := FALSE;
#fbMonPressure(sInFctnName := 'Druckluftueberwachung',
sInPrefix := 'UH04',
sInAlarmMessage := 'Druckluft zu niedrig',
sInSuffix := 'BP0004',
wInTextListId_Function := 5,
wInTextListId_Message := 4,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "BP0004",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stPressure.UH04);
END_REGION
REGION Hauptschütze UH04
#fbMonMainContactorsUH04.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonMainContactorsUH04.stSettings.xSelfQuit := FALSE;
#fbMonMainContactorsUH04(sInFctnName := 'Hauptschuetzueberwachung',
sInPrefix := 'UH04',
sInAlarmMessage := 'Hauptschuetze Fehler',
sInSuffix := 'QA0610-QA0613',
wInTextListId_Function := 7,
wInTextListId_Message := 5,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "DB_InterfaceSafety".stFromSafety.stMainContactorsUH04.xOk,
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stMainContactor.UH04);
END_REGION
REGION Safetyrelais Extern Omniflo
#fbMonSafetyContactorsExternOmniflo.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonSafetyContactorsExternOmniflo.stSettings.xSelfQuit := FALSE;
#fbMonSafetyContactorsExternOmniflo(sInFctnName := 'Relaisueberwachung',
sInPrefix := 'UH04->UH06',
sInAlarmMessage := 'Relais Fehler',
sInSuffix := 'QA0660/QA0661',
wInTextListId_Function := 9,
wInTextListId_Message := 9,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "DB_InterfaceSafety".stFromSafety.stSafetyContactorsExternOmniflo.xOk,
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stMainContactor.ExternOmniflo);
END_REGION
REGION Safetyrelais Extern Reserve
#fbMonSafetyContactorsExternReserve.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonSafetyContactorsExternReserve.stSettings.xSelfQuit := FALSE;
#fbMonSafetyContactorsExternReserve(sInFctnName := 'Relaisueberwachung',
sInPrefix := 'UH04',
sInAlarmMessage := 'Relais Fehler',
sInSuffix := 'QA0662/QA0663',
wInTextListId_Function := 9,
wInTextListId_Message := 9,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "DB_InterfaceSafety".stFromSafety.stSafetyContactorsExternReserve.xOk,
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stMainContactor.ExternReserve);
END_REGION
REGION Brandschutz
REGION FAS 1
#fbMonFAS1.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonFAS1.stSettings.xSelfQuit := FALSE;
#fbMonFAS1(sInFctnName := 'Feueralarm',
sInPrefix := 'UH04/FAS1',
sInAlarmMessage := 'Feueralarm Signal 1',
sInSuffix := 'DI0034',
wInTextListId_Function := 8,
wInTextListId_Message := 6,
xInQuitError := #stInOutControlUnitCabinet.xQuitError OR "SF0002",
xInSignal := "DI0034",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stFireControl.NoFireAlarmFAS1);
END_REGION
REGION FAS 2
#fbMonFAS2.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonFAS2.stSettings.xSelfQuit := FALSE;
#fbMonFAS2(sInFctnName := 'Feueralarm',
sInPrefix := 'UH04/FAS2',
sInAlarmMessage := 'Feueralarm Signal 2',
sInSuffix := 'DI0033',
wInTextListId_Function := 8,
wInTextListId_Message := 6,
xInQuitError := #stInOutControlUnitCabinet.xQuitError OR "SF0002",
xInSignal := "DI0033" OR TRUE,
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stFireControl.NoFireAlarmFAS2);
END_REGION
REGION FPG open
#fbMonFPG_Open.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonFPG_Open.stSettings.xSelfQuit := FALSE;
#fbMonFPG_Open(sInFctnName := 'Feueralarm',
sInPrefix := 'UH04/FD411',
sInAlarmMessage := 'Tor nicht offen',
sInSuffix := 'DI0037',
wInTextListId_Function := 8,
wInTextListId_Message := 7,
xInQuitError := #stInOutControlUnitCabinet.xQuitError OR "SF0002",
xInSignal := "DI0037",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stFireControl.FPCOpened);
END_REGION
REGION FPG fault
#fbMonFPG_Fault.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonFPG_Fault.stSettings.xSelfQuit := FALSE;
#fbMonFPG_Fault(sInFctnName := 'Feueralarm',
sInPrefix := 'UH04/FD411',
sInAlarmMessage := 'Fehler',
sInSuffix := 'DI0036',
wInTextListId_Function := 8,
wInTextListId_Message := 8,
xInQuitError := #stInOutControlUnitCabinet.xQuitError OR "SF0002",
xInSignal := "DI0036",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stFireControl.NoFault);
END_REGION
REGION FPG Fire
#fbMonFPG_Fire.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonFPG_Fire.stSettings.xSelfQuit := FALSE;
#fbMonFPG_Fire(sInFctnName := 'Feueralarm',
sInPrefix := 'UH04/FD411',
sInAlarmMessage := 'Feuer',
sInSuffix := 'DI0035',
wInTextListId_Function := 8,
wInTextListId_Message := 6,
xInQuitError := #stInOutControlUnitCabinet.xQuitError OR "SF0002",
xInSignal := "DI0035",
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stFireControl.NoFireAlarmFPG);
END_REGION
END_REGION
REGION MISC (nicht für AllReadyToStart)
REGION TCP-Kommunikation
REGION Fortna WCS
#fbMonCommFortnaWCS.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonCommFortnaWCS.stSettings.xSelfQuit := TRUE;
#fbMonCommFortnaWCS(sInFctnName := 'Kommunikationsfehler',
sInPrefix := 'UH04',
sInSuffix := 'Fortna WCS',
wInTextListId_Function := 20000,
wInTextListId_Message := 20000,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "FB_CommunicationWCSBL_DB".fbTeleHandler.xOutConnectionActive,
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stExternal.TCPFortnaWCS);
END_REGION
REGION Fortna WES DeviceHub
#fbMonCommFortnaWESDeviceHub.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonCommFortnaWESDeviceHub.stSettings.xSelfQuit := TRUE;
#fbMonCommFortnaWESDeviceHub(sInFctnName := 'Kommunikationsfehler',
sInPrefix := 'UH04',
sInSuffix := 'Fortna WES',
wInTextListId_Function := 20000,
wInTextListId_Message := 20000,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := "FB_CommunicationWES_DeviceHub_DB".fbTeleHandler.xOutConnectionActive,
InOutMachineState := #stInOutControlUnitCabinet,
stOutHMI => "DB_Interface_HMI".stSystem.stExternal.TCPFortnaWES);
END_REGION
END_REGION
END_REGION
END_REGION
REGION AllReadyToStart
#xAllReadyToStart :=
#fbMonPhaseFailure.xOutOk AND
#fbMonFuse24V.xOutOk AND
#fbMonFuse400V.xOutOk AND
#fbMonPressure.xOutOk AND
#fbMonMotorProtection.xOutOk AND
#fbMonMainContactorsUH04.xOutOk AND
#fbMonSafetyContactorsExternOmniflo.xOutOk AND
#fbMonSafetyContactorsExternReserve.xOutOk AND
#fbMonFAS1.xOutOk AND
#fbMonFAS2.xOutOk AND
#fbMonFPG_Fire.xOutOk AND
#fbMonFPG_Fault.xOutOk AND
#fbMonFPG_Open.xOutOk;
END_REGION
REGION StateMain
#fbStateMain.stSettings.xEnableStartUpWarning := TRUE;
#fbStateMain.stSettings.tStartUpTime := T#5s;
#fbStateMain(xInBtnMachineOn := "SF0001",
xInBtnMachineNotOff := "SF0000",
xInBtnTrigMot := "SF0002",
xInBtnQuitError := "SF0002",
xInAllReadyToStart := #xAllReadyToStart,
xInAllInExecute := TRUE,
xInAllStarted := TRUE,
xInSafetyActive := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, //("Main_Safety_RTG1_DB".ESTOP1_Main.Q AND NOT "Main_Safety_RTG1_DB".FDBACK_UH04.ACK_REQ AND NOT "Main_Safety_RTG1_DB".FDBACK_UH04.ERROR),
xInAllInSafeState := "DB_InterfaceSafety".stFromSafety.EStopMain.Q, //("Main_Safety_RTG1_DB".ESTOP1_Main.Q AND NOT "Main_Safety_RTG1_DB".FDBACK_UH04.ACK_REQ AND NOT "Main_Safety_RTG1_DB".FDBACK_UH04.ERROR),
stInOutControlUnitCabinet := #stInOutControlUnitCabinet,
stInOutHMI := "DB_Interface_HMI".stStateMachine);
END_REGION
REGION Interface Safety
REGION to Safety
"DB_InterfaceSafety".stToSafety.xAckGlob := "IBN".xAckGlob OR #fTrigReIntTime.Q;
"DB_InterfaceSafety".stToSafety.xMachineRunning := #stInOutControlUnitCabinet.xRunning;
"DB_InterfaceSafety".stToSafety.xMachineStarting := #stInOutControlUnitCabinet.xStarting;
"DB_InterfaceSafety".stToSafety.xQuitButtonHss := "SF0002" OR #stInOutControlUnitCabinet.xQuitError OR #fTrigReIntTime.Q;
"DB_InterfaceSafety".stToSafety.xQuitButtonUZ0409 := "SF0051" OR "IBN".xAckGlob OR #fTrigReIntTime.Q;
"DB_InterfaceSafety".stToSafety.stMainContactorsUH04.xFeedback := "DI0013";
"DB_InterfaceSafety".stToSafety.stSafetyContactorsExternOmniflo.xFeedback := "DI0014";
"DB_InterfaceSafety".stToSafety.stSafetyContactorsExternReserve.xFeedback := "DI0015";
END_REGION
REGION from Safety
;
END_REGION
END_REGION
REGION Outputs
//E-Stop Signalsäule
"PF0030" := "SF0003" OR #fbMonFAS1.xOutError
OR #fbMonFAS2.xOutError
OR #fbMonFPG_Fire.xOutError
OR #fbMonFPG_Fault.xOutError
OR #fbMonFPG_Open.xOutError
OR NOT "DB_InterfaceSafety".stFromSafety.EStopMain.Q;
//Anfahrwarnung Signalsäule
"PF0033" := #stInOutControlUnitCabinet.xStartUpWarning AND "Clock_1Hz";
//LED Störung + Signalsäule gelb
"PF0000" := "PF0031" :=
"SF0003" OR
#fbMonFuse24V.xOutLedError OR
#fbMonFuse400V.xOutLedError OR
#fbMonMotorProtection.xOutLedError OR
#fbMonPhaseFailure.xOutLedError OR
#fbMonPressure.xOutLedError OR
#fbMonMainContactorsUH04.xOutLedError OR
#fbMonSafetyContactorsExternOmniflo.xOutLedError OR
#fbMonSafetyContactorsExternReserve.xOutLedError;
//LED Ein + Signalsäule grün
"PF0001" := "PF0032" := "PF0050" := "PF0052" := "PF0054" := "PF0056" := "SF0003" OR (#stInOutControlUnitCabinet.xRunning AND NOT #stInOutControlUnitCabinet.xStartUpWarning) OR
(NOT #stInOutControlUnitCabinet.xRunning AND #stInOutControlUnitCabinet.xStartUpWarning);
//LED Start nach Störung
"PF0002" := "SF0003" OR #arESTOPAck[0].xOutLed (* OR NOT #xAllReadyToStart *)OR
(#fbMonMotorProtection.xOutAckReq AND "Clock_1Hz") OR
(#fbMonPhaseFailure.xOutAckReq AND "Clock_1Hz") OR
(#fbMonFuse24V.xOutAckReq AND "Clock_1Hz") OR
(#fbMonFuse400V.xOutAckReq AND "Clock_1Hz") OR
(#fbMonPressure.xOutAckReq AND "Clock_1Hz") OR
("DB_InterfaceSafety".stFromSafety.stMainContactorsUH04.xAckReq AND "Clock_1Hz") OR
("DB_InterfaceSafety".stFromSafety.stSafetyContactorsExternOmniflo.xAckReq AND "Clock_1Hz") OR
("DB_InterfaceSafety".stFromSafety.stSafetyContactorsExternReserve.xAckReq AND "Clock_1Hz") OR
(#fbMonFAS1.xOutAckReq AND "Clock_1Hz") OR
(#fbMonFAS2.xOutAckReq AND "Clock_1Hz") OR
(#fbMonFPG_Fire.xOutAckReq AND "Clock_1Hz") OR
(#fbMonFPG_Fault.xOutAckReq AND "Clock_1Hz") OR
(#fbMonFPG_Open.xOutAckReq AND "Clock_1Hz") OR
("fbMain_DB".fbCarousel4003.xOutGridError AND "Clock_1Hz");
//LED Druckluft
"PF0003" := "SF0003" OR #fbMonPressure.xOutLedError;
//LED Motorschutz
"PF0004" := "SF0003" OR #fbMonMotorProtection.xOutLedError;
//LED Sicherung
"PF0005" := "SF0003" OR #fbMonFuse24V.xOutLedError OR #fbMonFuse400V.xOutLedError;
//LED Brandfall
"PF0006" := "SF0003" OR #fbMonFAS1.xOutError
OR #fbMonFAS2.xOutError
OR #fbMonFPG_Fire.xOutError
OR #fbMonFPG_Fault.xOutError
OR #fbMonFPG_Open.xOutError;
END_REGION
REGION Not-Halt Tableaues
REGION UH04
#arESTOPAck[#c_UH04](sInAlarmFunction := 'HSS',
sInAlarmDevice := 'UH04',
sInAlarmMessage := 'Not-Halt aktiv',
sInAlarmSuffix := 'PF0002',
xInAckReqLocal := "DB_InterfaceSafety".stFromSafety.EStopUH04.AckReq,
xInEstopOkLocal := "DB_InterfaceSafety".stFromSafety.EStopUH04.Q,
xInAckReqGlobal := (* #arESTOPAck[1].xOutAckReq OR *)
#arESTOPAck[#c_UH04_Extern1].xOutAckReq OR
#arESTOPAck[#c_UH04_Extern2].xOutAckReq,
//#arESTOPAck[4].xOutAckReq OR
xInSafetyNotOkGlobal := (* #arESTOPAck[1].xOutSafetyNotOk OR *)
#arESTOPAck[#c_UH04_Extern1].xOutSafetyNotOk OR
#arESTOPAck[#c_UH04_Extern2].xOutSafetyNotOk,
// #arESTOPAck[4].xOutSafetyNotOk OR
xInMainCabinet := TRUE,
// xOutLed => "PF0002",
stInOutControlUnitCabinet := #stInOutControlUnitCabinet,
stInOutHmiEstopPanel := "DB_Interface_HMI".arEstops[#c_UH04]);
END_REGION
REGION UH04 Extern1
#arESTOPAck[#c_UH04_Extern1](sInAlarmDevice := 'UH04_Ext1/UH06',
sInAlarmSuffix := 'PF0002',
stInOutHmiEstopPanel := "DB_Interface_HMI".arEstops[#c_UH04_Extern1],
stInOutControlUnitCabinet := #stInOutControlUnitCabinet,
xInAckReqLocal := "DB_InterfaceSafety".stFromSafety.EStopExternOmniflo.AckReq,
xInEstopOkLocal := "DB_InterfaceSafety".stFromSafety.EStopExternOmniflo.Q);
END_REGION
REGION UH04 Extern2
#arESTOPAck[#c_UH04_Extern2](sInAlarmDevice := 'UH04_Ext2/Res',
sInAlarmSuffix := 'PF0002',
stInOutHmiEstopPanel := "DB_Interface_HMI".arEstops[#c_UH04_Extern2],
stInOutControlUnitCabinet := #stInOutControlUnitCabinet,
xInAckReqLocal := "DB_InterfaceSafety".stFromSafety.EStopExternReserve.AckReq,
xInEstopOkLocal := "DB_InterfaceSafety".stFromSafety.EStopExternReserve.Q);
END_REGION
REGION UZ0409
#arESTOPAck[#c_UZ0409](sInAlarmFunction := 'Bedientableau',
sInAlarmDevice := 'UZ0409',
sInAlarmMessage := 'Not-Halt aktiv',
sInAlarmSuffix := 'PF0051',
wInTextListId_Function := 1,
wInTextListId_Message := 0,
stInOutHmiEstopPanel := "DB_Interface_HMI".arEstops[#c_UZ0409],
stInOutControlUnitCabinet := #stInOutControlUnitCabinet,
xInAckReqLocal := "DB_InterfaceSafety".stFromSafety.EStopUZ0409.AckReq,
xInEstopOkLocal := "DB_InterfaceSafety".stFromSafety.EStopUZ0409.Q);
"PF0051" := #arESTOPAck[#c_UZ0409].xOutLed OR "SF0003";
END_REGION
END_REGION
REGION SCADA-Interface
"FB-OPC_UA_System-Stat_DB"(nInSystemStat := #fbStateMain.nState, //State Main (Running, Idle, Stopped...)
xInFireAlarm := (#fbMonFAS1.xOutError OR #fbMonFAS2.xOutError OR #fbMonFPG_Fire.xOutError), // Nur Feueralarm
xInSafetyStop := NOT "DB_InterfaceSafety".stFromSafety.EStopMain.Q, // Not-Halt
xInError := "DB_Interface_HMI".nActiveAlarms > 0, //Alle aktiven Meldungen über HMI Interface
xInCommunicationError := #fbMonCommFortnaWCS.xOutError OR #fbMonCommFortnaWESDeviceHub.xOutError,
nOutScadaStatus => "DB_Status".System.Status);
END_REGION
END_FUNCTION_BLOCK
@@ -1,166 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Engineering version="V20" />
<SW.Blocks.InstanceDB ID="0">
<AttributeList>
<InstanceOfName>FB_PreMain</InstanceOfName>
<InstanceOfType>FB</InstanceOfType>
<Interface><Sections xmlns="http://www.siemens.com/automation/Openness/SW/Interface/v5">
<Section Name="Input" />
<Section Name="Output" />
<Section Name="InOut">
<Member Name="stInOutControlUnitCabinet" Datatype="&quot;UDT_MainState&quot;" />
</Section>
<Section Name="Static">
<Member Name="fbMonMotorProtection" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonPhaseFailure" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonFuse400V" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonFuse24V" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonPressure" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonMainContactorsUH04" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonSafetyContactorsExternOmniflo" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonSafetyContactorsExternReserve" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonFAS1" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonFAS2" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonFPG_Open" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonFPG_Fault" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonFPG_Fire" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonCommFortnaWCS" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbMonCommFortnaWESDeviceHub" Datatype="&quot;FB_Monitoring&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="xAllReadyToStart" Datatype="Bool">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="fbStateMain" Datatype="&quot;FB_StateMain&quot;">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="arESTOPAck" Datatype="Array[0..4] of &quot;FB_ESTOPhandling&quot;" />
<Member Name="xReInit" Datatype="Bool" />
<Member Name="fTrigReIntTime" Datatype="F_TRIG" Version="1.0">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
<Member Name="tOfReIntTime" Datatype="TOF_TIME" Version="1.0">
<AttributeList>
<BooleanAttribute Name="SetPoint" SystemDefined="true">true</BooleanAttribute>
</AttributeList>
</Member>
</Section>
</Sections></Interface>
<Name>fbPreMain_DB</Name>
<Namespace />
<Number>16</Number>
<ProgrammingLanguage>DB</ProgrammingLanguage>
</AttributeList>
<ObjectList>
<MultilingualText ID="1" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="2" CompositionName="Items">
<AttributeList>
<Culture>cs-CZ</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="3" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="4" CompositionName="Items">
<AttributeList>
<Culture>en-US</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="5" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="6" CompositionName="Items">
<AttributeList>
<Culture>cs-CZ</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="7" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="8" CompositionName="Items">
<AttributeList>
<Culture>en-US</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Blocks.InstanceDB>
</Document>