void UpdateIVIDCPwrOutput() { if (iviDCPower == null) { return; } try { //конфигурация и запуск источника питания iviDCPower.Outputs["0"].ConfigureCurrentLimit(curLimitBehavior, curLimit1); iviDCPower.Outputs["0"].VoltageLevel = voltageLevel1; iviDCPower.Outputs["0"].Enabled = bOnOff1; //непосредственный запуск iviDCPower.Outputs["1"].ConfigureCurrentLimit(curLimitBehavior, curLimit2); iviDCPower.Outputs["1"].VoltageLevel = voltageLevel2; iviDCPower.Outputs["1"].Enabled = bOnOff2; //непосредственный запуск if (iviDCPower.Outputs["1"].Enabled != bOnOff2 || iviDCPower.Outputs["0"].Enabled != bOnOff1) { int k = 9; k++; } bUpdateDone = true; } catch (Exception ex) { StatusDCUpdate?.Invoke(ex.Message); } }
public void CloseDCIVISession() { bNeedExit = true; if (iviDCPower != null) { try { iviDCPower.Outputs["0"].Enabled = false; iviDCPower.Outputs["1"].Enabled = false; iviDCPower.Close(); iviDCPower = null; bInitialized = false; } catch (Exception ex) { StatusDCUpdate?.Invoke(ex.Message); } } }
/// <summary> /// Инициализация источника питания /// </summary> void InitDC() { try { iviDCPower = IviDCPwr.Create(DC_DeviceName, true, true); iviDCPower.DriverOperation.Warning += DriverOperationDC_Warning; //iviDCPower.Outputs["0"].OvpEnabled = true; ConfigureChannelName(); ConfigureCurrentlimitBehavior(); StatusDCUpdate?.Invoke("SUCCESS"); //bOnOff1 = true; bInitialized = true; thrDC = new Thread(updateDCProcessing); thrDC.Start(); } catch (Exception ex) { StatusDCUpdate?.Invoke(ex.Message); } }