Home

 

Erfahrung

 

Referenzen

 

Sondermaschinen

 

MSR-Maschinen

 

SPS-Programmierung

 

Visualisierung HMI

 

Elektro CAD

 

Leistungsprofil

 

Personalia

 

SW-Development

 

Dokumentation

 

 

 

Impressum & DSGVO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FB20 MAIN GLB : Global Operation Mode

 

 

 

Network 1: Fault acknowledgement entire plant

#M00.FLT_EntirePlant_ACK_Impulse := NOT #M00.FLT_EntirePlant_ACK_REg AND "HMI KEY".P00.GLB.F1_AckKey;

#M00.FLT_EntirePlant_ACK_REg := "HMI KEY".P00.GLB.F1_AckKey;

 

 

 

Network 2: Assign global emergency stop

#M00.GLB_Estop := "A00 Estop 1L+" AND "A00 Estop 2L+";

 

 

 

Network 3: S200A3 Pick & Place Delta Robot - enable

#FLT(FLT_MODULE := #M00.FLT_Internal_IS);

 

 

 

Network 4: Evaluate failure entire plant

#M00.FLT_EntirePlant_IS := #M00.FLT_Internal_IS OR "DI MAIN P01".M00.FLT_Module_IS;

IF #M00.FLT_EntirePlant_IS THEN

    #M00.FLT_EntirePlant_SR := TRUE;

END_IF;

IF #M00.FLT_EntirePlant_SR AND NOT #M00.FLT_EntirePlant_ACK THEN

    IF #M00.FLT_EntirePlant_ACK_Impulse THEN

        #M00.FLT_EntirePlant_ACK := TRUE;

    END_IF;

ELSIF NOT #M00.FLT_EntirePlant_IS AND #M00.FLT_EntirePlant_ACK THEN

    #M00.FLT_EntirePlant_SR := #M00.FLT_EntirePlant_ACK := FALSE;

END_IF;

 

 

 

Network 5: Signal light column (modular signal tower) entire plant

#M00.SLC_Lamp_RD := #M00.FLT_EntirePlant_SR AND NOT #M00.FLT_EntirePlant_ACK AND "M00_Clock_1Hz" OR #M00.FLT_EntirePlant_SR AND #M00.FLT_EntirePlant_ACK;

#M00.SLC_Lamp_GN := NOT (#M00.FLT_EntirePlant_SR OR #M00.ManuEntirePlant_run) AND (#M00.AutoEntirePlant_run OR #M00.InchEntirePlant_run AND "M00_Clock_1Hz");

#M00.SLC_Lamp_YE := #M00.ManuEntirePlant_run;

 

 

 

Network 6: Query plant at home position

#M00.HomePos_All := "DI MAIN P01".M00.HomePos_IS;

IF #M00.HomePos_All THEN

    #M00.HomePos_SR := TRUE;

END_IF;

 

 

 

Network 7: Operation mode AUTOMATIC

IF "HMI KEY".P00.GLB.F3_OM_AUTO_ON AND #M00.HomePos_SR THEN

    #M00.OM_AUTO_ON := TRUE;

    #M00.OM_MANUAL_ON := #M00.OM_HOME_POS_ON := #M00.OM_INCHING_ON := #M00.ManuEntirePlant_run := #M00.InchEntirePlant_run := FALSE;

ELSIF #M00.OM_AUTO_ON AND "HMI KEY".P00.GLB.F5_Start THEN

    #M00.AutoEntirePlant_run := TRUE;

END_IF;

 

 

 

Network 8: Operation mode INCHING

IF "HMI KEY".P00.GLB.F15_OM_INCHING_ON AND #M00.HomePos_SR THEN

    #M00.OM_INCHING_ON := TRUE;

    #M00.OM_MANUAL_ON := #M00.OM_HOME_POS_ON := #M00.OM_AUTO_ON := #M00.ManuEntirePlant_run := #M00.AutoEntirePlant_run := FALSE;

ELSIF #M00.OM_INCHING_ON AND "HMI KEY".P00.GLB.F5_Start THEN

    #M00.InchEntirePlant_run := TRUE;

    IF #M00.EntirePlant_Run_Impulse THEN // Inching mode if need be

        "HMI SYS".TP1500_Comfort.AreaPoint.ControlRequest.Parameter_JobNumber := 51; // activate screen number (job number)

        "HMI SYS".TP1500_Comfort.AreaPoint.ControlRequest.Parameter_ScreenNumber := 201; // 201_AUTO_P01 screen number

    END_IF;

END_IF;

 

 

 

Network 9: Operation mode MANUAL

IF "HMI KEY".P00.GLB.F4_OM_MANU_ON AND NOT #SET.SSM.S.steps THEN

    #M00.OM_MANUAL_ON := TRUE;

    #M00.OM_HOME_POS_ON := #M00.OM_AUTO_ON := #M00.OM_INCHING_ON := #M00.AutoEntirePlant_run := #M00.InchEntirePlant_run := FALSE;

ELSIF #M00.OM_MANUAL_ON AND "HMI KEY".P00.GLB.F5_Start THEN

    #M00.ManuEntirePlant_run := TRUE;

END_IF;

 

 

 

Network 10: Operation mode HOME POS entire plant

#M00.Enabled := #M00.OM_HOME_POS_ON AND NOT #M00.FLT_EntirePlant_SR;

IF "HMI KEY".P00.GLB.F7_OM_HOM_POS_ON THEN

    #M00.OM_HOME_POS_ON := TRUE;

    #M00.OM_AUTO_ON := #M00.OM_MANUAL_ON := #M00.OM_INCHING_ON := #M00.AutoEntirePlant_run := #M00.ManuEntirePlant_run := #M00.InchEntirePlant_run := FALSE;

ELSIF #M00.Enabled AND NOT #M00.FLT_EntirePlant_SR AND "HMI KEY".P00.GLB.F5_Start THEN

    #SET.SSM.S.steps := TRUE;

    #M00.HomePos_SR := FALSE;

END_IF;

IF NOT #M00.OM_HOME_POS_ON OR "HMI KEY".P00.GLB.F8_Stop THEN

    #SET.SSM.S.steps := FALSE;

END_IF;

#M00.Busy := #SET.SSM.S.steps;

#SET.SSM.S.steph := #M00.FLT_EntirePlant_SR;

#SET();

 

 

 

Network 11: STOP all operation mode

#tmp_llo := (#M00.AutoEntirePlant_run OR #M00.ManuEntirePlant_run OR #M00.InchEntirePlant_run) AND "HMI KEY".P00.GLB.F8_Stop;

IF #tmp_llo OR #M00.FLT_EntirePlant_SR THEN

    #M00.AutoEntirePlant_run := #M00.InchEntirePlant_run := FALSE;

END_IF;

IF #tmp_llo THEN

    #M00.ManuEntirePlant_run := FALSE;

END_IF;

 

 

 

Network 12: Create STOP impuls entire plant

#tmp_llo := #M00.ManuEntirePlant_run OR #M00.AutoEntirePlant_run OR #M00.InchEntirePlant_run OR #SET.SSM.S.steps;

#M00.EntirePlant_STOP_Impulse := NOT #tmp_llo AND #M00.EntirePlant_STOP_FEg;

#M00.EntirePlant_STOP_FEg := #tmp_llo;

#M00.TOF_EntirePlant_STOP_Pulse(IN := #M00.EntirePlant_STOP_Impulse,

                          PT := t#500ms);

 

 

 

Network 13: Create impulse-running entire plant

#tmp_llo := #M00.AutoEntirePlant_run OR #M00.ManuEntirePlant_run OR #SET.SSM.S.steps OR #M00.InchEntirePlant_run;

#M00.EntirePlant_Run_Impulse := NOT #M00.EntirePlant_Run_REg AND #tmp_llo;

#M00.EntirePlant_Run_REg := #tmp_llo;

 

 

 

Network 14:  Show key colour on HMI

"HMI KEY".P00.GLB.F11_Show_KeyColour_Start_Stop := #M00.AutoEntirePlant_run OR #M00.ManuEntirePlant_run OR #M00.InchEntirePlant_run OR #SET.SSM.S.steps;

"HMI KEY".P00.GLB.F14_Show_Key_Start_Stop := #M00.OM_AUTO_ON OR #M00.OM_MANUAL_ON OR #M00.OM_HOME_POS_ON OR #M00.OM_INCHING_ON;

 

 

 

Network 15:  LogIn mc@cea2020

IF "HMI SYS".Login.Operator_0.ID = "HMI SYS".Login.Admin.ID THEN

    "HMI SYS".Login.Operator_0.Initials := "HMI SYS".Login.Admin.Initials;

    #M00.LogInID_CEA := #M00.LogInID_OK := TRUE;

ELSIF "HMI SYS".Login.Operator_0.ID = "HMI SYS".Login.Operator_1.ID THEN

    "HMI SYS".Login.Operator_0.Initials := "HMI SYS".Login.Operator_1.Initials;

    #M00.LogInID_OK := TRUE;

    #M00.LogInID_CEA := FALSE;

ELSIF "HMI SYS".Login.Operator_0.ID = "HMI SYS".Login.Operator_2.ID THEN

    "HMI SYS".Login.Operator_0.Initials := "HMI SYS".Login.Operator_2.Initials;

    #M00.LogInID_OK := TRUE;

    #M00.LogInID_CEA := FALSE;

ELSE

    #M00.LogInID_CEA := #M00.LogInID_OK := FALSE;

END_IF;

IF NOT #M00.LogInID_OK THEN

    "HMI SYS".Login.Operator_0.Initials := '';

END_IF;

#M00.TON_Login(IN := #M00.LogInID_CEA,

               PT := #M00.TON_Login.PT);

IF #M00.TON_Login.Q THEN

    "HMI SYS".Login.Operator_0.ID := '';

END_IF;