void timer_Monitor_Tick(object sender, EventArgs e) { GC.Collect(); bool error = false; if (Config.Soft.Function == "I") { if (Config.Mac_C.PLC_Tcp == "Y") { //X轴 if (PLC_Tcp_CP.TrackStateIsOK(PLC_Tcp_CP.TrackErrorType.X1) && PLC_Tcp_CP.TrackStateIsOK(PLC_Tcp_CP.TrackErrorType.X2))// && PLC.ExtramanOriginResetState(PLC.TrackErrorType.X1) && PLC.ExtramanOriginResetState(PLC.TrackErrorType.X2)) { grid_X.Visibility = Visibility.Collapsed; } else { error = true; tbX_Up.Text = PLC_Tcp_CP.ReadTrackErrorCode(PLC_Tcp_CP.TrackErrorType.X1); tbX_Down.Text = PLC_Tcp_CP.ReadTrackErrorCode(PLC_Tcp_CP.TrackErrorType.X2); grid_X.Visibility = Visibility.Visible; } //Z轴 if (PLC_Tcp_CP.TrackStateIsOK(PLC_Tcp_CP.TrackErrorType.Z))// && PLC.ExtramanOriginResetState(PLC.TrackErrorType.Z)) { grid_Z.Visibility = Visibility.Collapsed; } else { error = true; tbZ.Text = PLC_Tcp_CP.ReadTrackErrorCode(PLC_Tcp_CP.TrackErrorType.Z); grid_Z.Visibility = Visibility.Visible; } //左臂 if (PLC_Tcp_CP.PlateStateIsOK(PLC_Tcp_AP.PlateType.Left))// && PLC.PlateOriginResetState(PLC.PlateType.Left)) { grid_Left.Visibility = Visibility.Collapsed; } else { error = true; tbLeft.Text = PLC_Tcp_CP.ReadPlateErrorCode(PLC_Tcp_AP.PlateType.Left); grid_Left.Visibility = Visibility.Visible; } //右臂 if (PLC_Tcp_CP.PlateStateIsOK(PLC_Tcp_AP.PlateType.Right))// && PLC.PlateOriginResetState(PLC.PlateType.Right)) { grid_Right.Visibility = Visibility.Collapsed; } else { error = true; tbRight.Text = PLC_Tcp_CP.ReadPlateErrorCode(PLC_Tcp_AP.PlateType.Right); grid_Right.Visibility = Visibility.Visible; } //加药障碍 if (PLC_Tcp_CP.PlateErrorZHA()) { grid_ZHA.Visibility = Visibility.Collapsed; } else { error = true; grid_ZHA.Visibility = Visibility.Visible; } } } else { if (Config.Mac_C.PLC_Tcp == "Y") { //提升机 if (PLC_Tcp_CP.LiftStateIsOK())// && PLC.LiftOriginResetState()) { grid_Lift.Visibility = Visibility.Collapsed; } else { error = true; tbLift.Text = PLC_Tcp_CP.ReadLiftErrorCode(); grid_Lift.Visibility = Visibility.Visible; } } if (Config.Mac_C.PLC_Com == "Y") { //提升机挡板 if (!PLC_Com_CP.Baffle_Lift_IsMaxUp()) { grid_Max_Baffle.Visibility = Visibility.Collapsed; } else { error = true; grid_Max_Baffle.Visibility = Visibility.Visible; } if (!PLC_Com_CP.Baffle_Lift_IsMinDown()) { grid_Min_Baffle.Visibility = Visibility.Collapsed; } else { error = true; grid_Min_Baffle.Visibility = Visibility.Visible; } } } if (error) { grid_Monitor.Visibility = Visibility.Visible; } else { grid_Monitor.Visibility = Visibility.Collapsed; } if (Config.Mac_C.PLC_Tcp == "Y") { //光幕监控 if (Config.Soft.Function == "I") { gm_new = PLC_Tcp_CP.GMIsStop(); if (gm_new != gm_old) { gm_old = gm_new; ShowGM(gm_new); } } //急停监控 if (Config.Soft.Function == "I") { stop_new = PLC_Tcp_CP.MacIsStop(PLC_Tcp_CP.MacType.Add); } else { stop_new = PLC_Tcp_CP.MacIsStop(PLC_Tcp_CP.MacType.Out); } if (stop_new != stop_old) { stop_old = stop_new; ShowStop(stop_new); } } }