$Name ! Obj_Source ;Combined safety system for M-building, V-building, KC-building and test system #Include ! Id_Pluto_B42_ASi:3=000014732E6F ! Id_Pluto_B42_ASi:4=00001482CA46 ! Id_Pluto_B42_ASi:10=0000147245FA ! Id_Pluto_B42_ASi:11=00001473066A ! Can_Baud=400 ! GM3.0=P3_M_EStop ; ! GM3.1=P3_M_CellA_Safe ; ! GM4.0=P4_M_EStop ; ! GM4.1=P4_M_CellA_Safe ; ! GM4.2=P4_M_CellB_Safe ; ! GM4.3=P4_M_CellC_Safe ; ! GM4.6=P4_Motordriverelay_Estop_ok_robots_cell_C; ! GM4.9=P4_Robots_cellA_ok_run_auto ; ! GM4.10=P4_Robots_cellB_ok_run_auto ; ! GM4.11=P4_Robots_cellC_ok_run_auto ; ! GM4.12=P4_Robots_cellAB_ok_run_auto ; ! GM4.13=P4_Robots_cellBC_ok_run_auto ; ! GM4.14=P4_Robots_cellABC_ok_run_auto ; ! GM4.20=P4_Motordriverelay_Estop_ok_robots_cells; ! GM4.22=P4_Extractorfan_cellABC ; ! GM4.23=P4_Motordriverelay_Estop_ok_robots_cell_B; ! GM10.0=P10_Man ; ! GM10.1=P10_Man100 ; ! GM10.2=P10_Auto ; ! GM10.3=P10_at_Test_A ; ! GM10.4=P10_at_IPROD ; ! GM10.5=P10_at_Standalone ; ! Pgm_Pluto:3,Master ! Instruction_Set_3 ! ASi_Optimize=Stoptime ;Master Pluto for test system ! ASI3.1,1,S-7.B.0,0,Safe,1 ! ASI3.2,1,S-7.B.0,0,Safe,1 ! ASI3.10,4,S-7.B.E,F,Safe,1 ! ASI3.20,7,S-7.A.7,7,CombinedTransaction_A ! M3.0=P3_M_ESAll ; ! M3.1=P3_M_ESReset1 ; ! M3.2=P3_M_ESReset2 ; ! M3.3=P3_M_ESReset ; ! M3.4=P3_M_ESReset1Ind ; ! M3.5=P3_M_A_Man ; ! M3.6=P3_M_A_Auto ; ! ASI3.1=P3_M_ES1 ; ! ASI3.2=P3_M_ES2 ; ! ASI3.3=P3_M_ES3 ; ! ASI3.10=P3_M_LC1 ;Light Curtain 1 ! ASI3.10.2=P3_M_Urax1_2 ; ! ASI3.10.3=P3_M_Urax1_3 ; ! ASI3.10.4=P3_M_Urax1_4 ; ! ASI3.10.1=P3_M_Urax1_1 ; ! ASI3.20.1=P3_M_BihlI1_1 ; ! ASI3.20.2=P3_M_Reset_1 ; ! ASI3.20.4=P3_M_Reset_2 ; ! ASI3.20.3=P3_M_BihlI1_3 ; ! ASQ3.1.1=P3_EStop1_red ; ! ASQ3.1.2=P3_EStop1_green ; ! ASQ3.2.1=P3_EStop2_red ; ! ASQ3.2.2=P3_Estop2_green ; ! ASQ3.3.2=P3_EStop3_green ; ! ASQ3.3.1=P3_EStop3_red ; ! ASQ3.10.4=P3_UraxQ1_4 ; ! ASQ3.10.2=P3_UraxQ1_2 ; ! ASQ3.20.3=P3_Q_Test_A_Yellow ; ! ASQ3.20.4=P3_Q_Test_A_Green ; ! ASQ3.20.1=P3_Q_Test_A_Reset ; ! ASQ3.20.2=P3_Q_Test_A_Red ; S3.0_0 P3_M_ESAll=P3_M_ES1*P3_M_ES2 ;All emergency stops P3_M_EStop=Reset2T(P3_M_ESAll,P3_M_ESReset,P3_M_ESAll,0) ;Emergency stop for this master P3_M_ESReset=PreReset1(P3_M_ESReset1*P3_M_ESReset2,1s00,P3_M_ESAll) ;Trigger when all reset buttons are pushed P3_M_ESReset1=Reset2T(P3_M_ESAll,P3_M_Reset_1,P3_M_ESAll,P3_Q_Test_A_Reset) ;Emergency stop resets P3_M_ESReset2=Reset2T(P3_M_ESAll,P3_M_Reset_2,P3_M_ESAll,P3_UraxQ1_2) P3_EStop1_green=P3_M_EStop+P3_M_ESAll*SM_Flash ;Emergency stop lights P3_EStop1_red=P3_M_ES1*/P3_M_ESAll+(/P3_M_ES1+/P3_M_EStop*P3_M_ESAll)*/SM_Flash P3_Estop2_green=P3_M_EStop+P3_M_ESAll*SM_Flash P3_EStop2_red=P3_M_ES2*/P3_M_ESAll+(/P3_M_ES2+/P3_M_EStop*P3_M_ESAll)*/SM_Flash P3_M_CellA_Safe=P3_M_LC1 ;Cell safety P3_M_A_Auto=P10_at_Test_A*P10_Auto P3_M_A_Man=P10_at_Test_A*(P10_Man+P10_Man100)*/P3_M_A_Auto P3_Q_Test_A_Yellow=P3_M_A_Man*(P3_M_EStop+/P3_M_EStop*SM_Flash) P3_Q_Test_A_Red=P3_M_A_Auto*(P3_M_EStop+/P3_M_EStop*SM_Flash) ; ; ! Pgm_Pluto:4,Master ! Instruction_Set_3 ! ASi_Optimize=Stoptime ;Old master Pluto for M-building ! Q4.27,Static ! ASI4.3,1,S-7.B.0,0,Safe,1 ! ASI4.4,1,S-7.B.0,0,Safe,1 ! ASI4.5,1,S-7.B.0,0,Safe,1 ! ASI4.6,4,S-7.B.E,F,Safe[Urax D1R],0 ! ASI4.7,4,S-7.B.E,F,Safe[Urax D1R],0 ! ASI4.8,4,S-7.B.E,F,Safe[Urax D1R],0 ! ASI4.9,1,S-7.B.E,F,Safe,1 ! ASI4.10,1,S-7.B.E,F,Safe,1 ! ASI4.11,1,S-7.B.E,F,Safe,1 ! ASI4.12,1,S-7.B.E,F,Safe,1 ! ASI4.13,1,S-7.B.E,F,Safe,1 ! ASI4.14,1,S-7.B.E,F,Safe,1 ! ASI4.15,15,S-7.B.E,F,Safe,1 ! ASI4.16,15,S-7.B.E,F,Safe,1 ! ASI4.17,15,S-7.B.E,F,Safe,1 ! ASI4.18,15,S-7.B.E,F,Safe,1 ! ASI4.30,7,S-7.A.7,7,CombinedTransaction_B ! ASI4.31,7,S-7.A.7,7,CombinedTransaction_A ! ASI4.31,7,S-7.A.7,7,CombinedTransaction_B ! Q4.27=P4_Extractorfan ; ! M4.0=P4_M_ESAll ; ! M4.1=P4_M_ESReset ; ! M4.2=P4_M_ResetA ; ! M4.3=P4_Lighttower_B_green ; ! M4.4=P4_M_ResetB ; ! M4.5=P4_CellB_lokalM_stop_ind ; ! M4.6=P4_Lighttower_C_green ; ! M4.7=P4_CellC_M_stop ; ! M4.8=P4_CellC_lokalM_stop_ind ; ! M4.9=P4_WAB ; ! M4.10=P4_WBC ; ! M4.11=P4_Es_stop ;Emergency stop ok from all ! M4.12=P4_Lg_A_ok ; ! M4.13=P4_Lg_B_ok ; ! M4.14=P4_Lg_C_ok ; ! M4.15=P4_WA ; ! M4.16=P4_Lighttower_A_green ; ! M4.17=P4_Resetind_Lg_A ; ! M4.18=P4_Resetind_Lg_B ; ! M4.19=P4_Rsetind_Lg_C ; ! M4.20=P4_CellA_lokalM_stop_ind ; ! M4.21=P4_M_ResetC ; ! M4.22=P4_Emergencystop_buttons_ok ; ! M4.23=P4_ResetA_fg ; ! M4.24=P4_ResetB_fg ; ! M4.25=P4_ResetC_fg ; ! M4.26=P4_EsAstop_ok ; ! M4.27=P4_EsBstop_ok ; ! M4.28=P4_EsCstop_ok ; ! M4.29=P4_EsindA ; ! M4.30=P4_EsindB ; ! M4.31=P4_EsindC ; ! M4.32=P4_Robotmansw_on_ind_or_no_pluto_cellA; ! M4.33=P4_Robotmansw_on_ind_or_no_pluto_cellB; ! M4.34=P4_Robotmansw_on_ind_or_no_pluto_cellC; ! M4.35=P4_RobotcellA_Mstop ; ! M4.36=P4_RobotcellB_Mstop ; ! M4.37=P4_RobotcellC_Mstop ; ! M4.38=P4_WB ; ! M4.39=P4_Emergency_stop_ind_fast__flash; ! M4.40=P4_no_robotdrive_ind_cellA ;drive relay off / pluto not active / no local stop and power on / no power in cabinett in cell A/for light tower ! M4.41=P4_no_robotdrive_ind_cellB ;drive relay off / pluto not active / no local stop and power on / no power in cabinett in cell B/for light tower ! M4.42=P4_no_robotdrive_ind_cellC ;drive relay off / pluto not active / no local stop and power on / no power in cabinett in cell C/for light tower ! M4.45=P4_es3flash ;reset lamp 3 fast flash when active ! M4.46=P4_es4flash ;reset lamp 4 fast flash when active ! M4.51=P4_Emergency_stop_all_ok ; ! M4.53=P4_resetindLgAB ; ! M4.54=P4_resetindLgBC ; ! M4.55=P4_resetindLgABC ; ! M4.59=P4_ResetlampB ; ! M4.60=P4_Walls_cellA_ok ; ! M4.61=P4_Walls_cellB_ok ; ! M4.62=P4_Walls_cellC_ok ; ! M4.63=P4_Walls_cellAB_ok ; ! M4.64=P4_Walls_cellBC_ok ; ! M4.65=P4_Walls_cellABC_ok ; ! M4.66=P4_Redflash_B ; ! M4.67=P4_ResetlampA ; ! M4.68=P4_Redflash_A ; ! M4.69=P4_ResetlampC ; ! M4.70=P4_CellA_M_stop ; ! M4.72=P4_Power_on_cabinetts_in_cellB ; ! M4.73=P4_Orange_ind_cellB ; ! M4.74=P4_Red_ind_cellB ; ! M4.75=P4_Power_on_cabinetts_in_cellC ; ! M4.76=P4_Orange_ind_cellC ; ! M4.77=P4_Red_ind_cellC ; ! M4.78=P4_Stop_cellA ; ! M4.79=P4_Stop_cellB ; ! M4.80=P4_Stop_cellC ; ! M4.81=P4_LighttowerA_A_orange ; ! M4.82=P4_LighttowerA_AB_orange ; ! M4.83=P4_LighttowerA_ABC_orange ; ! M4.84=P4_LighttowerB_B_orange ; ! M4.85=P4_LighttowerB_AB_orange ; ! M4.86=P4_LighttowerB_BC_orange ; ! M4.87=P4_LighttowerB_ABC_orange ; ! M4.88=P4_LighttowerC_C_orange ; ! M4.89=P4_LighttowerC_BC_orange ; ! M4.90=P4_LighttowerC_ABC_orange ; ! M4.91=P4_LighttowerA_A_red ; ! M4.92=P4_LighttowerA_AB_red ; ! M4.93=P4_LighttowerA_ABC_red ; ! M4.94=P4_LighttowerB_B_red ; ! M4.95=P4_LighttowerB_AB_red ; ! M4.96=P4_LighttowerB_BC_red ; ! M4.97=P4_LighttowerB_ABC_red ; ! M4.98=P4_LighttowerC_C_red ; ! M4.99=P4_LighttowerC_BC_red ; ! M4.100=P4_LighttowerC_ABC_red ; ! M4.101=P4_Robotmansw_cellAB_ok ; ! M4.102=P4_Robotmansw_cellBC_ok ; ! M4.103=P4_Robotmansw_cellABC_ok ; ! M4.104=P4_es5flash ;reset lamp 5 fast flash when active ! M4.105=P4_kastas ;skall kastas efter kontroll ! ASI4.3=P4_ES1 ;Emegency stop button 1 ! ASI4.4=P4_ES2 ;Emergency stop button 2 ! ASI4.5=P4_ES3 ;Emergency stop button 3 ! ASI4.6=P4_LgB ;Light grid Focus II cell B ! ASI4.7=P4_LgC ;Light grid Focus II cell C ! ASI4.8=P4_LgA ;Light grid Focus II cell A ! ASI4.9=P4_WBC1 ;Eden wall BC 1 ! ASI4.10=P4_WBC2 ;Eden wall BC 2 ! ASI4.11=P4_WBC3 ;Eden wall BC3 ! ASI4.12=P4_WAB1 ;Eden wall AB 1 ! ASI4.13=P4_WAB2 ;Eden wall AB 2 ! ASI4.14=P4_WAB3 ;Eden wall AB 3 ! ASI4.15=P4_WA1 ;Eden wall A 1 ! ASI4.16=P4_WA2 ;Eden wall A 2 ! ASI4.17=P4_WC1 ;Eden wall C 1 ! ASI4.18=P4_WC2 ;Eden wall C 2 ! ASI4.30B.3=P4_Reset_button_A ; ! ASI4.31.3=P4_Reset_button_B ; ! ASI4.31B.3=P4_Reset_button_C ; ! ASQ4.3.1=P4_EStop_1_red ; ! ASQ4.3.2=P4_Estop_1_green ; ! ASQ4.4.1=P4_Estop_2_red ; ! ASQ4.4.2=P4_Estop_2_green ; ! ASQ4.5.1=P4_Estop_3_red ; ! ASQ4.5.2=P4_Estop_3_green ; ! ASQ4.30B.2=P4_Lighttower_cell_A_red ; ! ASQ4.30B.3=P4_Lighttower_cell_A_orange; ! ASQ4.30B.4=P4_Lighttower_cell_A_green ; ! ASQ4.30B.1=P4_Reset_lamp_A ; ! ASQ4.31.2=P4_Lighttower_cell_B_red ; ! ASQ4.31.3=P4_Lighttower_cell_B_orange ; ! ASQ4.31.4=P4_Lighttower_cell_B_green ; ! ASQ4.31.1=P4_Reset_lamp_B ; ! ASQ4.31B.2=P4_Lighttower_cell_C_red ; ! ASQ4.31B.3=P4_Lighttower_cell_C_orange; ! ASQ4.31B.4=P4_Lighttower_cell_C_green ; ! ASQ4.31B.1=P4_Reset_lamp_C ; S4.0_0 P4_M_ESAll=P4_ES1*P4_ES2*P4_ES3 ;All emergency stops P4_M_EStop=Reset2T(P4_M_ESAll,P4_M_ESReset,P4_M_ESAll,0) ;Emergency stop for this master P4_M_ESReset=PreReset1(P4_M_ResetA*P4_M_ResetB*P4_M_ResetC,1s00,P4_M_ESAll) ;Trigger when all reset buttons are pushed P4_M_ResetA=Reset2T(P4_M_ESAll,P4_Reset_button_A,P4_M_ESAll,P4_Reset_lamp_A) ;Cell resets P4_M_ResetB=Reset2T(P4_M_ESAll,P4_Reset_button_B,P4_M_ESAll,P4_Reset_lamp_B) P4_M_ResetC=Reset2T(P4_M_ESAll,P4_Reset_button_C,P4_M_ESAll,P4_Reset_lamp_C) P4_Lg_B_ok=Reset2T(P4_LgB,P4_Reset_button_B,1,P4_Resetind_Lg_B) ;Lightbeam ;Cell B P4_Lg_C_ok=Reset2T(P4_LgC,P4_Reset_button_C,1,P4_Rsetind_Lg_C) ;Lightbeam ;Cell C P4_resetindLgAB=P4_Resetind_Lg_A+P4_Resetind_Lg_B P4_resetindLgBC=P4_Resetind_Lg_B+P4_Rsetind_Lg_C P4_resetindLgABC=P4_Resetind_Lg_A+P4_Resetind_Lg_B+P4_Rsetind_Lg_C P4_es3flash=/P4_ES1*SM_FastFlash P4_es4flash=/P4_ES2*SM_FastFlash P4_es5flash=/P4_ES3*SM_FastFlash ;EsAstop_ok=Reset2T(P4_M_ESAll,P4_Reset_cell_A,1,EsindA) ;Emergency conrol cell A P4_EsBstop_ok=Reset2T(P4_M_ESAll,P4_Reset_button_B,1,P4_EsindB) ;Emergency control cell B P4_EsCstop_ok=Reset2T(P4_M_ESAll,P4_Reset_button_C,1,P4_EsindC) ;Emergency control cell C P4_Emergency_stop_all_ok=P4_EsCstop_ok*P4_EsBstop_ok*P4_EsAstop_ok ;Emergency control all P4_Emergency_stop_ind_fast__flash=/P4_Emergency_stop_all_ok*SM_FastFlash ;Emergency indicator fast flash P4_Motordriverelay_Estop_ok_robots_cells=P4_Emergency_stop_all_ok ;Motordrive relay ok emergency stop robots cell A P4_ResetlampA=P4_EsindA+P4_Resetind_Lg_A*(/P4_Robotmansw_on_ind_or_no_pluto_cellA*P4_Walls_cellA_ok+(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB)*P4_Walls_cellAB_ok+(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*P4_Walls_cellABC_ok) ;Reset indicator blue puschbutton cell A ;UNsafe P4_Reset_lamp_A=P4_ResetlampA P4_ResetlampB=P4_EsindB+P4_Resetind_Lg_B*(/P4_Robotmansw_on_ind_or_no_pluto_cellB*P4_Walls_cellB_ok+(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB)*P4_Walls_cellAB_ok+(/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*P4_Walls_cellBC_ok+(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*P4_Walls_cellABC_ok) ;Reset indicator blue puschbutton cell B ;UNsafe P4_Reset_lamp_B=P4_ResetlampB P4_ResetlampC=P4_EsindC+P4_Rsetind_Lg_C*(/P4_Robotmansw_on_ind_or_no_pluto_cellC*P4_Walls_cellC_ok+(/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*P4_Walls_cellBC_ok+(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*P4_Walls_cellABC_ok) ;Reset indicator blue puschbutton cell C ;UNsafe P4_Reset_lamp_C=P4_ResetlampC P4_EStop_1_red=P4_EsindA*/P4_es3flash ;Emergencyindicator button ASi3 P4_Estop_1_green=/P4_EsindA P4_Estop_2_red=P4_EsindA*/P4_es4flash ;Emergencyindicator button ASi4 P4_Estop_2_green=/P4_EsindA P4_Estop_3_red=P4_EsindB*/P4_es5flash ;Emergencyindicator button ASi5 P4_Estop_3_green=/P4_EsindB P4_WA=P4_WA1*P4_WA2 ;Safety walls ; ;Wall A P4_WAB=P4_WAB1*P4_WAB2*P4_WAB3 ;Wall AB P4_WBC=P4_WBC1*P4_WBC2*P4_WBC3 ;Wall BC P4_WB=P4_WC1*P4_WC2 ;Wall C P4_Walls_cellA_ok=P4_WAB*P4_WA ;Walls P4_Walls_cellB_ok=P4_WAB*P4_WBC P4_Walls_cellC_ok=P4_WBC*P4_WB P4_Walls_cellAB_ok=/P4_WAB*P4_WA*P4_WBC P4_Walls_cellBC_ok=P4_WAB*/P4_WBC*P4_WB P4_Walls_cellABC_ok=/P4_WAB*/P4_WBC*P4_WA*P4_WB P4_Robots_cellA_ok_run_auto=(P4_Walls_cellA_ok+(P4_Walls_cellAB_ok+P4_Walls_cellABC_ok*P4_Lg_C_ok)*P4_Lg_B_ok)*P4_Lg_A_ok ;Robotcell auto. Robots in cell ready for autorun. P4_Robots_cellB_ok_run_auto=(P4_Walls_cellB_ok+(P4_Walls_cellAB_ok+P4_Walls_cellABC_ok*P4_Lg_C_ok)*P4_Lg_A_ok+P4_Walls_cellBC_ok*P4_Lg_C_ok)*P4_Lg_B_ok P4_Robots_cellC_ok_run_auto=(P4_Walls_cellC_ok+(P4_Walls_cellBC_ok+P4_Walls_cellABC_ok*P4_Lg_C_ok)*P4_Lg_B_ok)*P4_Lg_C_ok P4_Robots_cellAB_ok_run_auto=P4_Walls_cellAB_ok*P4_Lg_A_ok*P4_Lg_B_ok P4_Robots_cellBC_ok_run_auto=P4_Walls_cellBC_ok*P4_Lg_B_ok*P4_Lg_C_ok P4_Robots_cellABC_ok_run_auto=P4_Walls_cellABC_ok*P4_Lg_C_ok*P4_Lg_B_ok*P4_Lg_A_ok P4_Lighttower_A_green=(P4_Walls_cellA_ok+(P4_Walls_cellAB_ok+P4_Walls_cellABC_ok*P4_no_robotdrive_ind_cellC)*P4_no_robotdrive_ind_cellB)*P4_no_robotdrive_ind_cellA ;Lightowers ; ;Lighttower A green ;Unsafe P4_LighttowerA_A_orange=P4_Walls_cellA_ok*/P4_no_robotdrive_ind_cellA*P4_Robotmansw_on_ind_or_no_pluto_cellA*/P4_CellA_lokalM_stop_ind ;Lighttower A orange ;UNsafe P4_LighttowerA_AB_orange=P4_Walls_cellAB_ok*(/P4_no_robotdrive_ind_cellA+/P4_no_robotdrive_ind_cellB)*P4_Robotmansw_on_ind_or_no_pluto_cellA*P4_Robotmansw_on_ind_or_no_pluto_cellB*(/P4_CellA_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind) P4_LighttowerA_ABC_orange=P4_Walls_cellABC_ok*(/P4_no_robotdrive_ind_cellA+/P4_no_robotdrive_ind_cellB+/P4_no_robotdrive_ind_cellC)*P4_Robotmansw_on_ind_or_no_pluto_cellA*P4_Robotmansw_on_ind_or_no_pluto_cellB*P4_Robotmansw_on_ind_or_no_pluto_cellC*(/P4_CellA_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind) P4_LighttowerA_A_red=(P4_Robots_cellA_ok_run_auto+P4_Resetind_Lg_A)*/P4_Robotmansw_on_ind_or_no_pluto_cellA*(/P4_CellA_lokalM_stop_ind+SM_FastFlash) ;Lighttower A red ;UNsafe P4_LighttowerA_AB_red=(P4_Robots_cellAB_ok_run_auto+P4_resetindLgAB*P4_Walls_cellAB_ok)*(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB)*(/P4_CellA_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind+SM_FastFlash) P4_LighttowerA_ABC_red=(P4_Robots_cellABC_ok_run_auto+P4_resetindLgABC*P4_Walls_cellABC_ok)*(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*(/P4_CellA_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind+SM_FastFlash) P4_Lighttower_cell_A_green=P4_Lighttower_A_green*/P4_Emergency_stop_ind_fast__flash ;Lighttower A green lamp output ;UNsafe P4_Lighttower_cell_A_orange=(P4_LighttowerA_A_orange+P4_LighttowerA_AB_orange+P4_LighttowerA_ABC_orange)*/P4_Emergency_stop_ind_fast__flash ;Lighttower A orange lamp output ;UNsafe P4_Lighttower_cell_A_red=(P4_LighttowerA_A_red+P4_LighttowerA_AB_red+P4_LighttowerA_ABC_red)*/P4_Emergency_stop_ind_fast__flash ;Lighttower A red lamp output ;UNsafe P4_Lighttower_B_green=(P4_Walls_cellB_ok+P4_Walls_cellAB_ok*P4_no_robotdrive_ind_cellA+(P4_Walls_cellBC_ok+P4_Walls_cellABC_ok*P4_no_robotdrive_ind_cellA)*P4_no_robotdrive_ind_cellC)*P4_no_robotdrive_ind_cellB ;Lighttower B green ;UNsafe P4_LighttowerB_B_orange=P4_Walls_cellB_ok*/P4_no_robotdrive_ind_cellB*P4_Robotmansw_on_ind_or_no_pluto_cellB*/P4_CellB_lokalM_stop_ind ;Lighttower B orange ;Unsafe P4_LighttowerB_AB_orange=P4_Walls_cellAB_ok*(/P4_no_robotdrive_ind_cellA+/P4_no_robotdrive_ind_cellB)*P4_Robotmansw_on_ind_or_no_pluto_cellA*P4_Robotmansw_on_ind_or_no_pluto_cellB*(/P4_CellB_lokalM_stop_ind+/P4_CellA_lokalM_stop_ind) P4_LighttowerB_BC_orange=P4_Walls_cellBC_ok*(/P4_no_robotdrive_ind_cellB+/P4_no_robotdrive_ind_cellC)*P4_Robotmansw_on_ind_or_no_pluto_cellB*P4_Robotmansw_on_ind_or_no_pluto_cellC*(/P4_CellB_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind) P4_LighttowerB_ABC_orange=P4_Walls_cellABC_ok*(/P4_no_robotdrive_ind_cellA+/P4_no_robotdrive_ind_cellB+/P4_no_robotdrive_ind_cellC)*P4_Robotmansw_on_ind_or_no_pluto_cellA*P4_Robotmansw_on_ind_or_no_pluto_cellB*P4_Robotmansw_on_ind_or_no_pluto_cellC*(/P4_CellB_lokalM_stop_ind+/P4_CellA_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind) P4_LighttowerB_B_red=(P4_Robots_cellB_ok_run_auto+P4_Resetind_Lg_B)*/P4_Robotmansw_on_ind_or_no_pluto_cellB*(/P4_CellB_lokalM_stop_ind+SM_FastFlash) ;Lighttower B red ;UNsafe P4_LighttowerB_BC_red=(P4_Robots_cellBC_ok_run_auto+P4_resetindLgBC*P4_Walls_cellBC_ok)*(/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*(/P4_CellB_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind+SM_FastFlash) P4_LighttowerB_AB_red=(P4_Robots_cellAB_ok_run_auto+P4_resetindLgAB*P4_Walls_cellAB_ok)*(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB)*(/P4_CellA_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind+SM_FastFlash) P4_LighttowerB_ABC_red=(P4_Robots_cellABC_ok_run_auto+P4_resetindLgABC*P4_Walls_cellABC_ok)*(/P4_Robotmansw_on_ind_or_no_pluto_cellC+/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB)*(/P4_CellA_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind+SM_FastFlash) P4_Lighttower_cell_B_green=P4_Lighttower_B_green*/P4_Emergency_stop_ind_fast__flash ;Lighttower B green lamp output ;UNsafe P4_Lighttower_cell_B_orange=(P4_LighttowerB_B_orange+P4_LighttowerB_AB_orange+P4_LighttowerB_BC_orange+P4_LighttowerB_ABC_orange)*/P4_Emergency_stop_ind_fast__flash ;Lighttower B orange lamp output ;UNsafe P4_Lighttower_cell_B_red=(P4_LighttowerB_B_red+P4_LighttowerB_AB_red+P4_LighttowerB_BC_red+P4_LighttowerB_ABC_red)*/P4_Emergency_stop_ind_fast__flash ;Lighttower B red lamp output ;UNsafe P4_Lighttower_C_green=(P4_Walls_cellC_ok+(P4_Walls_cellBC_ok+P4_Walls_cellABC_ok*P4_no_robotdrive_ind_cellA)*P4_no_robotdrive_ind_cellB)*P4_no_robotdrive_ind_cellC ;Lighttower C green ;UNsafe P4_LighttowerC_C_orange=P4_Walls_cellC_ok*/P4_no_robotdrive_ind_cellC*P4_Robotmansw_on_ind_or_no_pluto_cellC*/P4_CellC_lokalM_stop_ind ;Lighttower C orange ;Unsafe P4_LighttowerC_BC_orange=P4_Walls_cellBC_ok*(/P4_no_robotdrive_ind_cellC+/P4_no_robotdrive_ind_cellB)*P4_Robotmansw_on_ind_or_no_pluto_cellB*P4_Robotmansw_on_ind_or_no_pluto_cellC*(/P4_CellB_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind) P4_LighttowerC_ABC_orange=P4_Walls_cellABC_ok*(/P4_no_robotdrive_ind_cellA+/P4_no_robotdrive_ind_cellB+/P4_no_robotdrive_ind_cellC)*P4_Robotmansw_on_ind_or_no_pluto_cellA*P4_Robotmansw_on_ind_or_no_pluto_cellB*P4_Robotmansw_on_ind_or_no_pluto_cellC*(/P4_CellB_lokalM_stop_ind+/P4_CellA_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind) P4_LighttowerC_C_red=(P4_Robots_cellC_ok_run_auto+P4_Rsetind_Lg_C)*/P4_Robotmansw_on_ind_or_no_pluto_cellC*(/P4_CellC_lokalM_stop_ind+SM_FastFlash) ;Lighttower C red safe xxx P4_LighttowerC_BC_red=(P4_Robots_cellBC_ok_run_auto+P4_resetindLgBC*P4_Walls_cellBC_ok)*(/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*(/P4_CellC_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind+SM_FastFlash) P4_LighttowerC_ABC_red=(P4_Robots_cellABC_ok_run_auto+P4_resetindLgABC*P4_Walls_cellABC_ok)*(/P4_Robotmansw_on_ind_or_no_pluto_cellA+/P4_Robotmansw_on_ind_or_no_pluto_cellB+/P4_Robotmansw_on_ind_or_no_pluto_cellC)*(/P4_CellA_lokalM_stop_ind+/P4_CellB_lokalM_stop_ind+/P4_CellC_lokalM_stop_ind+SM_FastFlash) P4_Lighttower_cell_C_green=P4_Lighttower_C_green*/P4_Emergency_stop_ind_fast__flash ;Lighttower C green lamp output ;UNsafe P4_Lighttower_cell_C_orange=(P4_LighttowerC_C_orange+P4_LighttowerC_BC_orange+P4_LighttowerC_ABC_orange)*/P4_Emergency_stop_ind_fast__flash ;Lighttower C orange lamp output ;UNsafe P4_Lighttower_cell_C_red=(P4_LighttowerC_C_red+P4_LighttowerC_BC_red+P4_LighttowerC_ABC_red)*/P4_Emergency_stop_ind_fast__flash ;Lighttower C red lamp output ;UNsafe ! Pgm_Pluto:10,ASi_Not_Used ! Instruction_Set_3 ! ASi_Optimize=Stoptime ;IRB120 Pluto (currently in test system)) ! I10.30,A_Pulse ! I10.31,A_Pulse ! I10.42,A_Pulse,Non_Inv ! I10.43,B_Pulse,Non_Inv ! I10.44,A_Pulse,Non_Inv ! I10.45,B_Pulse,Non_Inv ! I10.46,A_Pulse,Non_Inv ! I10.47,B_Pulse,Non_Inv ! Q10.10,A_Pulse ! Q10.11,B_Pulse ! IQ10.12,Status_Bus,5ms,1..2 ! I10.30=P10_Location_1 ; ! I10.31=P10_Location_2 ; ! I10.36=P10_Estop_D3 ; ! I10.37=P10_Estop_D4 ; ! I10.40=P10_Estop_D1 ; ! I10.41=P10_Estop_D2 ; ! I10.42=P10_Auto_A ; ! I10.43=P10_Auto_B ; ! I10.44=P10_Man_A ; ! I10.45=P10_Man_B ; ! I10.46=P10_Man100_A ; ! I10.47=P10_Man100_B ; ! Q10.0=P10_ES1 ;IRB120 Emergency stop 1 ! Q10.1=P10_ES2 ;IRB120 Emergency stop 2 ! M10.0=P10_EStop ; ! M10.6=P10_ES ; S10.0_0 P10_Man=ModeSelect8(P10_Man_A*P10_Man_B,P10_Man100_A*P10_Man100_B,P10_Auto_A*P10_Auto_B,0,0,0,0,0,P10_Man100,P10_Auto,0,0,0,0,0,0) ;Sanity checked mode P10_at_Test_A=ModeSelect8(SM_Pluto3_Present*P10_Location_1*/P10_Location_2,/SM_Pluto3_Present*/P10_Location_1*P10_Location_2,/SM_Pluto3_Present*/P10_Location_1*/P10_Location_2,0,0,0,0,0,P10_at_IPROD,P10_at_Standalone,0,0,0,0,0,0) ;Sanity checked location P10_EStop=SM_Pluto3_Present*P3_M_EStop ;AUTO: ALL(P*_M_EStop) P10_ES=P10_at_Standalone*(P10_Man+P10_Man100)+P10_EStop*(P10_at_Test_A*P3_M_CellA_Safe*P10_Auto+P10_Man+P10_Man100) ;IRB120 emergency stop P10_ES1=P10_ES ;Estop Propagation P10_ES2=P10_ES ! Pgm_Pluto:11,ASi_Not_Used ! Instruction_Set_3 ! ASi_Optimize=Stoptime ;IRB140 pluto ! I11.15,Static ! I11.16,Static ! I11.17,Static ! I11.20,Static ! I11.30,A_Pulse,Non_Inv ! I11.31,B_Pulse,Non_Inv ! I11.32,A_Pulse,Non_Inv ! I11.33,B_Pulse,Non_Inv ! I11.34,A_Pulse,Non_Inv ! I11.35,B_Pulse,Non_Inv ! I11.36,A_Pulse,Non_Inv ! I11.37,B_Pulse,Non_Inv ! I11.40,A_Pulse,Non_Inv ! I11.41,B_Pulse,Non_Inv ! I11.44,A_Pulse,Non_Inv ! I11.45,B_Pulse,Non_Inv ! Q11.10,A_Pulse ! Q11.11,B_Pulse ! Q11.12,Static ! I11.15=P11_GL ;green led low position RT50 stop relay ! I11.16=P11_RR ;red led high position RT 50 stop relay ! I11.17=P11_GR ;green led high position RT 50 stop relay ! I11.20=P11_RL ;red led low position RT 50 stop relay ! I11.30=P11_length_0_0 ; ! I11.31=P11_length_0_1 ; ! I11.32=P11_length_1_0 ; ! I11.33=P11_length_1_1 ; ! I11.34=P11_length_2_0 ; ! I11.35=P11_length_2_1 ; ! I11.36=P11_length_3_0 ; ! I11.37=P11_length_3_1 ; ! I11.40=P11_length_4_0 ; ! I11.41=P11_length_4_1 ; ! I11.44=P11_mansw1 ;man 1 ! I11.45=P11_mansw2 ;man 2 ! Q11.0=P11_Motor_drive_relay ; ! Q11.1=P11_P2 ; ! Q11.2=P11_extpwron ;ext pwr box on (220/380 AC) ! Q11.10=P11_pulse_A ;Used for length 0 bits as well ! Q11.11=P11_pulse_B ;Used for length 1 bits as well ! Q11.12=P11_bits_ok ; ! R11.0=P11_length ; S11.0_0