/// <summary> /// Конструктор объектов испытуемой батареии /// </summary> /// <param name="A01">Устройство измерения напряжения и тока батареии</param> /// <param name="A02">Устройство переключения реле заряда/разряда</param> /// <param name="aiVoltageCahnnelNo">Номер аналогового входа для измерения напряжения</param> /// <param name="aiCurrentCahnnelNo">Номер аналогового входа для измерения тока</param> /// <param name="doChargeRelayCahnnelNo">Номер дискретного выхода для переключения реле заряда</param> /// <param name="doDischargeRelayChannelNo">Номер дискретного выхода для переключения реле разряда</param> public BatterySet(BatteryType batteryType, Adam6017 A01, Adam6050 A02, int aiVoltageCahnnelNo, int aiCurrentCahnnelNo, int doChargeRelayCahnnelNo, int doDischargeRelayChannelNo) { this.A01 = A01; this.A02 = A02; A01.DataReady += OnDataReady; A02.DataReady += OnDataReady; TypeOfBattery = batteryType; VoltageChannelNo = aiVoltageCahnnelNo; CurrentCahnnelNo = aiCurrentCahnnelNo; ChargeRelayChannelNo = doChargeRelayCahnnelNo; DischargeRelayChannelNo = doDischargeRelayChannelNo; }
public BanchModel() { A01 = new Adam6017("A01", "Battery parameters measure", 1000); A02 = new Adam6050("A02", "Switch relay for charge and discharge", 1000); SingleBatterySet = new BatterySet(BatteryType.SingleBattery, A01, A02, (int)ChannelsNumbers.SingleBatteryVoltageMeassure, (int)ChannelsNumbers.SingleBatteryCurrentMeassure, (int)ChannelsNumbers.SingleBatteryChargeRelay, (int)ChannelsNumbers.SingleBatteryDischargeRelay); SingleBatterySet.VoltageCoverter = new LinearConverter(2.99, 0.0, "VCONV", "Конвертирование входного напряжения в напряжение батареии"); SingleBatterySet.CurrentCoverter = new LinearConverter(0.605, 0.0, "CCONV", "Конвертирование входного напряжения в ток батареии"); BatteryWithCNMSet = new BatterySet(BatteryType.BatteryUsingCNM, A01, A02, (int)ChannelsNumbers.BatteryWithCMNVoltageMeassure, (int)ChannelsNumbers.BatteryWithCMNCurrentMeassure, (int)ChannelsNumbers.BatteryWithCMNChargeRelay, (int)ChannelsNumbers.BatteryWithCMNDischargeRelay); BatteryWithCNMSet.VoltageCoverter = new LinearConverter(3.0, 0.0, "VCONV", "Конвертирование входного напряжения в напряжение батареии"); BatteryWithCNMSet.CurrentCoverter = new LinearConverter(0.59, -0.0124, "CCONV", "Конвертирование входного напряжения в ток батареии"); SingleBatterySet.StageStart += ResultsModel.OnStageStarted; BatteryWithCNMSet.StageStart += ResultsModel.OnStageStarted; SingleBatterySet.StageComplete += ResultsModel.OnStageCompleted; BatteryWithCNMSet.StageComplete += ResultsModel.OnStageCompleted; SingleBatterySet.StageTick += ResultsModel.OnStageCompleted; BatteryWithCNMSet.StageTick += ResultsModel.OnStageCompleted; StopAnyWork = new ManualResetEvent(false); }