コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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;
        }