Exemplo n.º 1
0
        public override void Reset(bool force = false)
        {
            byte[] result;
            lock (_port)
            {
                _option = force ? Bit.Set(_option, eVulcanizeViceOption.Reset) : Bit.Clr(_option, eVulcanizeViceOption.Reset);
                _port.Write(_serialize.Serialize(new WriteRandomCommand(eElementCode.M, 3 * 16, (ushort)_option)))
                .Read(out result);
            }
#if DEBUG
            var res = _serialize.Deserialize <WriteRandomResult>(result);
            Logger.LogInfo($"VulcanizeVice:Reset, code:{res.Code.ToString()}");
#endif
        }
Exemplo n.º 2
0
        /// <summary>
        /// 从机复位
        /// </summary>
        /// <param name="enable"></param>
        /// <returns></returns>
        public IDevice ViceReset(bool enable = true)
        {
            byte[] result;
            lock (_port)
            {
                _option = enable ? Bit.Set(_option, eVulcanizeViceOption.ViceReset) : Bit.Clr(_option, eVulcanizeViceOption.ViceReset);
                _port.Write(_serialize.Serialize(new WriteRandomCommand(eElementCode.M, 3 * 16, (ushort)_option)))
                .Read(out result);
            }
#if DEBUG
            var res = _serialize.Deserialize <WriteRandomResult>(result);
            Logger.LogInfo($"VulcanizeVice:ViceReset, code:{res.Code.ToString()}");
#endif
            return(this);
        }
Exemplo n.º 3
0
        public void Sync(object sender, eVulcanizeState state)
        {
            lock (_port)
            {
                //冷却到出口
                _option = (Bit.Tst(state, eVulcanizeState.CoolerToExit) ? Bit.Set(_option, eVulcanizeViceOption.CoolerToExit) : Bit.Clr(_option, eVulcanizeViceOption.CoolerToExit));

                //硫化门升
                _option = (Bit.Tst(state, eVulcanizeState.VulcanizationDoorUp) ? Bit.Set(_option, eVulcanizeViceOption.VulcanizationDoorUp) : Bit.Clr(_option, eVulcanizeViceOption.VulcanizationDoorUp));

                //冷却门升
                _option = (Bit.Tst(state, eVulcanizeState.CoolerDoorUp) ? Bit.Set(_option, eVulcanizeViceOption.CoolerDoorUp) : Bit.Clr(_option, eVulcanizeViceOption.CoolerDoorUp));

                //硫化到冷却
                _option = (Bit.Tst(state, eVulcanizeState.VulcanizationToCooler) ? Bit.Set(_option, eVulcanizeViceOption.CoolerReady) : Bit.Clr(_option, eVulcanizeViceOption.CoolerReady));

                //硫化门降
                _option = (Bit.Tst(state, eVulcanizeState.VulcanizationDoorDown) ? Bit.Set(_option, eVulcanizeViceOption.VulcanizationDoorDown) : Bit.Clr(_option, eVulcanizeViceOption.VulcanizationDoorDown));

                //冷却门降
                _option = (Bit.Tst(state, eVulcanizeState.CoolerDoorDown) ? Bit.Set(_option, eVulcanizeViceOption.CoolerDoorDown) : Bit.Clr(_option, eVulcanizeViceOption.CoolerDoorDown));

                //手动冷却传送带动
                _option = (Bit.Tst(state, eVulcanizeState.HandOpertionCoolerTransmission) ? Bit.Set(_option, eVulcanizeViceOption.HandOpertionCoolerTransmission) : Bit.Clr(_option, eVulcanizeViceOption.HandOpertionCoolerTransmission));

                //出口到小车
                _option = (Bit.Tst(state, eVulcanizeState.OutToAGV) ? Bit.Set(_option, eVulcanizeViceOption.OutToAGV) : Bit.Clr(_option, eVulcanizeViceOption.OutToAGV));

                //急停
                _option = (Bit.Tst(state, eVulcanizeState.Estop) ? Bit.Set(_option, eVulcanizeViceOption.EStop) : Bit.Clr(_option, eVulcanizeViceOption.EStop));

                //从机复位
                _option = (Bit.Tst(state, eVulcanizeState.ViceReset) ? Bit.Set(_option, eVulcanizeViceOption.ViceReset) : Bit.Clr(_option, eVulcanizeViceOption.ViceReset));

                _port.Write(_serialize.Serialize(new WriteRandomCommand(eElementCode.M, 3 * 16, (ushort)_option)));
                _port.Read(out byte[] result);
#if DEBUG
                var res = _serialize.Deserialize <WriteRandomResult>(result);
                Logger.LogInfo($"VulcanizeVice:Sync, code:{state.ToString()}");

                Logger.LogInfo($"VulcanizeVice:Sync, code:{res.Code.ToString()}");
#endif
            }
        }
Exemplo n.º 4
0
 //protected Thread
 public VulcanizeViceDevice(IPort port, ISerialize serialize) : base(port, serialize)
 {
     try
     {
         _port.Write(_serialize.Serialize(new ReadRandomCommand(eElementCode.M, 3 * 16)))
         .Read(out byte[] result);
         var res = _serialize.Deserialize <ReadRandomResult>(result);
         if (res.Code == ePlcResultCode.OK)
         {
             _option = (eVulcanizeViceOption)res.WordData;
         }
     }
     catch (Exception ex)
     {
         Logger.ErrorInfo("VulcanizeViceDevice", ex);
     }
     _isOnline = true;
     IPCCMD(true);
     Update();
 }