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

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

Автор Тема: Границы переменных и пользователи  (Прочитано 767 раз)

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Границы переменных и пользователи
« : 24 Сентября 2024, 11:36:26 »
У меня в проекте включена опция сохранения границ переменных.
Все время работал под пользователем "А", настроил все границы и т.п.
Переключился на пользователя "Б" и все переменные стали "красными", т.е. ранее настроенные границы обнулились!
Переключился обратно на "А" - переменные "серые".

Это нормально, что у каждого пользователя свои границы переменных?!

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Границы переменных и пользователи
« Ответ #1 : 24 Сентября 2024, 11:54:00 »
Границы переменных никак не связаны с пользователями, они связаны только с переменными. Можем предположить, что Вы где-то в скриптах подменяете переменные (например, во время авторизации пользователя) и т.п. Если разобраться не получится, то вышлите проект на support@simple-scada.com и укажите переменные, границы которых нужно проверить, мы напишем, что нужно исправить.
 

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Границы переменных и пользователи
« Ответ #2 : 24 Сентября 2024, 12:06:34 »
Прошу прощения, как выяснилось, проблема связана была с тем, о чем ранее я уже задавал вопросы и, получив от вас совет, последовал ему.
Мне нужно, чтобы пользователь "А" мог открыть окно по клику на поле, связанном с переменной, а пользователь "Б" не мог открыть такое окно. Для этого я последовал вашим рекомендациям, и наложил одно поле на другое, сделав их видимость разной для разных пользователей. Разумеется, спустя несколько недель я забыл об этом, а визуально обнаружить такое невозможно.
Именно такие проблемы я и предвидел, когда пытался доказать, что надо делать именно окна недоступными для пользователей, а не объекты накладывать стопочкой... Если у меня возникнет необходимость в третьем варианте поведения для третьей категории пользователей, проблема только усугубится. В связи с чем в очередной раз предлагаю в будущем реализовать именно видимость (доступность) окна по логину, чтобы объекты в стопку не ставить.
« Изменён: 25 Сентября 2024, 09:42:17 от Simple-Scada »

pan2000

  • Постоялец
  • ***
  • Сообщений: 210
    • Просмотр профиля
Re: Границы переменных и пользователи
« Ответ #3 : 24 Сентября 2024, 19:07:34 »
     Здравствуйте.
  Если открывать окно именно по событию OnClick, не используя свойство "Окно" объекта, то скриптом можно открыть нужное пользователю окно. В примере три группы пользователей - с индивидуальным окном, с монопольным окном и общим окном на группу.
  Монопольное окно исключает ситуацию, когда два пользователя "загибают" одну переменную в противоположные стороны, а третий с интересом наблюдает за ними (система коллективной безответственности им. Лебедя, Рака и Щуки).

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Границы переменных и пользователи
« Ответ #4 : 25 Сентября 2024, 08:27:59 »
pan2000, Магия с накладыванием стопочкой объектов мне категорически не нравится, т.к. делает проект нечитаемым. И, кстати, после всего прочтенного здесь я далеко не уверен, что когда в вашем проекте открывается окно для Волка его не увидит поросёнок на другом клиенте... Окна-то не привязаны к пользователю и видны сразу на всех клиентах... Simple-Scada, поправьте, если я не прав.

В Simple-Scada сделано много, что затрудняет жизнь: невозможность видеть сразу все скрипты одновременно, отсутствие поиска текста, в т.ч. в скриптах, методика стопочных объектов... Возможно, с точки зрения какого-то сферически-вакуумного пользователя в итоге всё удобно, но с точки зрения обычного программиста всё крайне запутано.

На стопочной магии я уже погорел с позором... Но для активации окна с группой трендов всё равно пришлось прибегать к прозрачным объектам поверх других... Хотя бы была возможность как-то помечать такие "стопки", комментариями какими-то, видимыми только в режиме редактора и только, если что-то в настройках включено...

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Границы переменных и пользователи
« Ответ #5 : 25 Сентября 2024, 09:41:57 »
Цитировать
Именно такие проблемы я и предвидел, когда пытался доказать, что надо делать именно окна недоступными для пользователей, а не объекты накладывать стопочкой... Если у меня возникнет необходимость в третьем варианте поведения для третьей категории пользователей, проблема только усугубится.
Если с этими вопросами возникают такие проблемы и Вы забываете то, что делаете в проекте, то страшно представить что Вас ждёт в будущем, когда проект станет больше. Так ведь можно сделать объект невидимым, сразу забыть об этом, а затем удивляться куда он исчез, да и про скрипты забыть аналогично. Непонятно одно: зачем так мучаться, когда есть столько вариантов разных SCADA-систем. В очередной раз рекомендуем воспользоваться "нормальными" SCADA-системами в которых реализован необходимый функционал, т.к. бОльшая часть того, что Вам необходимо никогда не будет добавлена в Simple-Scada.

Цитировать
я далеко не уверен, что когда в вашем проекте открывается окно для Волка его не увидит поросёнок на другом клиенте... Окна-то не привязаны к пользователю и видны сразу на всех клиентах... Simple-Scada, поправьте, если я не прав.
Если бы Вы читали наши ответы (писали уже два раза), то возможно запомнили бы, что видимость окон и их координаты на каждом клиенте свои, одинаковые только сами окна (заголовок, размеры, содержимое).

Цитировать
отсутствие поиска текста, в т.ч. в скриптах
Для поиска в скриптах можно использовать панель поиска и замены.

ZWolol

  • Пользователь
  • **
  • Сообщений: 52
    • Просмотр профиля
Re: Границы переменных и пользователи
« Ответ #6 : 25 Сентября 2024, 11:39:24 »
Цитировать
рекомендуем воспользоваться "нормальными" SCADA-системами
Вот это странно слышать, у каждой есть свои достоинства и недостатки.

Цитировать
стопочкой объектов
Именно так работает Master Scada. По другому там просто не получается.
У меня количество вариантов состояния объекта велико и назначать тысячи значений на каждое свойство просто не хватит терпения.
Даже их вычислители не спасают от этого.
В Simple Scada все делаю скриптом в пару десяток строк и ни каких "стопок" у меня нет.

С диалоговыми окнами есть проблема совместного использования.
Если сделают локальные окна по шаблону, то этой проблемы не будет.
Сейчас можно вызвав окно просто заблокировать повторный вывод этого окна.

А локальные переменные вроде можно реализовать с помощью массивов.
Вот только OnDataChange будет срабатывать при изменении любого элемента.
« Изменён: 25 Сентября 2024, 12:01:23 от Simple-Scada »

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Границы переменных и пользователи
« Ответ #7 : 25 Сентября 2024, 12:54:50 »
Если с этими вопросами возникают такие проблемы и Вы забываете то, что делаете в проекте, то страшно представить что Вас ждёт в будущем, когда проект станет больше
Ваша ирония понятна, но неуместна: у меня мой первый проект уже около 7000 тысяч переменных (по наследству достались от уволившегося предшественника) и кучей других проблем. Не уверен, что даже такой профессионал, как вы, в состоянии держать в голове 7000 переменных со всеми нюансами их отображения.

pan2000

  • Постоялец
  • ***
  • Сообщений: 210
    • Просмотр профиля
Re: Границы переменных и пользователи
« Ответ #8 : 25 Сентября 2024, 13:38:18 »
   Здравствуйте.
  Единственный слоёный объект по части раздачи окон - это кнопка вызова окна. Само окно ни с того ни с сего, [внушительно перебил неивестный,] не откроется. Да и в волчьем окне любой поросенок может быть поражен в правах доступа, равно как и наоборот.
  На мой взгляд, с точки зрения минимума затрат создания "картинки", слоёная структура превосходит вычислительно-модифицируемую, приемлимую для одноклиентских проектов (либо исскуственно сведенную к оным)
  Если есть возможность, то в имена объектов стопки можно добавить признак "стопочности", причем при удачном стечении обстоятельств вся стопка в инспектор объектов потянется за верхним. Кроме того в проект можно включить страницы с некоторыми пояснениями для продолжателей Вашего проекта.

P.S. Возможно несколько облегчит жизнь возможность ещё и переключение редактора с инспектором объектов в режим отдельного пользователя, обеспечивающий отображение его объектов и общих. Хотя ...

ARV

  • Постоялец
  • ***
  • Сообщений: 117
    • Просмотр профиля
Re: Границы переменных и пользователи
« Ответ #9 : 25 Сентября 2024, 13:51:59 »
Ув. pan2000, практически все из сказанного вами я понимаю и применяю. Морщусь, но применяю, деваться-то некуда...

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3160
    • Просмотр профиля
    • Simple-Scada
Re: Границы переменных и пользователи
« Ответ #10 : 26 Сентября 2024, 09:31:28 »
Цитировать
Ваша ирония понятна, но неуместна: у меня мой первый проект уже около 7000 тысяч переменных
Мы писали без иронии. И почему неуместна? Ведь Вы сами пишете:
Цитировать
наложил одно поле на другое, сделав их видимость разной для разных пользователей. Разумеется, спустя несколько недель я забыл об этом, а визуально обнаружить такое невозможно.
Нетрудно представить что будет в будущем. Исходя из этого и рекомендуем воспользоваться другими скадами.

Цитировать
Не уверен, что даже такой профессионал, как вы, в состоянии держать в голове 7000 переменных со всеми нюансами их отображения.
Пусть даже 200000 переменных. Зачем их держать в голове? Все проекты (даже для разных SCADA-систем) однотипны, как и объекты внутри проекта. Если есть 200 станций и в каждой по два насоса, то и переменные им соответствуют (vrSt1_Pump1Cur..vrSt200_Pump2Cur, vrSt1_Pump1State..vrSt200_Pump2State и т.д.) и работают по одинаковым принципам. Мы пока не встречали проекты в которых каждый объект и каждая переменная уникальны. Когда пользователи присылают нам проекты для проверки мы также не пытаемся держать в голове все переменные этих проектов, в этом нет необходимости, тем более для вопроса с размещением двух кнопок в одной позиции о котором Вы пишете выше. Если Вам приходится держать в голове все переменные проекта, то, скорее всего, Вы используете какой-то нестандартный подход к разработке проекта, либо имена/описание переменных не соответствуют их поведению.