Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - 596039

Страницы: [1] 2
1
Ошибки / Re: Серый экран web-клиента
« : 20 Февраля 2019, 18:28:03 »
Добрый день! Можно и нам инструкцию, у нас такие же проблемы.

2
Ваши проекты / Бизнес Центры
« : 22 Августа 2017, 01:15:53 »
Добавлю и свои пять копеек. Буду благодарен за конструктивную критику.

3
Вытяжка

4
Раз пошла такая пьянка... Может кому пригодится для вентиляции.

5
Ну как минимум я должен был попробовать))) Просто стандартных средств редактора катастрофически не хватает, например невозможно нарисовать наклонную линию или у фигуры эллипс нельзя выбрать толщину границы больше 1, в противном случае вся окружность закрасится. Вот я и подумал зачем изобретать велосипед, если есть куча редакторов.

6
Добрый день! Подскажите, возможно ли в будущих обновлениях организовать импорт чертежей из автокада векторной графикой?

7
Ошибки / Re: Уровень TM_Level
« : 28 Июля 2017, 23:42:49 »
Ясно, спасибо

8
Ошибки / Уровень TM_Level
« : 28 Июля 2017, 13:28:07 »
Добрый день. У объекта уровень не выполняются скрипты привязанные к событиям OnClick, OnDblClick, OnMouseUp, OnMouseEnter и OnMouseLeave.

9
Ошибки / Re: Толщина границы фигуры
« : 25 Мая 2017, 18:00:35 »
А если совсем размечтаться может и наклон для линии добавите?)))

10
Ошибки / Re: Толщина границы фигуры
« : 24 Мая 2017, 13:15:01 »
А возможно ли тогда сделать толщину линии =1? Просто хочется чтобы все линии были одного размера.

11
Ошибки / Толщина границы фигуры
« : 23 Мая 2017, 18:42:27 »
Здравствуйте, столкнулся со следующей проблемой:
При толщине границ у фигуры "окружность" больше чем 1, окружность заливается цветом границы.

12
Спасибо за доступное объяснение

13
Здравствуйте, раскладываю переменную(Alarm_1) на биты и записываю в отдельные виртуальные переменные(Alarm_Bit_N). Объясните пожалуйста в чем разница между двумя скриптами. Первый нормально отрабатывает, второй компилируется, но не работает. Как влияет перемена строк местами на работу?

Первый:
Код
var
 Alarm_Bit : TM_Variable;
 b : byte;
Begin
 for b := 0 to 15 do
  begin
   Alarm_bit := GetVariableByName('Alarm_Bit_' + IntToStr(b));
   Alarm_bit.Value := GetBit(Alarm_1.Value , b);
  end;
End.

И второй:
Код
var
 Alarm_Bit : TM_Variable;
 b : byte;
Begin
 for b := 0 to 15 do
  begin
   Alarm_bit.Value := GetBit(Alarm_1.Value , b);
   Alarm_bit := GetVariableByName('Alarm_Bit_' + IntToStr(b));
  end;
End.

14
Не совсем понимаю почему не работает. Но эта схема не совсем универсальна.Например при масштабировании проекта придется добавлять новые универсальные окна, так как нет возможности присваивать идентификаторы вручную, соответственно строка: "GoToTrendsGroupClient (Name, Trend.Value + 3);" будет работать только в том случае если идентификаторы идут по порядку.

15
Да все правильно, сегодня попробовал реализовать все следующим образом:

Код
begin
  if not (Sender is TM_Image) then Exit;
  Field_Speed_P.Variable  := GetVariableByName('Speed_P_' + IntToStr(Sender.Tag));
  Field_Speed_V.Variable := GetVariableByName('Speed_V_' + IntToStr(Sender.Tag));
  Field_Three_Way_Heat.Variable := GetVariableByName('Three_Way_Heat_' + IntToStr(Sender.Tag));
  Field_Set.Variable := GetVariableByName('Set_' + IntToStr(Sender.Tag));
  Field_Temp_Room.Variable := GetVariableByName('Temp_Room_' + IntToStr(Sender.Tag));
  Field_Temp_Air.Variable := GetVariableByName('Temp_Air_' + IntToStr(Sender.Tag));
  Field_Temp_Water.Variable := GetVariableByName('Temp_Water_' + IntToStr(Sender.Tag));
  Image_Mode_Cool.Variable := GetVariableByName('Mode_' + IntToStr(Sender.Tag));
  Image_Mode_Heat.Variable := GetVariableByName('Mode_' + IntToStr(Sender.Tag));
  Button_Mode.Variable := GetVariableByName('Mode_' + IntToStr(Sender.Tag));
  Image_Filtr1.Variable := GetVariableByName('Status_P_' + IntToStr(Sender.Tag));
  Image_Filtr2.Variable := GetVariableByName('Status_P_' + IntToStr(Sender.Tag));
  Image_Vent_P.Variable := GetVariableByName('Status_P_' + IntToStr(Sender.Tag));
  Image_Vent_V.Variable := GetVariableByName('Status_V_' + IntToStr(Sender.Tag));
  Image_Trend.Variable := GetVariableByName(IntToStr(Sender.Tag));                             //Присваиваем значение переменной
  Text_PV.Text := 'ПВ_' + IntToStr(Sender.Tag);

  case Image_Vent_P.AsInt  of
     0, 2, 4..7: Image_Vent_P.AnimSpeed := 0;
     1, 3: Image_Vent_P.AnimSpeed := GetVariableByName('Speed_P_' + IntToStr(Sender.Tag)).AsInt;
  end;

  case Image_Vent_V.AsInt  of
     0, 2, 4..7: Image_Vent_V.AnimSpeed := 0;
     1, 3: Image_Vent_V.AnimSpeed := GetVariableByName('Speed_V_' + IntToStr(Sender.Tag)).AsInt;
  end;

   if GetVariableByName('Status_P_' + IntToStr(Sender.Tag)).AsInt = 3 then
   begin
    Image_Filtr2.Visible := True;
    Image_Filtr1.Visible := False;
    Text1_Filtr.FlashColor := clRed;
    Text2_Filtr.Text := 'Требует замены';
    Text2_Filtr.FlashColor := clRed;
   end else
   begin
    Image_Filtr2.Visible := False;
    Image_Filtr1.Visible := True;
    Text1_Filtr.FlashColor :=clNone;
    Text2_Filtr.Text := 'В работе';
    Text2_Filtr.FlashColor :=clNone;
   end;
end.


А в скрипт привязанный к кнопке трендов подставляем значение переменной:
Код
var
  Name : String;
  Trend : TM_Variable;
begin
  Name := GetClientName;
  Trend := GetVariableByName('Image_Trend');
  GoToTrendsGroupClient (Name, Trend.Value + 3);      //Подставляем нужный номер в идентификатор
end.

Страницы: [1] 2