BaseSystemLib hinzugefügt

This commit is contained in:
2026-06-29 16:28:48 +02:00
parent a51a0c6fd1
commit 14a1c5172d
168 changed files with 6797 additions and 0 deletions
@@ -0,0 +1,10 @@
LibraryType:
Guid: bd77b34d-de4a-4cf4-b3fa-6af27ab4f306
Comment:
de-DE: Not-Halt Tableau (Bedientableu, Schaltschrank etc.)
LibraryVersion:
VersionNumber: 2.0.3
Author: e.yueksel
IsDefault: true
Comment:
de-DE: Änderung im unterlagerten Baustein
@@ -0,0 +1,15 @@
DocumentHash:
- FileName: FB_ESTOPhandling.scl
Hash: 2UgFnNm8OIDLo3SBJ8cEH/7qdYZlAAJS3jH8D7nujFM=
LibraryMetaFileHash: QM7e5sxaiJw/1EJ6DSbGLGAnZxqKngK9/td0eEavTc4=
LibraryVersion:
Guid: bde5a261-573a-4feb-b079-cd5359d14c09
DependsOn:
- TypeName: FB_Blinker
VersionNumber: 2.0.0
- TypeName: FB_Monitoring
VersionNumber: 2.0.5
- TypeName: UDT_MainState
VersionNumber: 2.0.0
- TypeName: UDT_Panel_EmergencyStop
VersionNumber: 2.0.0
@@ -0,0 +1,123 @@
FUNCTION_BLOCK "FB_ESTOPhandling"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
tInPeriodicTime : Time := T#500ms; // BlinkTime LED Output
sInAlarmFunction : String[20]; // Alarm Function Name
sInAlarmDevice : String[16]; // Alarm Prefix
sInAlarmSuffix : String[16]; // Alarm Suffix
sInAlarmMessage : String; // Alarm Message
xInAckReqLocal : Bool; // Info from F-CPU: ESTOP.ACK_REQ
xInEstopOkLocal : Bool; // Info from F-CPU: ESTOP.Q Safety is Enabled
xInAckReqGlobal : Bool; // Sum-Info from Local ESTOP
xInSafetyNotOkGlobal : Bool; // Sum-Info from Local ESTOP
xInMainCabinet : Bool := false; // Activate Main Cabinet and global reset
wInTextListId_Message : Word;
wInTextListId_Function : Word;
wInTextListId_Prefix : Word;
wInTextListId_Suffix : Word;
END_VAR
VAR_OUTPUT
xOutLed : Bool; // PushButton LED Output
xOutSafetyNotOk : Bool; // Info Output for MainCabinet
xOutAckReq : Bool; // Info Output for MainCabinet
END_VAR
VAR_IN_OUT
stInOutControlUnitCabinet : "UDT_MainState"; // MachineState of FB_StateMain
stInOutHmiEstopPanel : "UDT_Panel_EmergencyStop";
END_VAR
VAR
FB_Blinker : "FB_Blinker";
fbMonitoringEStop : "FB_Monitoring";
END_VAR
BEGIN
REGION Blinker
// #FB_Blinker(tInPeriodicTime := #tInPeriodicTime,
// xInActivate := 1);
END_REGION
REGION Logic
// Local
IF NOT #xInMainCabinet THEN
IF NOT #xInEstopOkLocal AND #xInAckReqLocal THEN
// Button not pressed but not Acknowledged
#xOutLed := "Clock_1Hz"(* #FB_Blinker.xOutput *);
#xOutSafetyNotOk := FALSE;
#xOutAckReq := TRUE;
ELSIF NOT #xInEstopOkLocal AND NOT #xInAckReqLocal THEN
// Button pressed
#xOutLed := TRUE;
#xOutSafetyNotOk := TRUE;
#xOutAckReq := FALSE;
ELSIF #xInEstopOkLocal AND NOT #xInAckReqLocal THEN
// ESTOP Activated
#xOutLed := FALSE;
#xOutSafetyNotOk := FALSE;
#xOutAckReq := FALSE;
ELSE
// Button pressed or Hardware-Error
#xOutLed := TRUE;
#xOutSafetyNotOk := TRUE;
#xOutAckReq := FALSE;
END_IF;
ELSE // Global, Main Cabinet
IF ((NOT #xInEstopOkLocal AND #xInAckReqLocal AND NOT #xInAckReqGlobal) OR
(#xInEstopOkLocal AND NOT #xInAckReqLocal AND #xInAckReqGlobal) OR
(NOT #xInEstopOkLocal AND #xInAckReqLocal AND #xInAckReqGlobal))
AND NOT #xInSafetyNotOkGlobal THEN
#xOutLed := "Clock_1Hz"(* #FB_Blinker.xOutput *);
ELSIF (NOT #xInEstopOkLocal AND NOT #xInAckReqLocal) OR #xInSafetyNotOkGlobal THEN
#xOutLed := true;
ELSIF #xInEstopOkLocal AND NOT #xInAckReqLocal THEN
#xOutLed := false;
ELSE
#xOutLed := true;
END_IF;
END_IF;
END_REGION
REGION Monitoring
#fbMonitoringEStop.stSettings.nErrorType := 1;
#fbMonitoringEStop.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonitoringEStop.stSettings.xSelfQuit := TRUE;
#fbMonitoringEStop(sInFctnName := #sInAlarmFunction,
sInPrefix := #sInAlarmDevice,
sInSuffix := #sInAlarmSuffix,
InOutMachineState := #stInOutControlUnitCabinet,
xInQuitError := #stInOutControlUnitCabinet.xQuitError,
xInSignal := #xInEstopOkLocal,
wInTextListId_Message := 0,
wInTextListId_Function := #wInTextListId_Function,
wInTextListId_Prefix := #wInTextListId_Prefix,
wInTextListId_Suffix := #wInTextListId_Suffix,
sInAlarmMessage := #sInAlarmMessage);
END_REGION
REGION HMI
#stInOutHmiEstopPanel.sPanelName := #sInAlarmDevice;
#stInOutHmiEstopPanel.sBMKEStop := #sInAlarmSuffix;
#stInOutHmiEstopPanel.sBMKResetButton := '';
#stInOutHmiEstopPanel.sBMKResetLED := '';
#stInOutHmiEstopPanel.xEStopActive := NOT #xInEstopOkLocal;
#stInOutHmiEstopPanel.xReset := #xOutLed;
END_REGION
END_FUNCTION_BLOCK
@@ -0,0 +1,8 @@
LibraryType:
Guid: fb864e13-ea61-4360-8d0f-d5d050b72048
LibraryVersion:
VersionNumber: 2.0.0
Author: e.yueksel
IsDefault: true
Comment:
de-DE: 'Stand: 29.08.2025'
@@ -0,0 +1,6 @@
DocumentHash:
- FileName: UDT_SafetyInterface.xml
Hash: 7V6uuZopeaAuquveJTQTomhiu9/8dgcBkwUj72C9MsQ=
LibraryMetaFileHash: Z0Rw4OcHaWdU94RSCyr/pIjvuMIWeiLHlknCN1SHpIU=
LibraryVersion:
Guid: a11cbfca-b52e-4e12-9c12-bc76381e0450
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<Document>
<Engineering version="V20" />
<SW.Types.PlcStruct ID="0">
<AttributeList>
<Interface><Sections xmlns="http://www.siemens.com/automation/Openness/SW/Interface/v5">
<Section Name="None">
<Member Name="Q" Datatype="Bool">
<Comment>
<MultiLanguageText Lang="de-DE">Q-Signal vom ESTOP Baustein</MultiLanguageText>
</Comment>
</Member>
<Member Name="Error" Datatype="Bool" />
<Member Name="AckReq" Datatype="Bool">
<Comment>
<MultiLanguageText Lang="de-DE">ACK_REQ-Signal vom ESTOP Baustein</MultiLanguageText>
</Comment>
</Member>
</Section>
</Sections></Interface>
<Name>UDT_SafetyInterface</Name>
<Namespace />
</AttributeList>
<ObjectList>
<MultilingualText ID="1" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="2" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="3" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="4" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Types.PlcStruct>
</Document>