public static void AddPlainEnumProprety(Driver driver, byte no, string propertyName, byte offset, string parameter1Name, string parameter2Name, int startValue = 0, int minBit = 0, int maxBit = 0, bool useMask = false, bool highByte = false, bool mptHighByte = false, bool mptLowByte = false) { var property = new DriverProperty() { IsAUParameter = true, No = no, Name = propertyName, Caption = propertyName, Default = "0", BitOffset = offset, MinBit = minBit, MaxBit = maxBit, UseMask = useMask, HighByte = highByte, MptHighByte = mptHighByte, MptLowByte = mptLowByte }; var parameter1 = new DriverPropertyParameter() { Name = parameter1Name, Value = startValue.ToString() }; var parameter2 = new DriverPropertyParameter() { Name = parameter2Name, Value = (startValue + 1).ToString() }; property.Parameters.Add(parameter1); property.Parameters.Add(parameter2); driver.Properties.Add(property); }
public static void AddPropertyParameter(DriverProperty property, string name, int value) { var parameter = new DriverPropertyParameter() { Name = name, Value = value.ToString(), }; property.Parameters.Add(parameter); }
public static void AddBoolProprety(Driver driver, byte no, string propertyName, byte offset) { var property = new DriverProperty() { IsAUParameter = true, No = no, Name = propertyName, Caption = propertyName, DriverPropertyType = DriverPropertyTypeEnum.BoolType, BitOffset = offset }; driver.Properties.Add(property); }
public static void AddIntProprety(Driver driver, byte no, string propertyName, int offset, int defaultValue, int min, int max, bool useMask = false, bool highByte = false) { var property = new DriverProperty() { IsAUParameter = true, No = no, Name = propertyName, Caption = propertyName, DriverPropertyType = DriverPropertyTypeEnum.IntType, BitOffset = offset, Default = defaultValue.ToString(), Min = (ushort)min, Max = (ushort)max, UseMask = useMask, HighByte = highByte }; driver.Properties.Add(property); }
public static void Create(Driver driver) { driver.HasConfigurationProperties = true; var property1 = new DriverProperty() { IsAUParameter = true, No = 0x82, Name = "Конфигурация релейного модуля", Caption = "Конфигурация релейного модуля", Default = "1" }; ConfigurationDriverHelper.AddPropertyParameter(property1, "Отключено/Замкнуто", 1); ConfigurationDriverHelper.AddPropertyParameter(property1, "Отключено/Мерцает", 2); ConfigurationDriverHelper.AddPropertyParameter(property1, "Замкнуто/Отключено", 3); ConfigurationDriverHelper.AddPropertyParameter(property1, "Замкнуто/Мерцает", 4); ConfigurationDriverHelper.AddPropertyParameter(property1, "Мерцает/Отключено", 5); ConfigurationDriverHelper.AddPropertyParameter(property1, "Мерцает/Замкнуто", 6); driver.Properties.Add(property1); ConfigurationDriverHelper.AddIntProprety(driver, 0x83, "Задержка на пуск", 0, 0, 0, 250); ConfigurationDriverHelper.AddIntProprety(driver, 0x83, "Время удержания", 0, 0, 0, 250, false, true); }
public static void Create(Driver driver) { driver.HasConfigurationProperties = true; ConfigurationDriverHelper.AddIntProprety(driver, 0x8b, "Максимальное время перезапуска, 0.1 с", 0, 1, 1, 255); ConfigurationDriverHelper.AddIntProprety(driver, 0x8b, "Время разновременного пуска, с", 0, 1, 1, 255); if (driver.DriverType != DriverType.Pump) { ConfigurationDriverHelper.AddPlainEnumProprety(driver, 0x8d, "Логика", 0 + 8, "на входах 1 и 2 два обычных датчика", "на входах 1 и 2 два обычных датчика"); } var property3 = new DriverProperty() { IsAUParameter = true, No = 0x8b, Name = "разрешение функции УЗН", Caption = "разрешение функции УЗН", DriverPropertyType = DriverPropertyTypeEnum.BoolType, BitOffset = 3 + 8 }; driver.Properties.Add(property3); var property4 = new DriverProperty() { IsAUParameter = true, No = 0x8b, Name = "наличие в прошивке логики работы с УЗН", Caption = "наличие в прошивке логики работы с УЗН", DriverPropertyType = DriverPropertyTypeEnum.BoolType, BitOffset = 7 + 8 }; driver.Properties.Add(property4); if (driver.DriverType == DriverType.Pump) { ConfigurationDriverHelper.AddBoolProprety(driver, 0x8b, "ЭКМ на выходе насоса", 0); ConfigurationDriverHelper.AddBoolProprety(driver, 0x8b, "УЗН Старт", 1); } else { ConfigurationDriverHelper.AddBoolProprety(driver, 0x8b, "ДД/ДУ Пуск", 0); ConfigurationDriverHelper.AddBoolProprety(driver, 0x8b, "ДД/ДУ Стоп", 1); } if (driver.DriverType == DriverType.Pump) { ConfigurationDriverHelper.AddBoolProprety(driver, 0x8b, "УЗН Стоп", 2); } if (driver.DriverType == DriverType.DrenazhPump) { ConfigurationDriverHelper.AddBoolProprety(driver, 0x8b, "Авария", 2); } if (driver.DriverType == DriverType.CompensationPump) { ConfigurationDriverHelper.AddBoolProprety(driver, 0x8b, "Авария", 2); } if (driver.DriverType == DriverType.Pump) { ConfigurationDriverHelper.AddIntProprety(driver, 0x84, "уставка времени ожидания выхода насоса на режим, с", 0, 3, 3, 30); } if (driver.DriverType == DriverType.JokeyPump) { ConfigurationDriverHelper.AddIntProprety(driver, 0x84, "уставка времени ожидания восстановления давления, мин", 0, 2, 2, 255); } if (driver.DriverType == DriverType.CompensationPump) { ConfigurationDriverHelper.AddIntProprety(driver, 0x84, "уставка времени аварии пневмоемкости, мин", 0, 2, 2, 255); } }