Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Zeliboba от 17 Мая 2022, 12:19:25

Название: Наборы мнемосхем
Отправлено: Zeliboba от 17 Мая 2022, 12:19:25
Добрый день. Есть задача выполнить два набора мнемосхем, так что бы пользователь мог выбрать какой набор схем открывать. Один набор для АРМ, другой для мобильной версии, при том необходимо для мобильной версии иметь другие разрешения мнемосхем. С выбором группы мнемосхем можно решить я так понимаю только способом аутентификации, закрыв для одного пользователя группу мнемосхем, а вот с разрешением неясно. Как сделать мнемосхемы с разным разрешением в одном проекте?
Название: Re: Наборы мнемосхем
Отправлено: Timothy Clement от 18 Мая 2022, 08:41:37
Добрый день, насколько я знаю такой возможности в одном проекте нет. Я решал подобную задачу при подключении складского терминала на андроиде. Просто сделал копию проекта, перерисовал под другое разрешение нужные экраны. Когда терминал подключается через веб-клиент к серверу, он запускает свой проект и работает с ним. С той же БД и ОРС, пока такое решение. Ну и версия скады должна быть не ниже Standard, чтобы поддерживался запуск нескольких проектов на сервере.
Название: Re: Наборы мнемосхем
Отправлено: ART63 от 18 Мая 2022, 10:02:31
Добрый день!

А при таком решении запись переменных в БД осуществляют оба проекта или в проекте "андроида" вы запись отключили?
Название: Re: Наборы мнемосхем
Отправлено: Timothy Clement от 18 Мая 2022, 10:11:24
Добрый день!

А при таком решении запись переменных в БД осуществляют оба проекта или в проекте "андроида" вы запись отключили?

Там в проекте нет архивируемых переменных вообще, база данных используется для складского учета и выдачи приемки товаров через терминал сканированием штрихкода.
Название: Re: Наборы мнемосхем
Отправлено: Simple_Scada от 18 Мая 2022, 10:29:44
Цитировать
С выбором группы мнемосхем можно решить я так понимаю только способом аутентификации, закрыв для одного пользователя группу мнемосхем
Да, через систему прав пользователей (https://simple-scada.com/help/manual/editor-users.html) можно настроить права и видимость необходимой информации для каждого пользователя. Например, для пользователя можно настроить видимость только нужных ему страниц, трендов, сообщений. В результате чего каждый пользователь будет видеть только нужную ему информацию, хотя проект будет общий для всех пользователей.

Цитировать
Как сделать мнемосхемы с разным разрешением в одном проекте?
Такой возможности нет. Если обязательно требуются мнемосхемы с разным разрешением, то реализовать это возможно только создав второй проект с нужным разрешением. БД у этого проекта также должна быть своя. Рекомендации по выбору разрешения проекта при использовании разных дисплеев можно найти по ссылке (https://simple-scada.com/help/manual/faq-editor.html?anchor=q8).
Название: Re: Наборы мнемосхем
Отправлено: ART63 от 18 Мая 2022, 11:22:40
Цитировать
БД у этого проекта также должна быть своя.

А почему нельзя использовать ту же БД? Просто отключить запись переменных в проектах, которые используются только для отображения в другом разрешении, например, на планшете.
Т.е., получается структура "основной проект-проекты для отображения". Основной пишет в БД. Остальные из нее смотрят. В этом случае тренды и отчеты будут аналогичны во всех проектах.
Название: Re: Наборы мнемосхем
Отправлено: Zeliboba от 18 Мая 2022, 16:03:01
Добрый день, насколько я знаю такой возможности в одном проекте нет. Я решал подобную задачу при подключении складского терминала на андроиде. Просто сделал копию проекта, перерисовал под другое разрешение нужные экраны. Когда терминал подключается через веб-клиент к серверу, он запускает свой проект и работает с ним. С той же БД и ОРС, пока такое решение. Ну и версия скады должна быть не ниже Standard, чтобы поддерживался запуск нескольких проектов на сервере.

Благодарю за ответ, два проекта конечно такое себе, учитывая что мнемосхемы не копируются и не экспортируются
Название: Re: Наборы мнемосхем
Отправлено: Zeliboba от 18 Мая 2022, 16:04:02
Цитировать
С выбором группы мнемосхем можно решить я так понимаю только способом аутентификации, закрыв для одного пользователя группу мнемосхем
Да, через систему прав пользователей (https://simple-scada.com/help/manual/editor-users.html) можно настроить права и видимость необходимой информации для каждого пользователя. Например, для пользователя можно настроить видимость только нужных ему страниц, трендов, сообщений. В результате чего каждый пользователь будет видеть только нужную ему информацию, хотя проект будет общий для всех пользователей.

Цитировать
Как сделать мнемосхемы с разным разрешением в одном проекте?
Такой возможности нет. Если обязательно требуются мнемосхемы с разным разрешением, то реализовать это возможно только создав второй проект с нужным разрешением. БД у этого проекта также должна быть своя. Рекомендации по выбору разрешения проекта при использовании разных дисплеев можно найти по ссылке (https://simple-scada.com/help/manual/faq-editor.html?anchor=q8).

Спасибо, будем пробовать
Название: Re: Наборы мнемосхем
Отправлено: B.B от 19 Мая 2022, 09:51:37
Это будет ад для разработчика интерфейса (фактически два проекта, но в одном и не закроет вопрос с разрешением экрана).

Накидать всё на одну мнемосхему.

Сделать переключение видимости объектов.
Мобильная версия  имеет префикс для всех объектов Mobi, десктопная Desk

И при первом запуске для десктопа делать
Код: (delphi)
var
  aObject: TM_Object;
  i: integer;
begin
{для всего, что на форме есть
GetShapeByName        GetFieldByName
GetTextByName            GetImageByName
GetLevelByName          GetButtonByName
GetPipelineByName      GetLineByName
GetValveByName          GetTankByName
GetTimeTrendViewerByName        GetScaleByName
GetCheckBoxByName   GetComboBoxByName
GetTableByName           GetCalendarByName
GetScheduleByName    GetMessageViewerByName
}
  for i:=1 to 999 do
  begin
    aObject := GetObjectByName('Mobi'+'Field'+IntToStr(i));  // ищем объект с префиксом Mobi
    if aObject <> nil then                   // если объект найден
      aObject.Visible := False;                // меняем видимость

    aObject := GetObjectByName('Mobi'+'Text'+IntToStr(i));  // ищем объект с префиксом Mobi
    if aObject <> nil then                   // если объект найден
      aObject.Visible := False;                // меняем видимость


    // ******* и т.д.
 
  end

end.

Для мобильного, соответственно     
Код: (delphi)
aObject := GetObjectByName('Desk'+'Field'+IntToStr(i));  // ищем объект с префиксом Desk
Название: Re: Наборы мнемосхем
Отправлено: ART63 от 19 Мая 2022, 10:41:25
Добрый день!

А может попробовать реализовать это шаблонами с размещением их на своих страницах\подстраницах. И именно их скрывать или показывать.
А размер шаблона уже формировать из экрана.