private IDevice GetDevice(string sn, string name) { string cirName = ""; try { cirName = DecodeName(name); var device = new PD100_Device(sn, cirName); device.MetrologicGroupNumber = metrologicGroops.GetMetrologicGroup(device); return(device); } catch (PressureSensorTest.MetrologicGroupNotFounException) { StateProcess = StateProcessEnum.MetrologicGroupNotFound; log.Error($"Не удалось разобрать название ПД: <{name}>, <{cirName}>"); throw; } catch (Exception ex) { log.Error($"Ошибка парсинга имени: {ex.ToString()}; {ex.Message}"); StateProcess = StateProcessEnum.ParsingNameError; throw new ParseException(); } }
private async void Run() { OutButtonsEnable = false; cts = new CancellationTokenSource(); var name = new DeviceName(TitlesDevice[TitleDeviceIndex], RangeTypesLabels[RangeTypeLabelIndex], RangeRow[RangeRowIndex], Modifications[ModificationIndex], ThreadTypes[ThreadTypeIndex], Modification2[Modification2Index], Classes[ClassIndex], OutPortType[OutPortTypeIndex]); var device = new PD100_Device(SerialNumber, name); runState = true; ControlsToRunMode(); await Task.Run(() => stand.Start(device, cts)); ControlsToStopMode(); runState = false; lockStart = false; }