|
|
@@ -0,0 +1,185 @@
|
|
|
+using StressClient.Common;
|
|
|
+
|
|
|
+namespace Vbdsm.Model
|
|
|
+{
|
|
|
+ public class PowerEnergy
|
|
|
+ {
|
|
|
+ public PowerEnergy()
|
|
|
+ {
|
|
|
+ var list_i = GetI();
|
|
|
+ ia = list_i[0];
|
|
|
+ ib = list_i[1];
|
|
|
+ ic = list_i[2];
|
|
|
+ var listU_220 = GetU_220();
|
|
|
+ ua = listU_220[0];
|
|
|
+ ub = listU_220[1];
|
|
|
+ uc = listU_220[2];
|
|
|
+ var listU_380 = GetU_380();
|
|
|
+ uab = listU_380[0];
|
|
|
+ ubc = listU_380[1];
|
|
|
+ uca = listU_380[2];
|
|
|
+ var listPf = GetPf();
|
|
|
+ pfa = listPf[0];
|
|
|
+ pfb = listPf[1];
|
|
|
+ pfc = listPf[2];
|
|
|
+
|
|
|
+ f = Helper.GetRan(5000, 20, 100);
|
|
|
+ }
|
|
|
+
|
|
|
+ public decimal pa => Math.Floor(ia * ua * pfa) / 1000;
|
|
|
+ public decimal pb => Math.Floor(ib * ub * pfb) / 1000;
|
|
|
+ public decimal pc => Math.Floor(ic * uc * pfc) / 1000;
|
|
|
+ public decimal p => pa + pb + pc;
|
|
|
+ public decimal qa => Math.Floor(ia * ua * (1 - pfa)) / 1000;
|
|
|
+ public decimal qb => Math.Floor(ib * ub * (1 - pfb)) / 1000;
|
|
|
+ public decimal qc => Math.Floor(ic * uc * (1 - pfc)) / 1000;
|
|
|
+ public decimal q => qa + qb + qc;
|
|
|
+ public decimal pfa { get; }
|
|
|
+ public decimal pfb { get; }
|
|
|
+ public decimal pfc { get; }
|
|
|
+ public decimal pf => Math.Floor(p * 100 / (ia * ua / 1000 + ib * ub / 1000 + ic * uc / 1000)) / 100;
|
|
|
+ public decimal ia { get; }
|
|
|
+ public decimal ib { get; }
|
|
|
+ public decimal ic { get; }
|
|
|
+ public decimal iz => Helper.GetRan(1100, 100, 10);
|
|
|
+ public decimal ua { get; }
|
|
|
+ public decimal ub { get; }
|
|
|
+ public decimal uc { get; }
|
|
|
+ public decimal uab { get; }
|
|
|
+ public decimal ubc { get; }
|
|
|
+ public decimal uca { get; }
|
|
|
+
|
|
|
+ //需量负荷
|
|
|
+ public decimal dp => Helper.GetRan((int)Math.Floor(p * 1000), 500, 1000);
|
|
|
+
|
|
|
+ //负荷率
|
|
|
+ public decimal pv => Helper.GetRan(8500, 1500, 100);
|
|
|
+
|
|
|
+ public decimal tpe { get; set; }
|
|
|
+ public decimal tqe { get; set; }
|
|
|
+ public decimal fpe { get; set; }
|
|
|
+ public decimal fqe { get; set; }
|
|
|
+ public decimal tps { get; set; }
|
|
|
+ public decimal tqs { get; set; }
|
|
|
+ public decimal fps { get; set; }
|
|
|
+ public decimal fqs { get; set; }
|
|
|
+ public decimal uaw => GetUw(ua, 220);
|
|
|
+ public decimal ubw => GetUw(ub, 220);
|
|
|
+ public decimal ucw => GetUw(uc, 220);
|
|
|
+ public decimal uabw => GetUw(uab, 380);
|
|
|
+ public decimal ubcw => GetUw(ubc, 380);
|
|
|
+ public decimal ucaw => GetUw(uca, 380);
|
|
|
+ public decimal fw => f - 50;
|
|
|
+ public decimal f { get; }
|
|
|
+ public decimal inbalance => GetUnbalance_I();
|
|
|
+ public decimal unbalance => GetUnbalance_U();
|
|
|
+ public decimal t => Helper.GetRan(42, 3);
|
|
|
+ public decimal t2 { get; set; }
|
|
|
+ public decimal t3 { get; set; }
|
|
|
+ public decimal t4 { get; set; }
|
|
|
+ public decimal t5 { get; set; }
|
|
|
+ public decimal t6 { get; set; }
|
|
|
+ public decimal t7 { get; set; }
|
|
|
+ public decimal t8 { get; set; }
|
|
|
+
|
|
|
+ public PowerEnergy SetEngine(decimal pe, decimal qe, decimal ps, decimal qs)
|
|
|
+ {
|
|
|
+ tpe = pe;
|
|
|
+ tqe = qe;
|
|
|
+ fpe = 0;
|
|
|
+ fqe = 0;
|
|
|
+ tps = ps;
|
|
|
+ tqs = qs;
|
|
|
+ fps = 0;
|
|
|
+ fqs = 0;
|
|
|
+ return this;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<decimal> GetU_220()
|
|
|
+ {
|
|
|
+ var ran = new Random().Next(2303, 2308);
|
|
|
+ var list = new List<decimal>
|
|
|
+ {
|
|
|
+ Helper.GetRan(ran * 10, 150, 100),
|
|
|
+ Helper.GetRan(ran * 10, 250, 100),
|
|
|
+ Helper.GetRan(ran * 10, 150, 100)
|
|
|
+ };
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<decimal> GetU_380()
|
|
|
+ {
|
|
|
+ var ran = new Random().Next(4003, 4008);
|
|
|
+ var list = new List<decimal>
|
|
|
+ {
|
|
|
+ Helper.GetRan(ran * 10, 150, 100),
|
|
|
+ Helper.GetRan(ran * 10, 250, 100),
|
|
|
+ Helper.GetRan(ran * 10, 150, 100)
|
|
|
+ };
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<decimal> GetI()
|
|
|
+ {
|
|
|
+ var ran = new Random().Next(1000, 1200);
|
|
|
+ var list = new List<decimal>
|
|
|
+ {
|
|
|
+ Helper.GetRan(ran * 100, 450, 100),
|
|
|
+ Helper.GetRan(ran * 100, 350, 100),
|
|
|
+ Helper.GetRan(ran * 100, 550, 100)
|
|
|
+ };
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ public decimal GetUw(decimal u, decimal un)
|
|
|
+ {
|
|
|
+ var w = (u - un) * 100 / un;
|
|
|
+ w = Math.Floor(w * 100) / 100;
|
|
|
+ return w;
|
|
|
+ }
|
|
|
+
|
|
|
+ private List<decimal> GetPf()
|
|
|
+ {
|
|
|
+ var ran = new Random().Next(955, 965);
|
|
|
+ var list = new List<decimal>
|
|
|
+ {
|
|
|
+ Helper.GetRan(ran * 10, 50, 10000),
|
|
|
+ Helper.GetRan(ran * 10, 50, 10000),
|
|
|
+ Helper.GetRan(ran * 10, 50, 10000)
|
|
|
+ };
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ private decimal GetUnbalance_I()
|
|
|
+ {
|
|
|
+ var arr = new decimal[3];
|
|
|
+ arr[0] = ia;
|
|
|
+ arr[1] = ib;
|
|
|
+ arr[2] = ic;
|
|
|
+ var max = arr.Max();
|
|
|
+ var min = arr.Min();
|
|
|
+ var i = (max - min) * 100 / max;
|
|
|
+ i = Math.Floor(i * 100) / 100;
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+
|
|
|
+ private decimal GetUnbalance_U()
|
|
|
+ {
|
|
|
+ var arr = new decimal[3];
|
|
|
+ arr[0] = ua;
|
|
|
+ arr[1] = ub;
|
|
|
+ arr[2] = uc;
|
|
|
+ var max = arr.Max();
|
|
|
+ var ave = arr.Average();
|
|
|
+ var u = (max - ave) * 100 / ave;
|
|
|
+ u = Math.Floor(u * 100) / 100;
|
|
|
+ return u;
|
|
|
+ }
|
|
|
+
|
|
|
+ public string GetStr()
|
|
|
+ {
|
|
|
+ var str = $"p={p}&pa={pa}&pb={pb}&pc={pc}&q={q}&qa={qa}&qb={qb}&qc={qc}&pf={pf}&pfa={pfa}&pfb={pfb}&pfc={pfc}&ia={ia}&ib={ib}&ic={ic}&iz={iz}&ua={ua}&ub={ub}&uc={uc}&uab={uab}&ubc={ubc}&uca={uca}&dp={dp}&pv={pv}&uaw={uaw}&ubw={ubw}&ucw={ucw}&uabw={uabw}&ubcw={ubcw}&ucaw={ucaw}&f={f}&fw={fw}&inbalance={inbalance}&unbalance={unbalance}&t={t}&t2={t2}&t3={t3}&t4={t4}&t5={t5}&t6={t6}&t7={t7}&t8={t8}&tps={tps}&tqs={tqs}&fps={fps}&fqs={fqs}&tpe={tpe}&tqe={tqe}&fpe={fpe}&fqe={fqe}";
|
|
|
+ return str;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|