protected override void OnClose() { //comm.StopScan(); //pcbComm.StopScan(); engine.exit(); if (engine.work_thread != null) { engine.work_thread.Join(); } CanComm.OnError -= Comm_OnError; CanComm.Close(); if (System.Windows.Application.Current.ShutdownMode == System.Windows.ShutdownMode.OnMainWindowClose) { TraceService.InsertT_Trace(TraceLevelEnum.LowImportant, "关闭主程序"); } else { TraceService.InsertT_Trace(TraceLevelEnum.LowImportant, "注销"); } foreach (var key in Constants.BJDict.Keys) { switch (key) { case "T_BJ_DeepPlate": { VBJ.SaveConfig(Constants.BJDict[key]); break; } } } base.OnClose(); System.Environment.Exit(0); }
public bool MoveX(decimal Distance, bool OnlyStart = false) { var result = false; result = CanComm.MoveMotor(GelWare.XMotor, Distance, OnlyStart); return(result); }
public bool SetTemp(byte index, float temp) { int temp_tem = (int)(temp * 10); var Couv = this.CouMixer.Couveuses[index]; return(CanComm.SetRegister(Couv.SetupTemp.Addr, temp_tem, true)); }
/// <summary> /// 混匀器电机,不等待反馈信号 /// </summary> /// <param name="distance"></param> /// <returns></returns> public bool MoveZ(decimal Distance, bool OnlyStart = false) { var result = false; result = CanComm.MoveMotor(CouMixer.Mixer, Distance, OnlyStart); return(result); }
public override void Update2Plc() { CanComm.SetMotor(CouMixer.Mixer); foreach (var cou in this.CouMixer.Couveuses) { SetCouveuse(cou); } }
private void SetHightSpeed(Object obj) { if (obj is Common.Models.Communication.Unit.Electromotor motor) { CanComm.SetRegister(motor.Speed.Addr, motor.Speed.SetValue); } //Common.Models.Communication.Unit.Electromotor }
public override void LoadPLCValue() { CanComm.Read2PLC(this.CouMixer.Mixer.Speed); CanComm.Read2PLC(this.CouMixer.Mixer.TimeSpan); foreach (var cou in this.CouMixer.Couveuses) { LoadCouveuse(cou); } }
public bool GetCameraLight() { bool is_timeout = false; CanComm.ReadCoil(OP.CameraLightCoil.Addr); var ret = CanComm.GetBoolBlock(OP.CameraLightCoil.Addr, true, 3000, false, out is_timeout); return(ret && is_timeout == false); }
public int GetPressure(Enterclose ent) { bool is_timeout = false; CanComm.ReadRegister(ent.PumpMotor.Pressure.Addr); int pressure = CanComm.GetIntBlock(ent.PumpMotor.Pressure.Addr, 2000, out is_timeout); return(is_timeout?-1:pressure); }
public int ReadTemp(byte index) { bool is_time_out = false; var Couv = this.CouMixer.Couveuses[index]; CanComm.ReadRegister(Couv.SetupTemp.Addr); int temp = CanComm.GetIntBlock(Couv.SetupTemp.Addr, 1000, out is_time_out); return(is_time_out ? 0 : temp); }
public bool InitZ(bool OnlyStart = false, params Enterclose[] ents) { bool result = true; foreach (var et in ents) { result = result && CanComm.InitMotor(et.ZMotor, OnlyStart); } return(result); }
public override void Update2Plc() { CanComm.SetMotor(Hand.XMotor); CanComm.SetMotor(Hand.YMotor); CanComm.SetMotor(Hand.ZMotor); CanComm.Set2PLC(Hand.InitTime); Thread.Sleep(50); CanComm.Set2PLC(Hand.DistanceTime); Thread.Sleep(50); }
public override void LoadPLCValue() { CanComm.ReadMotor(Hand.XMotor); CanComm.ReadMotor(Hand.YMotor); CanComm.ReadMotor(Hand.ZMotor); CanComm.Read2PLC(Hand.InitTime); Thread.Sleep(50); CanComm.Read2PLC(Hand.DistanceTime); Thread.Sleep(50); }
public override void LoadPLCValue() { CanComm.ReadMotor(this.Injector.XMotor); CanComm.ReadMotor(this.Injector.TMotor); foreach (var item in this.Injector.Entercloses) { this.CanComm.ReadMotor(item.PumpMotor); this.CanComm.ReadMotor(item.ZMotor); this.CanComm.ReadMotor(item.YMotor); } }
public bool SwitchHand(bool IsOpen) { if (Hand.IsOpen != IsOpen) { var result = CanComm.SetCoil(Hand.HandDonedCoil.Addr, false); result = result && CanComm.SetCoil(Hand.HandStartCoil.Addr, true); result = result && CanComm.SetCoil(this.Hand.HandCoil.Addr, !IsOpen); Hand.IsOpen = IsOpen; return(result); } return(true); }
public bool InitHandTongs(bool OnlyStart = false) { bool is_time_out = false; var result = this.CanComm.SetCoilOn(this.Hand.HandInitCoil.Addr); if (OnlyStart) { CanComm.GetBoolBlock(this.Hand.HandInitCoil.Addr, false, 2000, true, out is_time_out); } Hand.IsOpen = true; return(result); }
public override void Update2Plc() { CanComm.SetMotor(this.Injector.XMotor); CanComm.SetMotor(this.Injector.TMotor); var inject_list = Injector.Entercloses.Where(item => item.InjEnable).ToList(); foreach (var item in inject_list) { this.CanComm.SetMotor(item.PumpMotor); this.CanComm.SetMotor(item.ZMotor); this.CanComm.SetMotor(item.YMotor); } }
public bool InitY(Enterclose[] ents, bool OnlyStart = false) { bool result = true; foreach (var et in ents) { result = result && CanComm.InitMotor(et.YMotor, OnlyStart); et.SplitDistance = 0; et.YMotor.IsStarted = false; et.YMotor.CurrentDistance = 0m; } return(result); }
/// <summary> /// 光藕感应,检测Gel卡是否存在 /// </summary> /// <param name="coilCount"></param> /// <param name="regCount"></param> /// <param name="addr"></param> /// <returns></returns> /// <summary> /// 开关报警 /// </summary> /// <param name="IsOn">true:响警 false:关警</param> public bool Alarm(bool IsOn) { var result = true; if (IsOn) { result = CanComm.SetRegister(OP.LightAlarmCoil.Addr, 0xffffff); //= result&& this.PcbComm.SetRegister(OP.LightAlarmCoil.Addr,ByteUtil.BytesToInt16(0xFF,0xFF)); } else { result = CanComm.SetRegister(OP.LightAlarmCoil.Addr, 0x000000); // result = result && this.PcbComm.SetRegister(OP.LightAlarmCoil.Addr,(short)0); } //result &&this.Comm.SetCoil(IsOn, OP.VoiceAlarmCoil.Addr); return(result); }
public override void Update2Plc() { CanComm.SetMotor(GelWare.XMotor); }
public bool StopHot(byte index) { var Couv = this.CouMixer.Couveuses[index]; return(CanComm.SetCoilOff(Couv.HotSwitchCoil.Addr)); }
public bool InitMixer(bool OnlyStart = false) { return(CanComm.InitMotor(CouMixer.Mixer, OnlyStart)); }
private void SetCouveuse(Couveuse couveuse) { CanComm.Set2PLC <float>(couveuse.TempCompensate); CanComm.Set2PLC <float>(couveuse.SetupTemp); }
public override void Update2Plc() { CanComm.SetMotor(OP.ScanMotor); }
private void LoadCouveuse(Couveuse couveuse) { CanComm.Read2PLC <float>(couveuse.TempCompensate); CanComm.Read2PLC <float>(couveuse.SetupTemp); }
/// <summary> /// 初始化离心机 /// </summary> /// <param name="Code">离心机代号</param> /// <param name="onlyStart">True:仅开始初始化,False:等待初始化结束</param> /// <returns></returns> public bool Init(bool onlyStart = false) { return(CanComm.InitMotor(Centrifugem.Motor, onlyStart)); }
public override void Update2Plc() { CanComm.SetMotor(Centrifugem.Motor); }
public override void LoadPLCValue() { CanComm.ReadMotor(Centrifugem.Motor); }
public override void LoadPLCValue() { CanComm.ReadMotor(GelWare.XMotor); }
public bool InitX(bool OnlyStart = false) { return(CanComm.InitMotor(GelWare.XMotor, OnlyStart)); }