Example #1
0
        public CFMB_Para()
        {
            rIO.Add(EFMB_rIO.AC同步信号, 0);
            rIO.Add(EFMB_rIO.治具到位信号1, 0);
            rIO.Add(EFMB_rIO.治具到位信号2, 0);
            rIO.Add(EFMB_rIO.治具到位信号3, 0);
            rIO.Add(EFMB_rIO.治具到位信号4, 0);
            rIO.Add(EFMB_rIO.自动切换信号, 0);
            rIO.Add(EFMB_rIO.手动顶升信号, 0);
            rIO.Add(EFMB_rIO.手动下降信号, 0);
            rIO.Add(EFMB_rIO.S1状态, 0);
            rIO.Add(EFMB_rIO.AC电压信号, 0);
            rIO.Add(EFMB_rIO.继电器粘连警告, 0);
            rIO.Add(EFMB_rIO.检测AC电压, 0);
            rIO.Add(EFMB_rIO.运行信号灯, 0);
            rIO.Add(EFMB_rIO.错误信号灯, 0);
            rIO.Add(EFMB_rIO.气缸控制1, 0);
            rIO.Add(EFMB_rIO.气缸控制2, 0);

            wIO.Add(EFMB_wIO.错误信号灯, new CFMB_IO());
            wIO.Add(EFMB_wIO.继电器信号, new CFMB_IO());
            wIO.Add(EFMB_wIO.气缸控制1, new CFMB_IO());
            wIO.Add(EFMB_wIO.气缸控制2, new CFMB_IO());

            for (int i = 0; i < CFMBPara.Child_Max; i++)
            {
                Volt.Add(0);
            }
        }
Example #2
0
 public CMon_Para()
 {
     for (int i = 0; i < 32; i++)
     {
         Volt.Add(0);
     }
 }
        /// <summary>
        /// 更新耐张塔的覆冰率
        /// </summary>
        /// <param name="towerType"></param>
        /// <param name="backWkCdts"></param>
        /// <param name="backIceArea"></param>
        /// <param name="frontWkCdts"></param>
        /// <param name="frontIceArea"></param>
        public void  UpateIceCovrage(string towerType, List <ElecCalsWorkCondition> backWkCdts, string backIceArea, List <ElecCalsWorkCondition> frontWkCdts, string frontIceArea)
        {
            var    backIceWkCdt = backWkCdts.Where(item => item.Name == "最大覆冰").FirstOrDefault();
            double backIceThick = backIceWkCdt == null ? 0 : backIceWkCdt.IceThickness;

            var    frontIceWkCdt = frontWkCdts.Where(item => item.Name == "最大覆冰").FirstOrDefault();
            double frontIceThick = frontIceWkCdt == null ? 0 : frontIceWkCdt.IceThickness;

            Catagory = ElecCalsToolBox.GetCatogory(Volt.ToString());
            //BreakIceCoverPer = ElecCalsToolBox.UBlanceR(towerType, backIceThick, frontIceThick, Catagory);
            BreakIceCoverPer = ElecCalsToolBox.UBlanceR(towerType, Math.Max(backIceThick, frontIceThick), Catagory);
            //1:考虑断线覆冰率 2:不考虑断线覆冰率
            BreakIceCoverPara = (Math.Max(backIceThick, frontIceThick) >= 20) ? 1 : 2;

            if (backIceThick != frontIceThick)
            {
                UnbaIceCoverPerI  = 1;
                UnbaIceCoverPerII = 0;
            }
            else
            {
                if (backIceArea == "重冰区" || frontIceArea == "重冰区" || backIceArea == "中冰区" || frontIceArea == "中冰区")
                {
                    UnbaIceCoverPerI  = ElecCalsToolBox.IBlanceR1(towerType, Catagory);
                    UnbaIceCoverPerII = ElecCalsToolBox.IBlanceR2(towerType, Catagory);
                }
                else
                {
                    UnbaIceCoverPerI  = 1;
                    UnbaIceCoverPerII = 1;
                }
            }
        }
Example #4
0
        public BatteryInfoMessage(byte[] payload)
        {
            payload.RequireBytes(8);

            BatteryCurrent   = new Ampere(1000 - ((((payload[3] & 0x7F) << 8) + payload[2]) << 1) / 20.0m);
            BatteryVoltage   = new Volt((payload[0] + (payload[1] << 8)) / 100.0m);
            BatteryPower     = new Watt(BatteryCurrent * BatteryVoltage);
            NegativeTerminal = (payload[6] + ((payload[7] & 0x07) << 8)) * 0.1m - 10m;
        }
        public FastChargeLimitsMessage(byte[] payload)
        {
            payload.RequireBytes(RequireBytes);

            FastChargePowerLimit   = new KiloWatt(Math.Round(BitArrayConverter.ToUInt16(payload, 0, 13) * 0.06226m, 4));
            FastChargeCurrentLimit = new Ampere(Math.Round(BitArrayConverter.ToUInt16(payload, 16, 13) * 0.073242m, 2));
            FastChargeMaxVoltage   = new Volt(Math.Round(BitArrayConverter.ToUInt16(payload, 32, 13) * 0.073242m, 2));
            FastChargeMinVoltage   = new Volt(Math.Round(BitArrayConverter.ToUInt16(payload, 48, 13) * 0.073242m, 2));
        }
        public BatteryPowerMessage(byte[] payload)
        {
            payload.RequireBytes(RequireBytes);

            BatteryVoltage       = new Volt(BitArrayConverter.ToUInt16(payload, 0, 16) / 100.0m);
            BatteryCurrentSmooth = new Ampere(BitArrayConverter.ToInt16(payload, 16, 15) * -0.01m);
            BatteryCurrentRaw    = new Ampere(BitArrayConverter.ToInt16(payload, 32, 16) * -0.05m + 500m);
            ChargeTimeRemaining  = TimeSpan.FromMinutes(BitArrayConverter.ToUInt16(payload, 48, 12));
        }
Example #7
0
        public DcDcInfoMessage(byte[] payload)
        {
            payload.RequireBytes(6);

            DcDcCurrent      = new Ampere(payload[4]);
            DcDcVoltage      = new Volt(payload[5] / 10.0m);
            DcDcCoolantInlet = (payload[2] - 2 * (payload[2] & 0x80)) / 2m + 40m;
            DcDcInputPower   = new Watt((ushort)(payload[3] << 4));
            DcDcOutputPower  = new Watt(payload[4] * payload[5] / 10.0m);
        }
        public RearMechPowerMessage(byte[] payload)
        {
            payload.RequireBytes(RequireBytes);

            RearInverterVoltage = new Volt(payload[0] / 10m);
            RearMechPower       = new KiloWatt((payload[2] + ((payload[3] & 0x7) << 8) - 512 * (payload[3] & 0x4)) / 2m);
            RearDissipation     = new KiloWatt(payload[1] * 125m / 1000m - 0.5m);
            RearInputPower      = new KiloWatt(RearMechPower + RearDissipation);
            RearStatorCurrent   = new Ampere(payload[4] + ((payload[5] & 0x7) << 8));
            RearDriveMaxPower   = new KiloWatt((payload[6] & 0x3f << 5) + ((payload[5] & 0xf0) >> 3) + 1m);
            RearRegenMaxPower   = new KiloWatt((payload[7] << 2) - 200m);
        }
Example #9
0
        private static void testClassAdapter()
        {
            ISocketAdapter sockAdapter = new SocketClassAdapterImp();
            Volt           v3          = getVolt(sockAdapter, 3);
            Volt           v12         = getVolt(sockAdapter, 12);
            Volt           v120        = getVolt(sockAdapter, 120);

            Console.WriteLine("v3 volts using class adapter = " + v3.Volts.ToString());

            Console.WriteLine("v12 volts using class adapter = " + v12.Volts.ToString());
            Console.WriteLine("v120 volts using class adapter = " + v120.Volts.ToString());
        }
Example #10
0
 public CStatTestFixture(int slotMax)
 {
     for (int i = 0; i < slotMax; i++)
     {
         SerialNo.Add("");
         ResultName.Add("");
         ResultId.Add(0);
         Result.Add(0);
         Value.Add("");
         Volt.Add(0);
         Cur.Add(0);
         DD.Add("");
     }
 }
            public void ElectricUnits()
            {
                // Hearing aid (typically 1 mW at 1.4 V): 0.7 mA
                Volt   haVoltage = (Volt)1.4;
                Ampere haAmps    = (Watt)0.001 / haVoltage;

                Assert.AreEqual((Ampere)0.00071428571428571439, haAmps, "Hearing aid amperage calculation failed");
                Ohm haOhms = haVoltage / haAmps;

                Assert.AreEqual((Ohm)1959.9999999999995, haOhms, "Hearing aid resistance calculation failed");

                // A typical motor vehicle has a 12 V battery.
                Volt batteryVoltage = (Volt)12.0;

                // The various accessories that are powered by the battery might include:

                // Instrument panel light (typically 2 W): 166 mA.
                Ampere panelAmps = (Watt)2.0 / batteryVoltage;

                Assert.AreEqual((Ampere)0.16666666666666666, panelAmps, "Car instrument panel amperage calculation failed");

                Ohm panelOhms = batteryVoltage / panelAmps;

                Assert.AreEqual((Ohm)72.0, panelOhms, "Car instrument panel resistance calculation failed");

                // Headlights (typically 60 W): 5 A each.
                Ampere lightsAmps = (Watt)60.0 / batteryVoltage;

                Assert.AreEqual((Ampere)5.0, lightsAmps, "Car headlights amperage calculation failed");

                Ohm lightsOhms = batteryVoltage / lightsAmps;

                Assert.AreEqual((Ohm)2.4, lightsOhms, "Car headlights resistance calculation failed");

                // Starter Motor (typically 1–2 kW): 80-160 A
                Ampere starterAmps = (Watt)1500.0 / batteryVoltage;

                Assert.AreEqual((Ampere)125.0, starterAmps, "Car starter motor amperage calculation failed");

                Ohm starterOhms = batteryVoltage / starterAmps;

                Assert.AreEqual((Ohm)0.096, starterOhms, "Car starter motor resistance calculation failed");
            }
Example #12
0
 private void OnTriggerEnter(Collider other)
 {
     if (other.tag == "Melee")
     {
         Weapon wepon = other.GetComponent <Weapon>();
         curHealth -= wepon.damage;
         Vector3 reactVec = transform.position - other.transform.position;
         StartCoroutine(onDamage(reactVec));
     }
     else if (other.tag == "Volt")
     {
         Volt volt = other.GetComponent <Volt>();
         curHealth -= volt.damage;
         Vector3 reactVec = other.transform.position - transform.position;
         reactVec.y = 0;
         Destroy(other.gameObject);
         StartCoroutine(onDamage(reactVec));
     }
 }
        /// <summary>
        /// 更新悬垂塔的的覆冰率
        /// </summary>
        /// <param name="wkDdts"></param>
        /// <param name="iceArea"></param>
        public void UpateIceCovrage(List <ElecCalsWorkCondition> wkDdts, string iceArea)
        {
            //在悬垂塔的BreakIceCoverPerII,UnbaIceCoverPerII指的应该是地线开断的情况
            var    backIceWkCdt = wkDdts.Where(item => item.Name == "最大覆冰").FirstOrDefault();
            double iceThick     = backIceWkCdt == null ? 0 : backIceWkCdt.IceThickness;

            Catagory           = ElecCalsToolBox.GetCatogory(Volt.ToString());
            BreakIceCoverPer   = ElecCalsToolBox.UBlanceR("悬垂塔", iceThick, Catagory);
            BreakIceCoverPerII = ElecCalsToolBox.UBlanceR("耐张塔", iceThick, Catagory);

            //1:考虑断线覆冰率 2:不考虑断线覆冰率
            BreakIceCoverPara = iceThick >= 20  ? 1 : 2;

            if (iceArea == "轻冰区")
            {
                UnbaIceCoverPerI  = 1;
                UnbaIceCoverPerII = 1;
            }
            else
            {
                UnbaIceCoverPerI  = ElecCalsToolBox.IBlanceR2("悬垂塔", Catagory);
                UnbaIceCoverPerII = ElecCalsToolBox.IBlanceR2("耐张塔", Catagory);
            }
        }
 private Volt ConvertVolt(Volt v, int i)
 {
     return(new Volt(v.GetVolts() / i));
 }
        public Volt Get3Volt()
        {
            Volt v = GetVolt();

            return(ConvertVolt(v, 40));
        }
Example #16
0
 private Volt ConvertVolt(Volt volt, int v)
 {
     return(new Volt(volt.GetVolts() / v));
 }
Example #17
0
        public Volt Get3Volt()
        {
            Volt volt = socket.GetVolt();

            return(ConvertVolt(volt, 40));
        }
Example #18
0
        public Volt get3Volt()
        {
            Volt v = getVolt();

            return(convertVolt(v, 40));
        }
Example #19
0
        public Volt get12Volt()
        {
            Volt v = getVolt();

            return(convertVolt(v, 10));
        }
Example #20
0
        /// <summary>
        /// Get12s the volt.
        /// </summary>
        /// <returns>
        /// returning voltage
        /// </returns>
        public Volt Get12Volt()
        {
            Volt v = this.GetVolt();

            return(this.ConvertVolt(v, 10));
        }
Example #21
0
        /// <summary>
        /// Get3s the volt.
        /// </summary>
        /// <returns>
        /// returning voltage
        /// </returns>
        public Volt Get3Volt()
        {
            Volt v = this.GetVolt();

            return(this.ConvertVolt(v, 40));
        }
        public Volt Get12Volt()
        {
            Volt volt = GetVolt();

            return(ConvertVolt(volt, 10));
        }
Example #23
0
 public Volt convertVolt(Volt v, int i)
 {
     return(new Volt(v.getVolts() / i));
 }
Example #24
0
        private IWeapon CreateFromRecognizedString(string recognizedName, IWeapon currentWeapon, float sensitivityScale)
        {
            var weaponName = recognizedName.FindMostSimilar(WeaponNamesToTypes.Keys);

            WeaponNamesToTypes.TryGetValue(weaponName, out var weaponType);

            var     inGameName = weaponType.GetWeaponName();
            IWeapon result;

            if (currentWeapon?.IsTheSameWeapon(inGameName) ?? weaponType == WeaponAL.Unknown)
            {
                return(currentWeapon);
            }

            var numOfMods = WeaponTypesToNumOfMods[weaponType];

            switch (weaponType)
            {
            case WeaponAL.Wingman:
            case WeaponAL.MASTIFF:
            case WeaponAL.KRABER:
            case WeaponAL.Longbow:
            case WeaponAL.Peacekeeper:
            case WeaponAL.TripleTake:
            case WeaponAL.ChargedRifle:
                result = new NonAdjustableWeapon(inGameName, 0, recognizedName, numOfMods);
                break;

            case WeaponAL.Havoc:
                result = new Havoc(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.Devotion:
                result = new Devotion(inGameName, recognizedName, numOfMods);
                break;

            case WeaponAL.LStar:
                result = new LStar(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.Flatline:
                result = new Flatline(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.Hemlok:
                result = new Hemlok(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.Prowler:
                result = new Prowler(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.RE45:
                result = new RE45(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.R301:
                result = new R301(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.R99:
                result = new R99(inGameName, 1.5, recognizedName, numOfMods);
                break;

            case WeaponAL.Volt:
                result = new Volt(inGameName, 1.5, recognizedName, numOfMods);
                break;

            case WeaponAL.Alternator:
                result = new Alternator(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.G7Scout:
                result = new G7Scout(inGameName, 2, recognizedName, numOfMods);
                break;

            case WeaponAL.Spitfire:
                result = new Spitfire(inGameName, recognizedName, numOfMods);
                break;

            case WeaponAL.Unknown:
            case WeaponAL.EVA8Auto:
            case WeaponAL.Mozambique:
            case WeaponAL.P2020:
                result = new RegularAdjustmentWeapon(inGameName, 2, recognizedName, numOfMods);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            result.SetSensitivityScale(sensitivityScale);
            this.OnWeaponCreated(result);
            return(result);
        }