コード例 #1
0
        public List <string> GetPressureRowLabels(int rangeTypeIndex, int classIndex)
        {
            List <string> row = new List <string>();

            if (pressSystemInfo == null)
            {
                return(row);
            }
            RangeTypeEnum rangeType   = RangeTypeFromLabel(RangeTypesLabels[rangeTypeIndex]);
            float         precision   = Convert.ToSingle(Classes[classIndex]);
            PressureRow   pressureRow = new PressureRow(rangeType, pressSystemInfo, precision);
            List <int>    pressRow    = pressureRow.GetPressureRow();

            if (pressRow != null)
            {
                foreach (int item in pressRow)
                {
                    row.Add(GetPressLabel(item));
                }
            }
            else
            {
                row.Add("-----");
            }
            return(row);
        }
コード例 #2
0
        public void CheckRangeSupport(IDevice device)
        {
            if (device.Range.RangeType != RangeTypeEnum.DV)
            {
                bool result = pressSystemInfo.CheckRange(device.Range.Max_Pa, device.Range.Min_Pa);
                if (!result)
                {
                    throw new DeviceNotSupportByPsysException("Диапазон изделия превышает диапазон пневмосистемы");
                }
            }
            else
            {
                if (!pressSystemInfo.CheckRange(0, device.Range.Max_Pa))
                {
                    throw new DeviceNotSupportByPsysException("Диапазон изделия превышает диапазон пневмосистемы");
                }
            }
            var pressureRow = new PressureRow(device.Range.RangeType, pressSystemInfo, device.Precision);

            if (pressureRow.SearshController(device.Range.Max_Pa, device.Range.Min_Pa, device.Range.Max_Pa, device.Precision) < 0)
            {
                throw new DeviceNotSupportByPsysException("Система не может обеспечить точность установки давления");
            }
        }