public PD100_Device(string serialNumber, DeviceName name, int metrologicGroup)
 {
     try
     {
         SerialNumber          = serialNumber;
         Name                  = name;
         MetrologicGroupNumber = metrologicGroup;
         Range                 = new DeviceRange(GetRangePaByPressureLabel(Name.Range), Name.RangeType);
         Precision             = Convert.ToSingle(Name.Precision);
         if (Name.Title == "ПД100")
         {
             // У ПД100 любого класса точность должна быть не хуже 0.5
             TargetPrecision = Precision > 0.5F ? 0.5F : Precision;
         }
         else
         {
             TargetPrecision = Precision;
         }
         TargetVariation = TargetPrecision / 2;
         OutPort         = OutPortEnum.Current;
         if (Name.OutPortLabel == DeviceName.RS485label || Name.OutPortLabel == "-" + DeviceName.RS485label)
         {
             OutPort = OutPortEnum.RS485;
         }
     }
     catch
     {
         throw new ParseDeviceNameException();
     }
 }
 public PD100_Device(string serialNumber, DeviceName name) : this(serialNumber, name, 0)
 {
 }