309 lines
18 KiB
Plaintext
309 lines
18 KiB
Plaintext
FUNCTION_BLOCK "FB_Main_skel_UH04"
|
|
{ S7_Optimized_Access := 'TRUE' }
|
|
VERSION : 0.1
|
|
// ============================================================
|
|
// AUTOMATISCH GENERIERTES GRUNDGERUEST — create_skel.py
|
|
// Quelle: E/A-Listen UH04 (data/)
|
|
// TODO-Marken kennzeichnen manuell zu ergaenzende Stellen
|
|
// (Timings, Topologie/JamAreas, Safety, Release, Priority).
|
|
// ============================================================
|
|
VAR
|
|
TRO401 : "FB_ILS_MTRO_Vario"; // CV-M0401
|
|
fbConveyor4000 : "FB_Conveyor"; // CV-M4000
|
|
TRO403 : "FB_ILS_MTRO_Vario"; // CV-M4001
|
|
TRO404 : "FB_ILS_MTRO_Vario"; // CV-M4002
|
|
TRO405 : "FB_ILS_MTRO_1Sep1Swi"; // KR-M4003
|
|
TRO406 : "FB_ILS_MTRO_Vario"; // CV-M4004
|
|
TRO407 : "FB_ILS_MTRO_Vario"; // CV-M4005
|
|
TRO408 : "FB_ILS_MTRO_Vario"; // CV-M4006
|
|
TRO409 : "FB_ILS_MTRO_Vario"; // CV-M4007
|
|
TRO410 : "FB_ILS_MTRO_Vario"; // CV-M4008
|
|
TRO411 : "FB_ILS_MTRO_Vario"; // CV-M4009
|
|
TRO412 : "FB_ILS_MTRO_Vario"; // CV-M4010
|
|
TRO413 : "FB_ILS_MTRO_Vario"; // CV-M4011
|
|
END_VAR
|
|
|
|
BEGIN
|
|
REGION TRO401 (Vario) — CV-M0401
|
|
#TRO401.stInSeparator1.Settings.nSeparatorNo := "cSep401.1";
|
|
#TRO401.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO401.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3260"];
|
|
#TRO401.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3261"];
|
|
#TRO401.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3262"];
|
|
#TRO401.stInVario.stSenJam := "DB_Inputs".Sensors["cInBGxxxx"];
|
|
|
|
#TRO401(nInMainTroNo := "cMainTro401",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea401".stJam401_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea401".stJam401_1.stData,
|
|
arInOutJamFinger := "DB_JamArea401".stJam401_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3260",
|
|
xOutVarioMotor => "MAxxxx",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro401"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO401);
|
|
END_REGION
|
|
|
|
REGION fbConveyor4000 — CV-M4000
|
|
#fbConveyor4000.Settings.tEnergySafeTime := "cTimeEnergySafe";
|
|
#fbConveyor4000.Settings.xGridActive := FALSE; // TODO Grid
|
|
#fbConveyor4000.Settings.sMotorProtectName := 'FCxxxx';
|
|
|
|
#fbConveyor4000(xInEnabled := TRUE, // TODO Enable
|
|
xInMotorProtection := "FCxxxx",
|
|
xInPowerContactor := "MA0070",
|
|
stInOutHMI := "DB_Interface_HMI".stConveyors.fbConveyor4000);
|
|
END_REGION
|
|
|
|
REGION TRO403 (Vario) — CV-M4001
|
|
#TRO403.stInSeparator1.Settings.nSeparatorNo := "cSep403.1";
|
|
#TRO403.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO403.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3242"];
|
|
#TRO403.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBGxxxx"];
|
|
#TRO403.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3244"];
|
|
#TRO403.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3246"];
|
|
|
|
#TRO403(nInMainTroNo := "cMainTro403",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea403".stJam403_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea403".stJam403_1.stData,
|
|
arInOutJamFinger := "DB_JamArea403".stJam403_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3242",
|
|
xOutVarioMotor => "MA0071",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro403"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO403);
|
|
END_REGION
|
|
|
|
REGION TRO404 (Vario) — CV-M4002
|
|
#TRO404.stInSeparator1.Settings.nSeparatorNo := "cSep404.1";
|
|
#TRO404.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO404.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3386"];
|
|
#TRO404.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3426"];
|
|
#TRO404.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3421"];
|
|
#TRO404.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3387"];
|
|
|
|
#TRO404(nInMainTroNo := "cMainTro404",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea404".stJam404_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea404".stJam404_1.stData,
|
|
arInOutJamFinger := "DB_JamArea404".stJam404_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3386",
|
|
xOutVarioMotor => "MA0073",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro404"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO404);
|
|
END_REGION
|
|
|
|
REGION TRO405 (1Sep1Swi) — KR-M4003
|
|
#TRO405.stInSeparator1.Settings.nSeparatorNo := "cSep405.1";
|
|
#TRO405.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO405.stInSeparator1.Settings.tTrailingTime := T#100ms; // TODO Timing
|
|
#TRO405.stInSeparator1.Settings.tHandlingTime := T#50ms; // TODO Timing
|
|
#TRO405.stInSeparator1.Settings.tJam := "TimeForSepJam";
|
|
#TRO405.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3300"];
|
|
#TRO405.stInSenJam2 := "DB_Inputs".Sensors["cInBG3301"];
|
|
#TRO405.stInSwitch1.Settings.nSwitchNo := "cSwi405.1";
|
|
|
|
#TRO405(nInMainTroNo := "cMainTro405",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInCarouselRun1 := TRUE, // TODO Conveyor
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea405".stJam405_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea405".stJam405_1.stData,
|
|
arInOutJamExit2 := "DB_JamArea405".stJam405_2.arCarrier, // TODO Topologie (Dir1)
|
|
stInOutJamExit2 := "DB_JamArea405".stJam405_2.stData,
|
|
arInOutJamExit3 := "DB_JamArea405".stJam405_3.arCarrier, // TODO Topologie (Dir2)
|
|
stInOutJamExit3 := "DB_JamArea405".stJam405_3.stData,
|
|
xOutStopper1 => "MB3300",
|
|
xOutSw1ExTo3 => "MB3362",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro405"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO405);
|
|
END_REGION
|
|
|
|
REGION TRO406 (Vario) — CV-M4004
|
|
#TRO406.stInSeparator1.Settings.nSeparatorNo := "cSep406.1";
|
|
#TRO406.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO406.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBGxxxx"];
|
|
#TRO406.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3316"];
|
|
#TRO406.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3312"];
|
|
#TRO406.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3311"];
|
|
|
|
#TRO406(nInMainTroNo := "cMainTro406",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea406".stJam406_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea406".stJam406_1.stData,
|
|
arInOutJamFinger := "DB_JamArea406".stJam406_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MBxxxx",
|
|
xOutVarioMotor => "MA0061",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro406"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO406);
|
|
END_REGION
|
|
|
|
REGION TRO407 (Vario) — CV-M4005
|
|
#TRO407.stInSeparator1.Settings.nSeparatorNo := "cSep407.1";
|
|
#TRO407.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO407.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3321"];
|
|
#TRO407.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3314"];
|
|
#TRO407.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3315"];
|
|
#TRO407.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3320"];
|
|
|
|
#TRO407(nInMainTroNo := "cMainTro407",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea407".stJam407_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea407".stJam407_1.stData,
|
|
arInOutJamFinger := "DB_JamArea407".stJam407_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3321",
|
|
xOutVarioMotor => "MA0062",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro407"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO407);
|
|
END_REGION
|
|
|
|
REGION TRO408 (Vario) — CV-M4006
|
|
#TRO408.stInSeparator1.Settings.nSeparatorNo := "cSep408.1";
|
|
#TRO408.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO408.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3370"];
|
|
#TRO408.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3376"];
|
|
#TRO408.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3372"];
|
|
#TRO408.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3371"];
|
|
|
|
#TRO408(nInMainTroNo := "cMainTro408",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea408".stJam408_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea408".stJam408_1.stData,
|
|
arInOutJamFinger := "DB_JamArea408".stJam408_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3370",
|
|
xOutVarioMotor => "MA0063",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro408"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO408);
|
|
END_REGION
|
|
|
|
REGION TRO409 (Vario) — CV-M4007
|
|
#TRO409.stInSeparator1.Settings.nSeparatorNo := "cSep409.1";
|
|
#TRO409.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO409.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3381"];
|
|
#TRO409.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3374"];
|
|
#TRO409.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3375"];
|
|
#TRO409.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3380"];
|
|
|
|
#TRO409(nInMainTroNo := "cMainTro409",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea409".stJam409_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea409".stJam409_1.stData,
|
|
arInOutJamFinger := "DB_JamArea409".stJam409_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3381",
|
|
xOutVarioMotor => "MA0064",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro409"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO409);
|
|
END_REGION
|
|
|
|
REGION TRO410 (Vario) — CV-M4008
|
|
#TRO410.stInSeparator1.Settings.nSeparatorNo := "cSep410.1";
|
|
#TRO410.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO410.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3440"];
|
|
#TRO410.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3446"];
|
|
#TRO410.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3442"];
|
|
#TRO410.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3437"];
|
|
|
|
#TRO410(nInMainTroNo := "cMainTro410",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea410".stJam410_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea410".stJam410_1.stData,
|
|
arInOutJamFinger := "DB_JamArea410".stJam410_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3440",
|
|
xOutVarioMotor => "MA0065",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro410"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO410);
|
|
END_REGION
|
|
|
|
REGION TRO411 (Vario) — CV-M4009
|
|
#TRO411.stInSeparator1.Settings.nSeparatorNo := "cSep411.1";
|
|
#TRO411.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO411.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3436"];
|
|
#TRO411.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3444"];
|
|
#TRO411.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3445"];
|
|
#TRO411.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3431"];
|
|
|
|
#TRO411(nInMainTroNo := "cMainTro411",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea411".stJam411_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea411".stJam411_1.stData,
|
|
arInOutJamFinger := "DB_JamArea411".stJam411_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3436",
|
|
xOutVarioMotor => "MA0066",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro411"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO411);
|
|
END_REGION
|
|
|
|
REGION TRO412 (Vario) — CV-M4010
|
|
#TRO412.stInSeparator1.Settings.nSeparatorNo := "cSep412.1";
|
|
#TRO412.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO412.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3391"];
|
|
#TRO412.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3392"];
|
|
#TRO412.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3393"];
|
|
#TRO412.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3423"];
|
|
|
|
#TRO412(nInMainTroNo := "cMainTro412",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea412".stJam412_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea412".stJam412_1.stData,
|
|
arInOutJamFinger := "DB_JamArea412".stJam412_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3391",
|
|
xOutVarioMotor => "MA0074",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro412"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO412);
|
|
END_REGION
|
|
|
|
REGION TRO413 (Vario) — CV-M4011
|
|
#TRO413.stInSeparator1.Settings.nSeparatorNo := "cSep413.1";
|
|
#TRO413.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short";
|
|
#TRO413.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3250"];
|
|
#TRO413.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3255"];
|
|
#TRO413.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3253"];
|
|
#TRO413.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3264"];
|
|
|
|
#TRO413(nInMainTroNo := "cMainTro413",
|
|
xInSftyOk := TRUE, // TODO Safety
|
|
xInAllRdyToStart := TRUE,
|
|
xInRelease := TRUE, // TODO Release
|
|
stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit
|
|
arInOutJamEntr1 := "DB_JamArea413".stJam413_1.arCarrier, // TODO Topologie
|
|
stInOutJamEntr1 := "DB_JamArea413".stJam413_1.stData,
|
|
arInOutJamFinger := "DB_JamArea413".stJam413_2.arCarrier, // TODO Topologie
|
|
xOutStopper => "MB3250",
|
|
xOutVarioMotor => "MA0072",
|
|
nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro413"],
|
|
stInOutHMI := "DB_Interface_HMI".stTRO.TRO413);
|
|
END_REGION
|
|
|
|
END_FUNCTION_BLOCK
|