class BatteryInfo(): def __init__(self,celltype): self.CellMaxUSBTemp=55 self.AllowChgMinTemp=0 self.AllowDsChgTemp=-5 self.AvgVolGap=1 self.AvgCellTempGap=10 self.AvgOtherTempGap=30 self.PackOTlmt=65 self.PackUTlmt=-20 self.OtherOTlmt=91 self.OtherUTlmt=-20 self.FaultCount=100 if celltype==1: #6040 self.Capacity = 41 self.PackFullChrgVolt=69.99 self.CellFullChrgVolt=4.2 self.CellVoltNums=17 self.CellTempNums=4 self.OtherTempNums=5 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 3.5348, 8.3581, 13.181, 18.004, 22.827, 27.651, 32.474, 37.297, 42.120, 46.944, 51.767, 56.590, 61.413, 66.237, 71.060, 75.883, 80.707, 85.530, 90.353, 95.176, 100, 105] self.LookTab_OCV = [3.3159, 3.4384, 3.4774, 3.5156, 3.5478, 3.5748, 3.6058, 3.6238, 3.638, 3.6535, 3.6715, 3.6951, 3.7279, 3.7757, 3.8126, 3.8529, 3.8969, 3.9446, 3.9946, 4.0491, 4.109, 4.183, 4.263] self.BLVol = 3 self.CellOVlmt=4#原为5 self.CellUVlmt=3.7#原为2 self.CantChrgVol=3 elif celltype==2: #4840 self.Capacity = 41 self.PackFullChrgVolt=69.99 self.CellFullChrgVolt=4.2 self.CellVoltNums=14 self.CellTempNums=4 self.OtherTempNums=5 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 3.5348, 8.3581, 13.181, 18.004, 22.827, 27.651, 32.474, 37.297, 42.120, 46.944, 51.767, 56.590, 61.413, 66.237, 71.060, 75.883, 80.707, 85.530, 90.353, 95.176, 100, 105] self.LookTab_OCV = [3.3159, 3.4384, 3.4774, 3.5156, 3.5478, 3.5748, 3.6058, 3.6238, 3.638, 3.6535, 3.6715, 3.6951, 3.7279, 3.7757, 3.8126, 3.8529, 3.8969, 3.9446, 3.9946, 4.0491, 4.109, 4.183, 4.263] self.BLVol = 3 self.CellOVlmt=5 self.CellUVlmt=2 self.CantChrgVol=3 elif celltype==3: #力信50ah三元电芯 self.Capacity = 51 self.PackFullChrgVolt=80 self.CellFullChrgVolt=4.2 self.CellVoltNums=20 self.CellTempNums=4 self.OtherTempNums=1 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105] self.LookTab_OCV = [3.357, 3.455, 3.493, 3.540, 3.577, 3.605, 3.622, 3.638, 3.655, 3.677, 3.707, 3.757, 3.815, 3.866, 3.920, 3.976, 4.036, 4.099, 4.166, 4.237, 4.325, 4.415] self.BLVol = 3 self.CellOVlmt=5 self.CellUVlmt=2 self.CantChrgVol=3 elif celltype==4: #CATL 50ah三元电芯 self.Capacity = 50 self.PackFullChrgVolt=80 self.CellFullChrgVolt=4.2 self.CellVoltNums=20 self.CellTempNums=2 self.OtherTempNums=0 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=-1 self.BalCurrent=0.015 self.LookTab_SOC = [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105] self.LookTab_OCV = [3.152, 3.397, 3.438, 3.481, 3.523, 3.560, 3.586, 3.604, 3.620, 3.638, 3.661, 3.693, 3.748, 3.803, 3.853, 3.903, 3.953, 4.006, 4.063, 4.121, 4.183, 4.253] self.BLVol = 3 self.CellOVlmt=5 self.CellUVlmt=2 self.CantChrgVol=3 elif celltype==99: #60ah磷酸铁锂电芯 self.Capacity = 54 self.PackFullChrgVolt=69.99 self.CellFullChrgVolt=3.5 self.OcvInflexionBelow=3.285 self.OcvInflexion2=3.296 self.OcvInflexion3=3.328 self.OcvInflexionAbove=3.4 self.CellVoltNums=20 self.CellTempNums=4 self.OtherTempNums=5 self.FullChrgSoc=98 self.PeakSoc=59 self.PeakVoltLowLmt=3.35 self.PeakVoltUpLmt=3.4 self.PeakCellVolt=[3.362,3.363,3.365,3.366,3.367] self.PackCrntDec=1 self.BalCurrent=0.015 self.LookTab_SOC = [0.00, 2.40, 6.38, 10.37, 14.35, 18.33, 22.32, 26.30, 30.28, 35.26, 40.24, 45.22, 50.20, 54.19, 58.17, 60.16, 65.14, 70.12, 75.10, 80.08, 84.06, 88.05, 92.03, 96.02, 100.00] self.LookTab_OCV = [2.7151, 3.0298, 3.1935, 3.2009, 3.2167, 3.2393, 3.2561, 3.2703, 3.2843, 3.2871, 3.2874, 3.2868, 3.2896, 3.2917, 3.2967, 3.3128, 3.3283, 3.3286, 3.3287, 3.3288, 3.3289, 3.3296, 3.3302, 3.3314, 3.3429] self.BLVol = 3 self.CellOVlmt=4 self.CellUVlmt=2 self.CantChrgVol=2.6 elif celltype==100: self.Capacity = 14 self.PackFullChrgVolt=80 self.CellFullChrgVolt=4.2 self.CellVoltNums=10 self.CellTempNums=1 self.FullChrgSoc=98 self.PeakSoc=57 self.PackCrntDec=1 self.LookTab_SOC = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100] self.LookTab_OCV = [2.841, 3.064, 3.181, 3.261, 3.322, 3.372, 3.413, 3.445, 3.464, 3.475, 3.482, 3.489, 3.495, 3.502, 3.51, 3.519, 3.529, 3.537, 3.545, 3.553, 3.562, 3.57, 3.578, 3.586, 3.594, 3.602, 3.611, 3.621, 3.631, 3.642, 3.655, 3.668, 3.681, 3.694, 3.708, 3.722, 3.735, 3.748, 3.761, 3.771, 3.782, 3.791, 3.799, 3.807, 3.81, 3.814, 3.82, 3.826, 3.832, 3.836, 3.841, 3.847, 3.852, 3.856, 3.861, 3.866, 3.871, 3.875, 3.88, 3.885, 3.891, 3.896, 3.903, 3.91, 3.917, 3.926, 3.936, 3.944, 3.953, 3.961, 3.969, 3.976, 3.983, 3.991, 3.997, 4.004, 4.01, 4.016, 4.022, 4.026, 4.03, 4.034, 4.037, 4.041, 4.044, 4.048, 4.052, 4.056, 4.06, 4.064, 4.069, 4.075, 4.081, 4.088, 4.097, 4.106, 4.116, 4.129, 4.145, 4.164] self.CellTempHighLv1=45 self.CellTempHighLv2=50 self.CellTempLowLv1=-20 self.CellTempLowLv2=-25 self.CellTempDiffLv1=10 self.CellTempDiffLv2=15 self.CellTempRate=0.99 self.CellOvLv1=4.3 self.CellOvLv2=4.35 self.CellUvLv1=2.8 self.CellUvLv2=2.5 self.CellVoltDiffLv1=0.3 self.CellVoltDiffLv2=0.5 self.PackVoltOvLv1=self.CellOvLv1*self.CellVoltNums self.PackVoltOvLv2=self.CellOvLv2*self.CellVoltNums self.PackVoltUvLv1=self.CellUvLv1*self.CellVoltNums self.PackVoltUvLv2=self.CellUvLv2*self.CellVoltNums self.PackChgOc=1.5*self.Capacity self.PackDisChgOc=3*self.Capacity self.SocJump=3 self.SocClamp=3 self.BLVol = 3 self.CellOVlmt=5 self.CellUVlmt=2 self.CantChrgVol=3 else: print('未找到对应电池编号!!!') # sys.exit()