ILSLib hinzugefügt

This commit is contained in:
2026-06-29 16:29:41 +02:00
parent 14a1c5172d
commit cd281dc8b2
249 changed files with 26501 additions and 0 deletions
@@ -0,0 +1,10 @@
LibraryType:
Guid: 7d35be77-2a72-4530-b111-2a609340cc24
Comment:
de-DE: Initial
LibraryVersion:
VersionNumber: 2.0.0
Author: e.yueksel
IsDefault: true
Comment:
de-DE: Initial
@@ -0,0 +1,9 @@
DocumentHash:
- FileName: FB_CarrAccumulate1Sep.scl
Hash: N6cbGozMRL5O0uRLedHuJdl8V+0Q+CiRYK3PiQpUby0=
LibraryMetaFileHash: L9r6Lmj4aURbtB++qYCQX/yQy2f8AdK1Wg/TnpZuXKU=
LibraryVersion:
Guid: 2ad8b4f4-249f-4013-ac79-66401f0d4420
DependsOn:
- TypeName: UDT_Sensor
VersionNumber: 2.0.0
@@ -0,0 +1,56 @@
FUNCTION_BLOCK "FB_CarrAccumulate1Sep"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
stInSensor1 : "UDT_Sensor"; // Sensor vom 1. Sep
xInConvActive : Bool; // Conveyor Rückmeldung
stInTimes : Struct
tFreeSen1 : Time := T#5000ms; // Zeit welche Sep 1 frei ist
tTimerWait : Time := T#10000ms; // Wartezeit
END_STRUCT;
END_VAR
VAR_OUTPUT
xOutLockSep1 : Bool; // true = Sep 1 wird gesperrt
END_VAR
VAR
tOn1 {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Timer zählt wie lange Sep 1 warten muss
xTimerQ : Bool; // Timerausgang
xLockSep1 : Bool;
END_VAR
BEGIN
(*
<====== Fahrtrichtung <======
... -------<----------|o|--------<------ ...
Sep 1
Sep 1 lässt Carrier raus die sich angestaut haben, bis In-Sensor wieder mal eine gewisse Zeit frei ist.
Dann beginnt Wartezeit wenn in diesem Zustand Sep 1 erstmals wieder ein In-Signal bekommt. Usw....
*)
IF NOT #stInSensor1.xDirectSensor AND #stInSensor1.tDirectChangeLast > #stInTimes.tFreeSen1 THEN
#xLockSep1 := TRUE;
ELSIF #xTimerQ THEN
#xLockSep1 := FALSE;
END_IF;
REGION Timer
#tOn1(IN := #xLockSep1 AND #stInSensor1.xDirectSensor AND #xInConvActive, //Conveyoer Full Speed ok und Sep 1 wartet
PT := #stInTimes.tTimerWait);
#xTimerQ := #tOn1.Q (* OR (#stInSensor1.xDirectSensor AND #stInSensor1.tDirectChangeLast > #stInTimes.tFullSen1) *);
END_REGION
REGION Outputs
#xOutLockSep1 := #xLockSep1;
END_REGION
END_FUNCTION_BLOCK
@@ -0,0 +1,6 @@
LibraryType:
Guid: 9efcce89-7b06-4891-9641-6b68006aed8c
LibraryVersion:
VersionNumber: 2.0.0
Author: e.yueksel
IsDefault: true
@@ -0,0 +1,13 @@
DocumentHash:
- FileName: FB_PriorityManager.scl
Hash: NzWfLNwbHCgIQ09FjswCJqLBoUjRikdGfu39QrN0RqE=
LibraryMetaFileHash: kqGkOm3+D2226hP+I8rIYA7hPZUG3JNIJHrkpd/7btg=
LibraryVersion:
Guid: d2f29772-001f-478c-97e1-1fcccbe27ee7
DependsOn:
- TypeName: UDT_Request
VersionNumber: 2.0.0
- TypeName: UDT_Response
VersionNumber: 2.0.0
- TypeName: UDT_PrioParameter
VersionNumber: 2.0.0
File diff suppressed because it is too large Load Diff
+6
View File
@@ -0,0 +1,6 @@
LibraryType:
Guid: 147eef49-040b-42d5-ae7d-43bf675e04d5
LibraryVersion:
VersionNumber: 2.0.0
Author: e.yueksel
IsDefault: true
+11
View File
@@ -0,0 +1,11 @@
DocumentHash:
- FileName: FB_SepPrio.scl
Hash: TiobJ+rsdBzTeu+UkBCNDx/iaFdgdPd64yzefoiS5DY=
LibraryMetaFileHash: /SJOtlF6TYllHtWLntRFYmq6E9lvJkhN6tgxX7jkSrQ=
LibraryVersion:
Guid: e2fffa67-74ab-4d49-9905-ebe62964e7d5
DependsOn:
- TypeName: FB_StateManager
VersionNumber: 2.0.0
- TypeName: stJamData
VersionNumber: 2.0.0
+304
View File
@@ -0,0 +1,304 @@
FUNCTION_BLOCK "FB_SepPrio"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
xInSepReq1 : Bool; // Anforderung von Sep1
xInSepReq2 : Bool; // Anforderung von Sep2
xInSepReq3 : Bool; // Anforderung von Sep3
xInSepRelease1 : Bool; // Sep 1 hat rausgelassen
xInSepRelease2 : Bool; // Sep 2 hat rausgelassen
xInSepRelease3 : Bool; // Sep 3 hat rausgelassen
xInActive : Bool; // Freigabe grundsätzlich für Separatoren
xInCarRun : Bool; // NIU Motor läuft
tInTime3 : Time; // Zeit die Sep 3 braucht
tInTime2 : Time; // Zeit die Sep 2 braucht
END_VAR
VAR_OUTPUT
xOutSepGo1 : Bool; // Freigabe für einzelnen Sep 1
xOutSepGo2 : Bool; // Freigabe für einzelnen Sep 2
xOutSepGo3 : Bool; // Freigabe für einzelnen Sep 3
END_VAR
VAR_IN_OUT
InOutJam : "stJamData";
END_VAR
VAR
fbStateManager : "FB_StateManager";
nState : Int; // Schritt
tTime3 {InstructionName := 'TOF_TIME'; LibVersion := '1.0'} : TOF_TIME; // Timer von Sep 3
tTime2 {InstructionName := 'TOF_TIME'; LibVersion := '1.0'} : TOF_TIME; // Timer von Sep 2
tTime1 {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME;
rTrigNotActive {InstructionName := 'R_TRIG'; LibVersion := '1.0'} : R_TRIG;
rTrig2 {InstructionName := 'R_TRIG'; LibVersion := '1.0'} : R_TRIG;
fTrig3 {InstructionName := 'F_TRIG'; LibVersion := '1.0'} : F_TRIG;
fTrig2 {InstructionName := 'F_TRIG'; LibVersion := '1.0'} : F_TRIG;
xTimeBit3 : Bool; // Merker für Timer falls unterbrochen wird
xTimeBit2 : Bool; // Merker für Timer falls unterbrochen wird
END_VAR
VAR_TEMP
tmpActUnivTon : Bool;
END_VAR
VAR CONSTANT
cOff : Int := 0;
cWaitAll : Int := 1;
cWaitFor3 : Int := 30;
cWaitFor2 : Int := 20;
cOnlySep1 : Int := 10;
END_VAR
BEGIN
(*
_______________________<==
| | |
| | |
\ \ \
\ \ \
______3______2______1_____==>
3 hat vor 2 und 1 Vorfahrt
2 hat vor 1 Vorfahrt aber muss Zeit 3 abwarten
1 muss Zeit 3 und 2 abwarten
*)
REGION Schrittkette
CASE #nState OF
#cOff:
REGION 000: Off
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
// IF #xInActive THEN
#nState := #cWaitAll;
// END_IF;
END_REGION
#cWaitAll:
REGION 001: Wait All
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
//***************NEU***********
#nState := 005;
//*************NEU ENDE*******
(*IF NOT #xInActive THEN
#nState := #cOff;*)
// //********************Kombinationen mit Sep3*************************************************
// IF #xInSepReq3 AND #xInSepReq2 AND #xInSepReq1 THEN
// #xOutSepGo3 := TRUE;
// #xOutSepGo2 := false;//TRUE;
// #xOutSepGo1 := false;//TRUE;
// #nState := #cWaitFor3;
// ELSIF #xInSepReq3 AND (#xInSepReq2 OR NOT #xInSepReq1) THEN
// #xOutSepGo3 := TRUE;
// #xOutSepGo2 := false;//TRUE;
// #xOutSepGo1 := FALSE;
// #nState := #cWaitFor3;
// ELSIF #xInSepReq3 AND (NOT #xInSepReq2 OR #xInSepReq1) THEN
// #xOutSepGo3 := TRUE;
// #xOutSepGo2 := FALSE;
// #xOutSepGo1 := false;//TRUE;
// #nState := #cWaitFor3;
// ELSIF #xInSepReq3 AND (NOT #xInSepReq2 AND NOT #xInSepReq1) THEN
// #xOutSepGo3 := TRUE;
// #xOutSepGo2 := FALSE;
// #xOutSepGo1 := FALSE;
// #nState := #cWaitFor3;
// //********************Kombinationen ohne Sep3************************************************
// ELSIF NOT #xInSepReq3 AND (#xInSepReq2 AND #xInSepReq1) THEN
// #xOutSepGo3 := FALSE;
// #xOutSepGo2 := TRUE;
// #xOutSepGo1 := false;//TRUE;
// #nState := #cWaitFor2;
// ELSIF NOT #xInSepReq3 AND (#xInSepReq2 AND NOT #xInSepReq1) THEN
// #xOutSepGo3 := FALSE;
// #xOutSepGo2 := TRUE;
// #xOutSepGo1 := FALSE;
// #nState := #cWaitFor2;
// //********************Nur Sep1 alleine***************************************************
// ELSIF NOT #xInSepReq3 AND (NOT #xInSepReq2 AND #xInSepReq1) THEN
// #xOutSepGo3 := FALSE;
// #xOutSepGo2 := FALSE;
// #xOutSepGo1 := TRUE;
// #nState := #cOnlySep1;
// END_IF;
END_REGION
005:
REGION 005: NEU Zwischenschritt
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
IF #fbStateManager.tOutTimeInStep > T#6s THEN
IF #xInSepReq1 THEN
#nState := 006; // Embi
// #nState := 010;
ELSIF #xInSepReq2 THEN
#nState := 16; // Embi
// #nState := 020;
// ELSIF #xInSepReq3 THEN
// #nState := 26; // Embi
// #nState := 030;
END_IF;
END_IF;
END_REGION
006:
REGION 006: Warten auf freie Ausfahrt
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
IF #InOutJam.Status.nCount = 0 OR #fbStateManager.tOutTimeInStep > T#24s THEN
#nState := #cOnlySep1;
END_IF;
END_REGION
#cOnlySep1:
REGION 010: Only Sep 1
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := TRUE;
//***************NEU***********
IF #fbStateManager.tOutTimeInStep > T#10s THEN
#nState := 015;
END_IF;
//*************NEU ENDE*******
// IF (#xInSepReq2 OR #xInSepReq3) AND #tTime1.Q THEN //Wird sofort von 2 oder 3 unterbrochen
// #xOutSepGo3 := FALSE;
// #xOutSepGo2 := FALSE;
// #xOutSepGo1 := FALSE;
// #nState := #cWaitAll;
// END_IF;
END_REGION
015:
REGION 015: NEU Zwischenschritt
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
IF #fbStateManager.tOutTimeInStep > T#4s THEN
IF #xInSepReq2 THEN
#nState := 16; // Embi
// #nState := 020;
// ELSIF #xInSepReq3 THEN
// #nState := 26; // Embi
// #nState := 030;
ELSIF #xInSepReq1 THEN
#nState := 6; // Embi
// #nState := 010;
END_IF;
END_IF;
END_REGION
016:
REGION 16: Warten auf freie Ausfahrt
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
IF #InOutJam.Status.nCount = 0 OR #fbStateManager.tOutTimeInStep > T#26s THEN
#nState := #cWaitFor2;
END_IF;
END_REGION
#cWaitFor2:
REGION 020: Wait for 2
#xOutSepGo3 := FALSE;
#xOutSepGo2 := TRUE;
#xOutSepGo1 := FALSE;
//***************NEU***********
IF #fbStateManager.tOutTimeInStep > T#11s THEN
// #nState := 025;
#nState := 5;
END_IF;
//*************NEU ENDE*******
(*IF NOT #xInActive THEN
#nState := #cOff;*)
// IF #fTrig2.Q THEN //Bis Sep 2 fertig....
// #xOutSepGo3 := FALSE;
// #xOutSepGo2 := FALSE;
// #xOutSepGo1 := FALSE;
// #nState := #cWaitAll;
// ELSIF #xInSepReq3 THEN //...oder sofort durch Sep 3 unterbrochen
// #xOutSepGo3 := TRUE;
// #xOutSepGo2 := FALSE;
// #xOutSepGo1 := FALSE;
// #nState := #cWaitFor3;
// END_IF;
END_REGION
025:
REGION 025: NEU Zwischenschritt
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
IF #fbStateManager.tOutTimeInStep > T#5s THEN
IF #xInSepReq3 THEN
#nState := 26; // Embi
// #nState := 030;
ELSIF #xInSepReq1 THEN
#nState := 6; // Embi
// #nState := 010;
ELSIF #xInSepReq2 THEN
#nState := 16; // Embi
// #nState := 020;
END_IF;
END_IF;
END_REGION
026:
REGION 26: Warten auf freie Ausfahrt
#xOutSepGo3 := FALSE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
IF #InOutJam.Status.nCount = 0 OR #fbStateManager.tOutTimeInStep > T#25s THEN
#nState := #cWaitFor3;
END_IF;
END_REGION
#cWaitFor3:
REGION 030: Wait for 3
#xOutSepGo3 := TRUE;
#xOutSepGo2 := FALSE;
#xOutSepGo1 := FALSE;
//***************NEU***********
IF #fbStateManager.tOutTimeInStep > T#11s THEN //war 8s
#nState := 005;
END_IF;
//*************NEU ENDE*******
(*IF NOT #xInActive THEN
#nState := #cOff;*)
// IF #fTrig3.Q THEN //Bis Sep 3 fertig ist
// #xOutSepGo3 := FALSE;
// #xOutSepGo2 := FALSE;
// #xOutSepGo1 := FALSE;
// #nState := #cWaitAll;
// END_IF;
END_REGION
ELSE
;
END_CASE;
END_REGION
REGION State Manager
#fbStateManager.stInSettings.nStartState := 0;
#fbStateManager.stInSettings.xActUnivTOn := TRUE;
#fbStateManager.stInSettings.xRestartAtStartState := FALSE;
#fbStateManager(xInFunctionEnabled:=TRUE,
xInRunUnivTOn:=#tmpActUnivTon,
nInOutState:=#nState);
END_REGION
END_FUNCTION_BLOCK
@@ -0,0 +1,8 @@
LibraryType:
Guid: b2b7bae2-df01-45c1-b728-4f21f6dccf2b
Comment:
de-DE: Initial
LibraryVersion:
VersionNumber: 2.0.2
Author: e.yueksel
IsDefault: true
@@ -0,0 +1,9 @@
DocumentHash:
- FileName: FB_SupervisionRasterSensor.scl
Hash: brsi2hAS6wrw9/jmi3v1V82anQUbZwQLOrO9MMcjTSE=
LibraryMetaFileHash: rP2CWmPh58VX2bM7MLVbOLWLkCnAMh6UXNcah+oCJ6c=
LibraryVersion:
Guid: 3b4a840b-d014-4f13-8b4b-a11a10747b6c
DependsOn:
- TypeName: UDT_Sensor
VersionNumber: 2.0.0
@@ -0,0 +1,74 @@
FUNCTION_BLOCK "FB_SupervisionRasterSensor"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
stInSenRaster : "UDT_Sensor"; // Das Signal das überwacht wird
xInMotorRun : Bool; // Motor dreht sich
stInSettings : Struct // Einstellungen
xInEnableSupervision : Bool := false; // Überwachung aktiviert
tInDelayMotorRun : Time := T#200ms; // Motor Delay
tInRasterHigh : Time := T#100ms; // High Signal
tInRasterLow : Time := T#100ms; // Low Signal
sInConveyorName : String;
wInTextListFunctionId : Word;
wInTextListMessageId : Word;
END_STRUCT;
xInErrorQuit : Bool; // Quittieren z.B. Button Reset
END_VAR
VAR_OUTPUT
xOutErrorRasterSensor : Bool; // Fehler ausgeben
END_VAR
VAR
tOn_RasterHigh {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Überwachungszeit High-Signal
tOn_RasterLow {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Überwachungszeit Low-Signal
tOnMotorRunningDelay {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Motor Delay Timer
xErrorRasterSensor : Bool; // Fehler
END_VAR
BEGIN
REGION Überwachung Raster Sensor
#tOnMotorRunningDelay(IN := #xInMotorRun, // CarouselRun muss delayed benutzt werden, wegen Anfahrzeit vom ETF
PT := #stInSettings.tInDelayMotorRun);
#tOn_RasterHigh(IN := #xInMotorRun AND #tOnMotorRunningDelay.Q AND #stInSenRaster.xDirectSensor,
PT := #stInSettings.tInRasterHigh);
#tOn_RasterLow(IN := #xInMotorRun AND #tOnMotorRunningDelay.Q AND NOT #stInSenRaster.xDirectSensor,
PT := #stInSettings.tInRasterLow);
IF #tOn_RasterHigh.Q OR #tOn_RasterLow.Q THEN // Wenn einer der beiden Timer abläuft, dann Fehler!
#xErrorRasterSensor := TRUE;
END_IF;
END_REGION
REGION Quittieren
IF #xErrorRasterSensor AND #stInSettings.xInEnableSupervision AND #xInErrorQuit THEN
#xErrorRasterSensor := FALSE;
END_IF;
END_REGION
REGION Ausgänge
#xOutErrorRasterSensor := #xErrorRasterSensor AND #stInSettings.xInEnableSupervision; // Fehler ausgeben, wenn Überwachung aktiviert
END_REGION
(* REGION Monitoring
#fbMonitoring.stSettings.nErrorType := 1;
#fbMonitoring.stSettings.xErrLedIfMachineIsOff := TRUE;
#fbMonitoring.stSettings.xSelfQuit := TRUE;
#fbMonitoring.stSettings.tDelay := T#1s;
#fbMonitoring(sInFctnName := 'Rastersensorueberwachung',
sInPrefix := #stInSettings.sInConveyorName,
wInTextListId_Function := #stInSettings.wInTextListFunctionId,
wInTextListId_Message := #stInSettings.wInTextListMessageId,
sInSuffix := #stInSenRaster.sName,
InOutMachineState := "DB_MachineGlobal".stStateMain,
xInQuitError := "DB_MachineGlobal".stStateMain.xQuitError,
xInSignal := NOT #xErrorRasterSensor,
sInAlarmMessage := 'Rastersensorueberwachung ausgeloest');
END_REGION *)
END_FUNCTION_BLOCK
@@ -0,0 +1,10 @@
LibraryType:
Guid: 2ed8a6f8-c110-4695-b999-af4dbf845bb4
Comment:
de-DE: Initial
LibraryVersion:
VersionNumber: 2.0.0
Author: e.yueksel
IsDefault: true
Comment:
de-DE: Initial
@@ -0,0 +1,11 @@
DocumentHash:
- FileName: FB_VarioFingerMonitoring.scl
Hash: hO+7ulxM45sR+Y0DWMaxvkMhvex1mfxH3l0j+rQL7S4=
LibraryMetaFileHash: z1/42ZPNlHM3vfq0hKE+ij6RojciR6JTY4/0RBG4HBk=
LibraryVersion:
Guid: b65fb0a1-003f-4b71-8c59-64c01a419f06
DependsOn:
- TypeName: UDT_SettingsVarioFingerMonitoring
VersionNumber: 2.0.0
- TypeName: UDT_Sensor
VersionNumber: 2.0.0
@@ -0,0 +1,43 @@
FUNCTION_BLOCK "FB_VarioFingerMonitoring"
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
VAR_INPUT
stInSenFinger : "UDT_Sensor"; // Das zu überwachende Fingerabfrage-Signal
xInMotorRun : Bool; // Vario an
stInSettings : "UDT_SettingsVarioFingerMonitoring"; // Parameter Einstellungen
END_VAR
VAR_OUTPUT
xOutErrorSignal : Bool; // Fehler Ausgang
END_VAR
VAR
tOn_SignalHigh {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Einschaltverzögerung High Signal
tOn_SignalLow {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Einschaltverzögerung Low Signal
tOnMotorRunningDelay {InstructionName := 'TON_TIME'; LibVersion := '1.0'} : TON_TIME; // Einschaltverzögerung Vario an
xErrorSignal : Bool; // Fehler
END_VAR
BEGIN
REGION Überwachung Raster Sensor
#tOnMotorRunningDelay(IN := #xInMotorRun, // CarouselRun muss delayed benutzt werden, wegen Anfahrzeit vom ETF
PT := #stInSettings.tDelayMotorRun);
#tOn_SignalHigh(IN := #xInMotorRun AND #tOnMotorRunningDelay.Q AND #stInSenFinger.xDirectSensor,
PT := #stInSettings.tSignalHigh);
#tOn_SignalLow(IN := #xInMotorRun AND #tOnMotorRunningDelay.Q AND NOT #stInSenFinger.xDirectSensor,
PT := #stInSettings.tSignalLow);
#xErrorSignal := #tOn_SignalHigh.Q OR #tOn_SignalLow.Q; // Wenn einer der beiden Timer abläuft, dann Fehler!
END_REGION
REGION Ausgänge
#xOutErrorSignal := #xErrorSignal AND #stInSettings.xEnableSupervision; // Fehler ausgeben, wenn Überwachung aktiviert
END_REGION
END_FUNCTION_BLOCK
@@ -0,0 +1,8 @@
LibraryType:
Guid: a394caf2-9e35-454c-b109-30b66c22bddd
LibraryVersion:
VersionNumber: 0.0.7
Author: e.yueksel
IsDefault: true
Comment:
de-DE: Bugfix bei 3 Sources
@@ -0,0 +1,15 @@
DocumentHash:
- FileName: Fb_PriorityManagerV2.scl
Hash: wqqBp67364m0gt+16CtbP8q4g79tHCbzSx8tBn/Ivl4=
LibraryMetaFileHash: 6XcCS8ObOmcFHFc3eoOsI0dRjol0UJSqGnS3J29XZwU=
LibraryVersion:
Guid: 9a9ac382-d0ec-462d-9753-478a90c82276
DependsOn:
- TypeName: UDT_Request
VersionNumber: 2.0.0
- TypeName: UDT_Response
VersionNumber: 2.0.0
- TypeName: UDT_PrioParameter
VersionNumber: 2.0.0
- TypeName: udt_InterruptParameter
VersionNumber: 0.0.1
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,6 @@
LibraryType:
Guid: 97355db0-90c7-4394-9656-3acdfec45b04
LibraryVersion:
VersionNumber: 0.0.1
Author: e.yueksel
IsDefault: true
@@ -0,0 +1,6 @@
DocumentHash:
- FileName: udt_InterruptParameter.xml
Hash: /NW/PME3L1cRjrOlhQBiYc3MllTZmwH9rHeW0kDHx+8=
LibraryMetaFileHash: JrEilA2LwOeiJO3O1jHkH6aZ5ts+YupQo1GyUy1aXTE=
LibraryVersion:
Guid: bd3b46ca-0cf0-47fc-9154-7e6e814179d1
@@ -0,0 +1,64 @@
<?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="n_MainSource" Datatype="USInt" />
<Member Name="n_InterruptSource" Datatype="USInt" />
<Member Name="t_InterruptDuration" Datatype="Time" />
<Member Name="t_PathClearDelay" Datatype="Time" />
</Section>
</Sections></Interface>
<Name>udt_InterruptParameter</Name>
<Namespace />
</AttributeList>
<ObjectList>
<MultilingualText ID="1" CompositionName="Comment">
<ObjectList>
<MultilingualTextItem ID="2" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="3" CompositionName="Items">
<AttributeList>
<Culture>en-US</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="4" CompositionName="Items">
<AttributeList>
<Culture>cs-CZ</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
<MultilingualText ID="5" CompositionName="Title">
<ObjectList>
<MultilingualTextItem ID="6" CompositionName="Items">
<AttributeList>
<Culture>de-DE</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="7" CompositionName="Items">
<AttributeList>
<Culture>en-US</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
<MultilingualTextItem ID="8" CompositionName="Items">
<AttributeList>
<Culture>cs-CZ</Culture>
<Text />
</AttributeList>
</MultilingualTextItem>
</ObjectList>
</MultilingualText>
</ObjectList>
</SW.Types.PlcStruct>
</Document>