/// <summary> /// 定时刷新控件 /// </summary> /// <param name="button"></param> public void Refresh(Control button, PLC Plc) //根据PLC类型读取--按钮类 { Button_state button_State = Button_state.Off; //按钮状态 Button_base button_base = button as Button_base; switch (Plc) { case PLC.Mitsubishi: IPLC_interface mitsubishi = new Mitsubishi_realize(); //实例化接口--实现三菱在线访问 if (mitsubishi.PLC_ready) //PLC是否准备完成 { List <bool> data = mitsubishi.PLC_read_M_bit(button_base.PLC_Contact, button_base.PLC_Address); //读取状态 button_State = data[0] == true ? Button_state.ON : Button_state.Off; button_state(button, button_State); } break; case PLC.Siemens: IPLC_interface Siemens = new Siemens_realize(); //实例化接口--实现西门子在线访问 if (Siemens.PLC_ready) //PLC是否准备完成 { List <bool> data = Siemens.PLC_read_M_bit(button_base.PLC_Contact, button_base.PLC_Address); //读取状态 button_State = data[0] == true ? Button_state.ON : Button_state.Off; button_state(button, button_State); } break; case PLC.MODBUS_TCP: MODBUD_TCP MODBUD_TCP = new MODBUD_TCP(); //实例化接口--实现MODBUS TCP if (MODBUD_TCP.IPLC_interface_PLC_ready) //PLC是否准备完成 { List <bool> data = MODBUD_TCP.IPLC_interface_PLC_read_M_bit(button_base.PLC_Contact, button_base.PLC_Address); //读取状态 button_State = data[0] == true ? Button_state.ON : Button_state.Off; button_state(button, button_State); } break; } }
public void onRelease() { bs = Button_state.NONE; }
public void onClick() { bs = Button_state.CLICKED; }
public void onHover() { bs = Button_state.HOVER; }
/// <summary> /// 填充按钮类 /// </summary> /// <param name="button_Reform"></param> /// <param name="button_Classes"></param> /// <param name="button_State"></param> private void button_state(Control button, Button_state button_State)//填充按钮类 { switch (button.GetType().Name) { case "DAButton": DAButton Dabutton = button as DAButton; Dabutton.Text = button_State == Button_state.ON ? Dabutton.Text_ON : Dabutton.Text_OFF; Dabutton.BaseColor = button_State == Button_state.ON ? Dabutton.Backdrop_ON : Dabutton.Backdrop_OFF; //Dabutton.RectColor = Dabutton.FillColor; break; case "DACheckBox": DACheckBox daCheckBox = button as DACheckBox; daCheckBox.Text = button_State == Button_state.ON ? daCheckBox.Text_ON : daCheckBox.Text_OFF; daCheckBox.BackColor = button_State == Button_state.ON ? daCheckBox.Backdrop_ON : daCheckBox.Backdrop_OFF; daCheckBox.Checked = button_State == Button_state.ON ? true : false; break; case "DASwitch": DASwitch daSwitch = button as DASwitch; daSwitch.Text = button_State == Button_state.ON ? daSwitch.Text_ON : daSwitch.Text_OFF; daSwitch.FalseColor = daSwitch.Backdrop_OFF; daSwitch.TrueColor = daSwitch.Backdrop_ON; daSwitch.Checked = Convert.ToBoolean(button_State); break; case "DAConduit": DAConduit daConduit = button as DAConduit; daConduit.Text = button_State == Button_state.ON ? daConduit.Text_ON : daConduit.Text_OFF; daConduit.LiquidColor = button_State == Button_state.ON ? daConduit.Backdrop_ON : daConduit.Backdrop_OFF; daConduit.LiquidDirection = button_State == Button_state.ON ? HZH_Controls.Controls.LiquidDirection.Forward : HZH_Controls.Controls.LiquidDirection.Backward; break; case "DARotor": DARotor daRotor = button as DARotor; daRotor.Text = button_State == Button_state.ON ? daRotor.Text_ON : daRotor.Text_OFF; daRotor.RotorAround = button_State == Button_state.ON ? HZH_Controls.Controls.RotorAround.Clockwise : HZH_Controls.Controls.RotorAround.Counterclockwise; break; case "DALedBulb": DALedBulb daLedBulb = button as DALedBulb; daLedBulb.Text = button_State == Button_state.ON ? daLedBulb.Text_ON : daLedBulb.Text_OFF; daLedBulb.Color = button_State == Button_state.ON ? daLedBulb.Backdrop_ON : daLedBulb.Backdrop_OFF; break; case "DASignalLamp": DASignalLamp daSignalLamp = button as DASignalLamp; daSignalLamp.Text = button_State == Button_state.ON ? daSignalLamp.Text_ON : daSignalLamp.Text_OFF; if (daSignalLamp.I_Flicker & daSignalLamp.O_Flicker == false & button_State == Button_state.Off) { daSignalLamp.LampColor[0] = button_State == Button_state.ON ? daSignalLamp.Backdrop_ON : daSignalLamp.Backdrop_OFF; daSignalLamp.TwinkleSpeed = 0; return; } if (daSignalLamp.I_Flicker == false & daSignalLamp.O_Flicker & button_State == Button_state.ON) { daSignalLamp.LampColor[0] = button_State == Button_state.ON ? daSignalLamp.Backdrop_ON : daSignalLamp.Backdrop_OFF; daSignalLamp.TwinkleSpeed = 0; return; } if (daSignalLamp.O_Flicker & button_State == Button_state.Off) { daSignalLamp.LampColor = daSignalLamp.O_FlickerColor; daSignalLamp.TwinkleSpeed = daSignalLamp.O_FlickerTime; return; } if (daSignalLamp.I_Flicker & button_State == Button_state.ON) { daSignalLamp.LampColor = daSignalLamp.I_FlickerColor; daSignalLamp.TwinkleSpeed = daSignalLamp.I_FlickerTime; return; } if (daSignalLamp.O_Flicker == false & daSignalLamp.I_Flicker == false) { daSignalLamp.LampColor[0] = button_State == Button_state.ON ? daSignalLamp.Backdrop_ON : daSignalLamp.Backdrop_OFF; daSignalLamp.TwinkleSpeed = 0; } break; case "DAAlarmLamp": DAAlarmLamp daAlarmLamp = button as DAAlarmLamp; daAlarmLamp.Text = button_State == Button_state.ON ? daAlarmLamp.Text_ON : daAlarmLamp.Text_OFF; if (daAlarmLamp.I_Flicker & daAlarmLamp.O_Flicker == false & button_State == Button_state.Off) { daAlarmLamp.LampColor[0] = button_State == Button_state.ON ? daAlarmLamp.Backdrop_ON : daAlarmLamp.Backdrop_OFF; daAlarmLamp.TwinkleSpeed = 0; return; } if (daAlarmLamp.I_Flicker == false & daAlarmLamp.O_Flicker & button_State == Button_state.ON) { daAlarmLamp.LampColor[0] = button_State == Button_state.ON ? daAlarmLamp.Backdrop_ON : daAlarmLamp.Backdrop_OFF; daAlarmLamp.TwinkleSpeed = 0; return; } if (daAlarmLamp.O_Flicker & button_State == Button_state.Off) { daAlarmLamp.LampColor = daAlarmLamp.O_FlickerColor; daAlarmLamp.TwinkleSpeed = daAlarmLamp.O_FlickerTime; return; } if (daAlarmLamp.I_Flicker & button_State == Button_state.ON) { daAlarmLamp.LampColor = daAlarmLamp.I_FlickerColor; daAlarmLamp.TwinkleSpeed = daAlarmLamp.I_FlickerTime; return; } if (daAlarmLamp.O_Flicker == false & daAlarmLamp.I_Flicker == false) { daAlarmLamp.LampColor[0] = button_State == Button_state.ON ? daAlarmLamp.Backdrop_ON : daAlarmLamp.Backdrop_OFF; daAlarmLamp.TwinkleSpeed = 0; } break; } }