FUNCTION_BLOCK "FB_Main_skel_UH05" { S7_Optimized_Access := 'TRUE' } VERSION : 0.1 // ============================================================ // AUTOMATISCH GENERIERTES GRUNDGERUEST — create_skel.py // Quelle: E/A-Listen UH05 (data/) // TODO-Marken kennzeichnen manuell zu ergaenzende Stellen // (Timings, Topologie/JamAreas, Safety, Release, Priority). // ============================================================ VAR TRO501 : "FB_ILS_MTRO_1Sep"; // KR-M0500 TRO502 : "FB_ILS_MTRO_1Sep"; // CV-M0510 TRO503 : "FB_ILS_MTRO_1Sep"; // CV-M5000 TRO504 : "FB_ILS_MTRO_Vario"; // CV-M5000_A TRO505 : "FB_ILS_MTRO_Vario"; // CV-M5000_B TRO506 : "FB_ILS_MTRO_1Sep"; // CV-M5001 TRO507 : "FB_ILS_MTRO_Vario"; // CV-M5001_A TRO508 : "FB_ILS_MTRO_Vario"; // CV-M5001_B TRO509 : "FB_ILS_MTRO_1Sep"; // KR-M5002 TRO510 : "FB_ILS_MTRO_Vario"; // CV-M5003 / WS1.1 TRO511 : "FB_ILS_MTRO_Vario"; // CV-M5004 / WS1.1 TRO512 : "FB_ILS_MTRO_Vario"; // CV-M5005 / WS1.0 TRO513 : "FB_ILS_MTRO_Vario"; // CV-M5006 / WS2.0 TRO514 : "FB_ILS_MTRO_Vario"; // CV-M5007 / WS3.0 TRO515 : "FB_ILS_MTRO_Vario"; // CV-M5008 / WS4.0 END_VAR BEGIN REGION TRO501 (1Sep) — KR-M0500 #TRO501.stInSeparator1.Settings.nSeparatorNo := "cSep501.1"; #TRO501.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO501.stInSeparator1.Settings.tTrailingTime := T#500ms; // TODO Timing #TRO501.stInSeparator1.Settings.tHandlingTime := T#200ms; // TODO Timing #TRO501.stInSeparator1.Settings.tJam := "TimeForSepJam"; #TRO501.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3372"]; #TRO501.stInSenJam2 := "DB_Inputs".Sensors["cInBG3431"]; #TRO501.stInPriorityManager.xReleaseOk := TRUE; // TODO Priority #TRO501(nInMainTroNo := "cMainTro501", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInCarouselRun := TRUE, // TODO Conveyor xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea501".stJam501_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea501".stJam501_1.stData, arInOutJamExit2 := "DB_JamArea501".stJam501_2.arCarrier, // TODO Topologie stInOutJamExit2 := "DB_JamArea501".stJam501_2.stData, xOutStopper1 => "MB3372", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro501"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO501); END_REGION REGION TRO502 (1Sep) — CV-M0510 #TRO502.stInSeparator1.Settings.nSeparatorNo := "cSep502.1"; #TRO502.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO502.stInSeparator1.Settings.tTrailingTime := T#500ms; // TODO Timing #TRO502.stInSeparator1.Settings.tHandlingTime := T#200ms; // TODO Timing #TRO502.stInSeparator1.Settings.tJam := "TimeForSepJam"; #TRO502.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3330"]; #TRO502.stInSenJam2 := "DB_Inputs".Sensors["cInBGxxxx"]; #TRO502.stInPriorityManager.xReleaseOk := TRUE; // TODO Priority #TRO502(nInMainTroNo := "cMainTro502", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInCarouselRun := TRUE, // TODO Conveyor xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea502".stJam502_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea502".stJam502_1.stData, arInOutJamExit2 := "DB_JamArea502".stJam502_2.arCarrier, // TODO Topologie stInOutJamExit2 := "DB_JamArea502".stJam502_2.stData, xOutStopper1 => "MBxxxx", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro502"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO502); END_REGION REGION TRO503 (1Sep) — CV-M5000 #TRO503.stInSeparator1.Settings.nSeparatorNo := "cSep503.1"; #TRO503.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO503.stInSeparator1.Settings.tTrailingTime := T#500ms; // TODO Timing #TRO503.stInSeparator1.Settings.tHandlingTime := T#200ms; // TODO Timing #TRO503.stInSeparator1.Settings.tJam := "TimeForSepJam"; #TRO503.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3301"]; #TRO503.stInSenJam2 := "DB_Inputs".Sensors["cInBG3310"]; #TRO503.stInPriorityManager.xReleaseOk := TRUE; // TODO Priority #TRO503(nInMainTroNo := "cMainTro503", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInCarouselRun := TRUE, // TODO Conveyor xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea503".stJam503_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea503".stJam503_1.stData, arInOutJamExit2 := "DB_JamArea503".stJam503_2.arCarrier, // TODO Topologie stInOutJamExit2 := "DB_JamArea503".stJam503_2.stData, xOutStopper1 => "MB3301", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro503"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO503); END_REGION REGION TRO504 (Vario) — CV-M5000_A #TRO504.stInSeparator1.Settings.nSeparatorNo := "cSep504.1"; #TRO504.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO504.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBGxxxx"]; #TRO504.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3332"]; #TRO504.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3331"]; #TRO504.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3451"]; #TRO504(nInMainTroNo := "cMainTro504", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea504".stJam504_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea504".stJam504_1.stData, arInOutJamFinger := "DB_JamArea504".stJam504_2.arCarrier, // TODO Topologie xOutStopper => "MB3330", xOutVarioMotor => "MA0071", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro504"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO504); END_REGION REGION TRO505 (Vario) — CV-M5000_B #TRO505.stInSeparator1.Settings.nSeparatorNo := "cSep505.1"; #TRO505.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO505.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3452"]; #TRO505.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3454"]; #TRO505.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3453"]; #TRO505.stInVario.stSenJam := "DB_Inputs".Sensors["cInBGxxxx"]; #TRO505(nInMainTroNo := "cMainTro505", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea505".stJam505_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea505".stJam505_1.stData, arInOutJamFinger := "DB_JamArea505".stJam505_2.arCarrier, // TODO Topologie xOutStopper => "MB3452", xOutVarioMotor => "MA0060", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro505"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO505); END_REGION REGION TRO506 (1Sep) — CV-M5001 #TRO506.stInSeparator1.Settings.nSeparatorNo := "cSep506.1"; #TRO506.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO506.stInSeparator1.Settings.tTrailingTime := T#500ms; // TODO Timing #TRO506.stInSeparator1.Settings.tHandlingTime := T#200ms; // TODO Timing #TRO506.stInSeparator1.Settings.tJam := "TimeForSepJam"; #TRO506.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3304"]; #TRO506.stInSenJam2 := "DB_Inputs".Sensors["cInBG3305"]; #TRO506.stInPriorityManager.xReleaseOk := TRUE; // TODO Priority #TRO506(nInMainTroNo := "cMainTro506", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInCarouselRun := TRUE, // TODO Conveyor xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea506".stJam506_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea506".stJam506_1.stData, arInOutJamExit2 := "DB_JamArea506".stJam506_2.arCarrier, // TODO Topologie stInOutJamExit2 := "DB_JamArea506".stJam506_2.stData, xOutStopper1 => "MB3304", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro506"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO506); END_REGION REGION TRO507 (Vario) — CV-M5001_A #TRO507.stInSeparator1.Settings.nSeparatorNo := "cSep507.1"; #TRO507.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO507.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3333"]; #TRO507.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3335"]; #TRO507.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3334"]; #TRO507.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3456"]; #TRO507(nInMainTroNo := "cMainTro507", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea507".stJam507_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea507".stJam507_1.stData, arInOutJamFinger := "DB_JamArea507".stJam507_2.arCarrier, // TODO Topologie xOutStopper => "MB3333", xOutVarioMotor => "MA0072", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro507"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO507); END_REGION REGION TRO508 (Vario) — CV-M5001_B #TRO508.stInSeparator1.Settings.nSeparatorNo := "cSep508.1"; #TRO508.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO508.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3457"]; #TRO508.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3461"]; #TRO508.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3460"]; #TRO508.stInVario.stSenJam := "DB_Inputs".Sensors["cInBGxxxx"]; #TRO508(nInMainTroNo := "cMainTro508", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea508".stJam508_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea508".stJam508_1.stData, arInOutJamFinger := "DB_JamArea508".stJam508_2.arCarrier, // TODO Topologie xOutStopper => "MB3457", xOutVarioMotor => "MA0061", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro508"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO508); END_REGION REGION TRO509 (1Sep) — KR-M5002 #TRO509.stInSeparator1.Settings.nSeparatorNo := "cSep509.1"; #TRO509.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO509.stInSeparator1.Settings.tTrailingTime := T#500ms; // TODO Timing #TRO509.stInSeparator1.Settings.tHandlingTime := T#200ms; // TODO Timing #TRO509.stInSeparator1.Settings.tJam := "TimeForSepJam"; #TRO509.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3240"]; #TRO509.stInSenJam2 := "DB_Inputs".Sensors["cInBG3241"]; #TRO509.stInPriorityManager.xReleaseOk := TRUE; // TODO Priority #TRO509(nInMainTroNo := "cMainTro509", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInCarouselRun := TRUE, // TODO Conveyor xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea509".stJam509_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea509".stJam509_1.stData, arInOutJamExit2 := "DB_JamArea509".stJam509_2.arCarrier, // TODO Topologie stInOutJamExit2 := "DB_JamArea509".stJam509_2.stData, xOutStopper1 => "MB3240", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro509"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO509); END_REGION REGION TRO510 (Vario) — CV-M5003 / WS1.1 #TRO510.stInSeparator1.Settings.nSeparatorNo := "cSep510.1"; #TRO510.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO510.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3245"]; #TRO510.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3244"]; #TRO510.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3246"]; #TRO510.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3243"]; #TRO510(nInMainTroNo := "cMainTro510", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea510".stJam510_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea510".stJam510_1.stData, arInOutJamFinger := "DB_JamArea510".stJam510_2.arCarrier, // TODO Topologie xOutStopper => "MB3245", xOutVarioMotor => "MA0063", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro510"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO510); END_REGION REGION TRO511 (Vario) — CV-M5004 / WS1.1 #TRO511.stInSeparator1.Settings.nSeparatorNo := "cSep511.1"; #TRO511.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO511.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3251"]; #TRO511.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3255"]; #TRO511.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3254"]; #TRO511.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3252"]; #TRO511(nInMainTroNo := "cMainTro511", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea511".stJam511_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea511".stJam511_1.stData, arInOutJamFinger := "DB_JamArea511".stJam511_2.arCarrier, // TODO Topologie xOutStopper => "MB3251", xOutVarioMotor => "MA0064", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro511"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO511); END_REGION REGION TRO512 (Vario) — CV-M5005 / WS1.0 #TRO512.stInSeparator1.Settings.nSeparatorNo := "cSep512.1"; #TRO512.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO512.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3314"]; #TRO512.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3320"]; #TRO512.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3317"]; #TRO512.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3313"]; #TRO512(nInMainTroNo := "cMainTro512", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea512".stJam512_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea512".stJam512_1.stData, arInOutJamFinger := "DB_JamArea512".stJam512_2.arCarrier, // TODO Topologie xOutStopper => "MB3314", xOutVarioMotor => "MA0065", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro512"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO512); END_REGION REGION TRO513 (Vario) — CV-M5006 / WS2.0 #TRO513.stInSeparator1.Settings.nSeparatorNo := "cSep513.1"; #TRO513.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO513.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3362"]; #TRO513.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3366"]; #TRO513.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3365"]; #TRO513.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3361"]; #TRO513(nInMainTroNo := "cMainTro513", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea513".stJam513_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea513".stJam513_1.stData, arInOutJamFinger := "DB_JamArea513".stJam513_2.arCarrier, // TODO Topologie xOutStopper => "MB3362", xOutVarioMotor => "MA0066", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro513"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO513); END_REGION REGION TRO514 (Vario) — CV-M5007 / WS3.0 #TRO514.stInSeparator1.Settings.nSeparatorNo := "cSep514.1"; #TRO514.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO514.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3374"]; #TRO514.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3380"]; #TRO514.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3377"]; #TRO514.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3373"]; #TRO514(nInMainTroNo := "cMainTro514", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea514".stJam514_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea514".stJam514_1.stData, arInOutJamFinger := "DB_JamArea514".stJam514_2.arCarrier, // TODO Topologie xOutStopper => "MB3374", xOutVarioMotor => "MA0067", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro514"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO514); END_REGION REGION TRO515 (Vario) — CV-M5008 / WS4.0 #TRO515.stInSeparator1.Settings.nSeparatorNo := "cSep515.1"; #TRO515.stInSeparator1.Settings.tDelayToNextItem := "TimeForSepWaiting_Short"; #TRO515.stInSeparator1.stSenInSep := "DB_Inputs".Sensors["cInBG3422"]; #TRO515.stInVario.stSenCarrInPos := "DB_Inputs".Sensors["cInBG3426"]; #TRO515.stInVario.stSenFinger := "DB_Inputs".Sensors["cInBG3425"]; #TRO515.stInVario.stSenJam := "DB_Inputs".Sensors["cInBG3421"]; #TRO515(nInMainTroNo := "cMainTro515", xInSftyOk := TRUE, // TODO Safety xInAllRdyToStart := TRUE, xInRelease := TRUE, // TODO Release stInOutMachineState := #stInOutControlUnit, // TODO ControlUnit arInOutJamEntr1 := "DB_JamArea515".stJam515_1.arCarrier, // TODO Topologie stInOutJamEntr1 := "DB_JamArea515".stJam515_1.stData, arInOutJamFinger := "DB_JamArea515".stJam515_2.arCarrier, // TODO Topologie xOutStopper => "MB3422", xOutVarioMotor => "MA0070", nOutStateLast => "DB_GLOB_TroState".arTroState["cMainTro515"], stInOutHMI := "DB_Interface_HMI".stTRO.TRO515); END_REGION END_FUNCTION_BLOCK