Beispiel #1
0
        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);
        }
Beispiel #2
0
        public bool MoveX(decimal Distance, bool OnlyStart = false)
        {
            var result = false;

            result = CanComm.MoveMotor(GelWare.XMotor, Distance, OnlyStart);
            return(result);
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        /// <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);
        }
Beispiel #5
0
 public override void Update2Plc()
 {
     CanComm.SetMotor(CouMixer.Mixer);
     foreach (var cou in this.CouMixer.Couveuses)
     {
         SetCouveuse(cou);
     }
 }
Beispiel #6
0
 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
 }
Beispiel #7
0
 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);
     }
 }
Beispiel #8
0
        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);
        }
Beispiel #9
0
        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);
        }
Beispiel #10
0
        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);
        }
Beispiel #11
0
        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);
        }
Beispiel #12
0
 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);
 }
Beispiel #13
0
 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);
 }
Beispiel #14
0
 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);
     }
 }
Beispiel #15
0
 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);
 }
Beispiel #16
0
        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);
        }
Beispiel #17
0
        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);
            }
        }
Beispiel #18
0
        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);
        }
Beispiel #19
0
        /// <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);
        }
Beispiel #20
0
 public override void Update2Plc()
 {
     CanComm.SetMotor(GelWare.XMotor);
 }
Beispiel #21
0
        public bool StopHot(byte index)
        {
            var Couv = this.CouMixer.Couveuses[index];

            return(CanComm.SetCoilOff(Couv.HotSwitchCoil.Addr));
        }
Beispiel #22
0
 public bool InitMixer(bool OnlyStart = false)
 {
     return(CanComm.InitMotor(CouMixer.Mixer, OnlyStart));
 }
Beispiel #23
0
 private void SetCouveuse(Couveuse couveuse)
 {
     CanComm.Set2PLC <float>(couveuse.TempCompensate);
     CanComm.Set2PLC <float>(couveuse.SetupTemp);
 }
Beispiel #24
0
 public override void Update2Plc()
 {
     CanComm.SetMotor(OP.ScanMotor);
 }
Beispiel #25
0
 private void LoadCouveuse(Couveuse couveuse)
 {
     CanComm.Read2PLC <float>(couveuse.TempCompensate);
     CanComm.Read2PLC <float>(couveuse.SetupTemp);
 }
Beispiel #26
0
 /// <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));
 }
Beispiel #27
0
 public override void Update2Plc()
 {
     CanComm.SetMotor(Centrifugem.Motor);
 }
Beispiel #28
0
 public override void LoadPLCValue()
 {
     CanComm.ReadMotor(Centrifugem.Motor);
 }
Beispiel #29
0
 public override void LoadPLCValue()
 {
     CanComm.ReadMotor(GelWare.XMotor);
 }
Beispiel #30
0
 public bool InitX(bool OnlyStart = false)
 {
     return(CanComm.InitMotor(GelWare.XMotor, OnlyStart));
 }