Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OB100 Startup : Pre-Setting P01 and P02

 

 

 

Network 7: Plantinfo_P02 Robot_3D.Target.Position

"HMI KEY".Plantinfo_P02.Track_Conveyor.Measuring_Shift_Distance := 239.45;

"HMI KEY".Plantinfo_P02.Track_Conveyor.Object_Offset := 81.63;

"HMI KEY".Plantinfo_P02.Track_Conveyor.follow := 800.0;

"HMI KEY".Plantinfo_P02.Track_Conveyor.Distance_to_Belt := 97.96;

"DI OUT P02".TRACK_CONVEYOR.DRV.Support.Object_ON_Distance := 853.58;

// WCS Home (Base position)

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[0].Axis[1] := 1583.66;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[0].Axis[2] := 571.42;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[0].Axis[3] := 174.82;

// WCS must!!

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[1].Axis[1] := 1032.00;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[1].Axis[2] := 1273.46;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[1].Axis[3] := 163.26;

// WCS must!!

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[2].Axis[1] := 1184.38;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[2].Axis[2] := 1273.46;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[2].Axis[3] := 65.30;

// OCS1 in WCS must!! #tmp_target_postion_y = 1273.46 - 853.58

#tmp_target_postion_y := "HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[1].Axis[2] - "DI OUT P02".TRACK_CONVEYOR.DRV.Support.Object_ON_Distance;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[3].Axis[1] := "HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[2].Axis[1] + "HMI KEY".Plantinfo_P02.Track_Conveyor.follow;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[3].Axis[2] := #tmp_target_postion_y; // 419.88

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[3].Axis[3] := 0.0;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[4].Axis[1] := 2136.76;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[4].Axis[2] := #tmp_target_postion_y; // 419.88

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[4].Axis[3] := "HMI KEY".Plantinfo_P02.Track_Conveyor.Distance_to_Belt; // 97.96

// -------------------------- Min in WCS ------------------

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[5].Axis[1] := 1030.0;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[5].Axis[2] := 571.42;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[5].Axis[3] := 35.0;

// -------------------------- Max in WCS ------------------

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[6].Axis[1] := 2145.0;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[6].Axis[2] := 1551.42;

"HMI KEY".Plantinfo_P02.Robot_3D.Target.Position[6].Axis[3] := 600.0;

 

 

 

Network 8: Track_Conveyor and Camera Picture_Frame

"HMI KEY".Plantinfo_P02.Track_Conveyor.Window := 4;

"DI OUT P02".TRACK_CONVEYOR.DRV.Support.Modulo_Length := "+1-S120M".Modulo.Length * 1000.0; // mc29052026 conver to mm

"HMI KEY".Plantinfo_P02.Track_Conveyor.ConveyorBeltOrigin.x := "DI OUT P02".TRACK_CONVEYOR.DRV.MC_TrackConveyorBelt.ConveyorBeltOrigin.x := 0.0;

"HMI KEY".Plantinfo_P02.Track_Conveyor.ConveyorBeltOrigin.y := "DI OUT P02".TRACK_CONVEYOR.DRV.MC_TrackConveyorBelt.Convey

orBeltOrigin.y := "+2-ROBOT_3D".OcsFrame[1].y; // 212.24

"HMI KEY".Plantinfo_P02.Track_Conveyor.ConveyorBeltOrigin.z := "DI OUT P02".TRACK_CONVEYOR.DRV.MC_TrackConveyorBelt.ConveyorBeltOrigin.z := "+2-ROBOT_3D".OcsFrame[1].z;

// Camera Frame

"HMI KEY".Plantinfo_P02.Picture_Frame.X := 10.0; // not used

"HMI KEY".Plantinfo_P02.Picture_Frame.Y := 36.32;

"HMI KEY".Plantinfo_P02.Picture_Frame.A := 90.0;

 

 

 

Network 9: Plantinfo_P02 ROBOT_3D Dynamic

"HMI KEY".Plantinfo_P02.Robot_3D.Velocity_Slow := 6.0; // m/min

"HMI KEY".Plantinfo_P02.Robot_3D.Velocity_Middle := 21.165; // m/min

 

 

 

Network 10: WINDER Interface ReWinder.READ (TO)

"DI OUT P01".WINDER.Interface.ReWinder.READ."HW_SubModule" := "+0-CU320-2PN~PROFINET_interface~+0-S120ReW_SIEMENS_telegram,,,";

"DI OUT P01".WINDER.Interface.ReWinder.READ.Modulo_Length := "+1-S120ReW".Modulo.Length; // 360.0°

"DI OUT P01".WINDER.Interface.ReWinder.READ.Gear_Ratio := 6.0 * "+1-S120ReW".LoadGear.Numerator / "+1-S120ReW".LoadGear.Denominator;

"DI OUT P01".WINDER.Interface.ReWinder.READ.Torque := "+1-S120ReW".Actor.DriveParameter.ReferenceTorque;

 

 

 

Network 11: WINDER Interface UnWinder READ (TO)

"DI OUT P01".WINDER.Interface.UnWinder.READ."HW_SubModule" := "+0-CU320-2PN~PROFINET_interface~+0-S120UnW_SIEMENS_telegram,,,";

"DI OUT P01".WINDER.Interface.UnWinder.READ.Gear_Ratio := 6.0 * "+1-S120UnW".LoadGear.Numerator / "+1-S120UnW".LoadGear.Denominator;

"DI OUT P01".WINDER.Interface.UnWinder.READ.Torque := "+1-S120UnW".Actor.DriveParameter.ReferenceTorque;

 

 

 

Network 12: WINDER Interface MasterLine READ (TO)

"DI OUT P01".WINDER.Interface.MasterLine.READ.Gear_Ratio := "+1-S120M".LoadGear.Numerator / "+1-S120M".LoadGear.Denominator;

"DI OUT P01".WINDER.Interface.MasterLine.READ.Leadscrew_Pitch := "+1-S120M".Mechanics.LeadScrew / 1000.0; // m

"DI OUT P01".WINDER.Interface.MasterLine.READ.Modulo_Length := "+1-S120M".Modulo.Length;

"DI OUT P01".WINDER.Interface.MasterLine.READ.Torque := "+1-S120M".Actor.DriveParameter.ReferenceTorque;

// Scaling S120M position

"DI OUT P01".Manual.S120M.Positive_Scaled_Value := "+1-S120M".Modulo.Length * 1000.0; // mm

"DI OUT P01".Manual.S120M.Shared_Zero_Scaled_Value := 0.0;

// ReWinder - Slave

"DI OUT P01".S120ReS.DRV.MC_GearIn.RatioNumerator := 1;

"DI OUT P01".S120ReS.DRV.MC_GearIn.RatioDenominator := 1;

 

 

 

Network 13: OEM PEW MinMax Limits

"DI OUT P01".DANCER_PEW.Support.Hight_Limit := "HMI KEY".Plantinfo_P01.ReWinder.Dancer_Position_Max;

"DI OUT P01".DANCER_PEW.Support.Low_Limit := "HMI KEY".Plantinfo_P01.ReWinder.Dancer_Position_Min;

"DI OUT P01".LOADCELL_PEW.Support.Hight_Limit := "HMI KEY".Plantinfo_P01.UnWinder.Tension_Max;

"DI OUT P01".LOADCELL_PEW.Support.Low_Limit := "HMI KEY".Plantinfo_P01.UnWinder.Tension_Min;

"DI OUT P01".UNWINDER_DIAMETER_PEW.Support.Hight_Limit := LREAL_TO_REAL(IN := "HMI KEY".Plantinfo_P01.UnWinder.Full_Roll_Diameter);

"DI OUT P01".UNWINDER_DIAMETER_PEW.Support.Low_Limit := LREAL_TO_REAL(IN := "HMI KEY".Plantinfo_P01.UnWinder.Core_Diameter);

"DI OUT P01".REWINDER_DIAMETER_PEW.Support.Hight_Limit := LREAL_TO_REAL(IN := "HMI KEY".Plantinfo_P01.ReWinder.Full_Roll_Diameter);

"DI OUT P01".REWINDER_DIAMETER_PEW.Support.Low_Limit := LREAL_TO_REAL(IN := "HMI KEY".Plantinfo_P01.ReWinder.Core_Diameter);

 

 

 

Network 14: OEM Drive

"DI OUT P01".S120M.Accelerate_Decelerate_TON.PT := t#5500ms;

"DI OUT P01".S120M.DRV.Support.WindowRange := 0.16;

"DI OUT P01".S120ReW.Accelerate_Decelerate_TON.PT := t#5500ms;

"DI OUT P01".S120ReW.DRV.Support.WindowRange := 60.0;

"DI OUT P01".S120ReS.Accelerate_Decelerate_TON.PT := t#5500ms;

"DI OUT P01".S120ReS.DRV.Support.WindowRange := 60.0;

"DI OUT P01".S120UnW.Accelerate_Decelerate_TON.PT := t#5500ms;

"DI OUT P02".S210A1.Accelerate_Decelerate_TON.PT := t#5000ms;

"DI OUT P02".S210A2.Accelerate_Decelerate_TON.PT := t#5000ms;

"DI OUT P02".S210A3.Accelerate_Decelerate_TON.PT := t#5000ms;

"DI OUT P02".ROBOT_3D.Accelerate_Decelerate_TON.PT := t#5000ms;

 

 

 

Network 15: OEM WINDER (Sub.functions)

"DI OUT P01".WINDER.UnWinder_Speed_PT1.CycleTime_Impulse := 100.0;

"DI OUT P01".WINDER.UnWinder_Speed_PT1.Y_PT1_Window := 0.001;

"DI OUT P01".WINDER.UnWinder_Speed_PT1.Smoothing_Time_IN := 1000.0;

"DI OUT P01".WINDER.ReWinder_Perimeter_PT1.CycleTime_Impulse := 100.0;

"DI OUT P01".WINDER.ReWinder_Perimeter_PT1.Y_PT1_Window := 0.001;

"DI OUT P01".WINDER.ReWinder_Perimeter_PT1.Smoothing_Time_IN := 2000.0;

"DI OUT P01".WINDER.ReWinder_Diameter_PT1.CycleTime_Impulse := 100.0;

"DI OUT P01".WINDER.ReWinder_Diameter_PT1.Y_PT1_Window := 0.001;

"DI OUT P01".WINDER.ReWinder_Diameter_PT1.Smoothing_Time_IN := 2000.0;

"DI OUT P01".WINDER.ReWinder_Speed.CycleTime_Impulse := 100.0;

"DI OUT P01".WINDER.ReWinder_Speed.RampUp_Time_IN := 100.0;

"DI OUT P01".WINDER.ReWinder_Speed.RampDown_Time_IN := 1000.0;

"DI OUT P01".WINDER.ReWinder_Speed.Nominal_Value_IN := 1.0;

"DI OUT P01".WINDER.ReWinder_Diameter.CycleTime_Impulse := 100.0;

"DI OUT P01".WINDER.ReWinder_Diameter.Nominal_Value_IN := 1.0;

"DI OUT P01".WINDER.ReWinder_Diameter.Linear_Acceleration := 0.28299;

"DI OUT P01".WINDER.ReWinder_Diameter.Linear_Deceleration := -0.28299;

"DI OUT P01".WINDER.ReWinder_Diameter.Denom_Ramp_Time_IN := 100.0;

"DI OUT P01".WINDER.ReWinder_Diameter.Smoothing_StartValue := 1.0;

"DI OUT P01".WINDER.ReWinder_Diameter.Smoothing_Step := 1.0;

 

 

 

Network 16: FOR Perimeter_BreackPoints TO 50 DO

"HMI KEY".Plantinfo_P01.BreakPoints_Index := 0;

FOR  #tmp_breakPoints := 0 TO 50 DO

    "HMI KEY".Plantinfo_P01.Perimeter_BreakPoints["HMI KEY".Plantinfo_P01.BreakPoints_Index].x := "HMI KEY".Plantinfo_P01.BreakPoints_Index * 4;

    "HMI KEY".Plantinfo_P01.Perimeter_BreakPoints["HMI KEY".Plantinfo_P01.BreakPoints_Index].y :=

   ("HMI KEY".Plantinfo_P01.ReWinder.Core_Diameter +

   "HMI KEY".Plantinfo_P01.Perimeter_BreakPoints["HMI KEY".Plantinfo_P01.BreakPoints_Index].x * 2 * "HMI KEY".Plantinfo_P01.Web.Thickness) * #PI;

    "HMI KEY".Plantinfo_P01.BreakPoints_Index += 1;

END_FOR;

 

 

 

Network 17: FOR Dancer_BreackPoints TO 8 DO

"HMI KEY".Plantinfo_P01.BreakPoints_Index := 0;

FOR #tmp_breakPoints := 0 TO 8 DO

    "HMI KEY".Plantinfo_P01.Dancer_BreakPoints["HMI KEY".Plantinfo_P01.BreakPoints_Index].x :=

   "HMI KEY".Plantinfo_P01.BreakPoints_Index * 838.09 / 8.0;

    #"tmp_dummy_lreal" := (10.0 - "HMI KEY".Plantinfo_P01.BreakPoints_Index * 2.5);

    "HMI KEY".Plantinfo_P01.Dancer_BreakPoints["HMI KEY".Plantinfo_P01.BreakPoints_Index].y := #"tmp_dummy_lreal";

    "HMI KEY".Plantinfo_P01.BreakPoints_Index += 1;

END_FOR;

 

 

 

Network 18: PID CycleTime.Value: Time frame applied variable for interrupt OB30 [sec]

"+1-DANCER_PID".CycleTime.EnEstimation := "+1-DANCER_PID".CycleTime.EnMonitoring := FALSE;

// CycleTime.Value: Time frame applied variable for interrupt OB30 [sec]

"+1-DANCER_PID".CycleTime.Value := 0.1;