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

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

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

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


Темы - ARV

Страницы: 1 [2]
16
OPC UA/DA сервер arOPC / Зависание arOPC
« : 01 Октября 2024, 08:37:42 »
Заметил, что arOPC (демо-версия, локальное использование, оконный режим) регулярно зависает, если компьютер уходит в гибернацию при работающем arOPC.
После пробуждения окно сервера открывается, но в нем ничего не отображается, и на попытки им управлять не реагирует.
Помогает снятие процесса диспетчером задач с последующим перезапуском.
По-моему, и при работе в режиме службы ситуация такая же.

Собственно, гибернация при работающем сервере - это не типичный вариант использования программы, но, тем не менее, проблему бы неплохо устранить.

17
Ваши вопросы / Подстановки для сообщений
« : 30 Сентября 2024, 09:13:13 »
У меня в проекте большинство тегов структурированные.
Т.е., скажем, для сигнала сигнала есть тег DEV_STATE_1, который на самом деле соответствует структуре типа такого (псевдоязык):
Код
STATE { 
   H : WORD; // описание: назначение поля структуры
   Val : BOOL; // описание: назначение поля структуры
   T : WORD // описание: назначение поля структуры
}
И тегу, и каждому его полю сопоставлена переменная. Фактически, переменная тега совпадает с его первым полем, т.е. как бы задваивается, и я имею такой набор переменных для каждого тега:
DEV_STATE_1 (нужное мне описание для сообщения)
DEV_STATE_1_H
DEV_STATE_1_Val (нужное мне значение для сообщения)
DEV_STATE_1_T
при чем первые две переменные полностью идентичны, но имеют разные описания

Осмысленное описание назначено самому тегу, т.е. переменной DEV_STATE_1, а, сообщения выдавать надо по значению DEV_STATE_1_Val (если TRUE).

В состоянии шаблонного сообщения я хочу задать текст с подстановкой описания структуры нужного тега, т.к. там уже содержится нужный текст (типа "авария такого-то девайса").
И у меня возникает проблема с тем, как более-менее просто сделать шаблоны сообщений.

Если я задаю в шаблоне Переменная=%Тег%, а затем задаю Тег=DEV_STATE_1, то я смогу вывести в сообщении описание, но само сообщение вызовется не по значению нужной переменной.
Если я задаю Переменная=%Тег%_Value, сообщение вызовется по нужной переменной, вывести в нем описание не получится...

Есть какой-нибудь способ решить мою проблему элегантно?

Пока на ум приходит отслеживать (скриптом по изменению переменной) изменение всех нужных мне переменных и скриптами же добираться до нужных мне описаний... Т.е. отказаться от механизма сообщений Simple-Scada. Но, поскольку я уже не раз попадал впросак с применением скриптов, начинаю сомневаться в своих подходах...

18
По моему скромному мнению это явный баг: последняя строка таблицы не отображается, если целиком не видна.

Т.е. если высота таблицы задана не кратной высоте строки, последняя строка видна частично, но её содержимое не выводится.
Это не позволяет обнаружить ошибку размера таблицы, т.к. кажется, что все нормально... Но данных не хватает. Особенно это плохо для большого количества строк таблицы, когда используется прокрутка.

Надо либо прокручивать таблицу так, чтобы при любых размерах таблицы последняя строка всегда прокручивалась до видимости, либо выводить и частично видимые данные.

19
По какой причине может выводиться такое сообщение (без указания значения)?
В каком месте искать проблему?

Возникает сразу после логина, с сервера считываются показания на самом деле внутри границ.

20
У меня в проекте включена опция сохранения границ переменных.
Все время работал под пользователем "А", настроил все границы и т.п.
Переключился на пользователя "Б" и все переменные стали "красными", т.е. ранее настроенные границы обнулились!
Переключился обратно на "А" - переменные "серые".

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

21
Возможно ли открыть группу трендов по нажатию кнопки в окне?
Т.е. стоит задача иметь в окне свойств объекта кнопку, нажав на которую пользователь увидит тренды параметров этого объекта.
Хочется именно перейти на "страничку" трендов нужной группы, а не использовать временной тренд в отдельном окошке.

22
1. Поиск тега работает только при остановленном сервере. Почему?
2. При попытке перейти к найденному поиском тегу строка-указатель на тег ставится, да только в видимой области окна не появляется. Надо сделать так, чтобы при переходе к тегу из окна найденных тегов он появлялся в видимой области списка!
3. После запуска сервера окно с тегами полностью обновляется, и то, что с трудом нашел поиском снова исчезает с экрана, но теперь уже и поиск не поможет (см. п.1). С этим надо что-то делать!
4. Когда сервер запущен, но нет связи с устройством, все строки списка выделяются красным фоном с белым текстом, а выделенная строка, т.е. активная, имеет серый фон и белый цвет текста, в итоге текст почти не виден. Логичнее выделять не фоном, а цветом текста, либо тогда не менять черный цвет текста никогда. Либо еще какие-то меры принять, чтобы все читалось в любом режиме.
5. Было бы здорово (для отладки проектов) как-то наблюдать только за нужными тегами. Например, сделать отдельное окно со списком наблюдений, куда перетаскиванием или просто кликом по тегу заносить нужное, чтобы среди нескольких тысяч тегов не разыскивать...
6. Так же возможность отображения тегов по фильтру (частичному совпадению, либо регулярными выражениями) очень не помешала бы. И при поиске тоже.

23
Ваши вопросы / Импорт переменных из arOPC
« : 16 Сентября 2024, 15:00:54 »
Если я в конфигурации arOPC поменяю описания тегов, нужно делать повторный импорт в редактор переменных, или при старте проекта описания обновятся автоматически?

Сейчас я делаю так: удаляю в редакторе все переменные, а затем импортирую их из отдельного файла, где отдельно редактирую описания, заново. В итоге всякий раз теряю результаты предыдущей расстановки переменных по объектам... Если делать повторный импорт из arOPC, то все переменные добавляются, а не обновляются, что тоже не подходит.

Вот и подумал: может, я делаю не правильно всё?

24
Сервер Simple-Scada выдаёт ошибку добавления тега, поскольку пытается добавить несуществующую переменную.
Вопрос: откуда он её берет? И что именно находит редактор, когда я пытаюсь искать этот тег в нем?

25
А при активации этой функции разве не происходит сохранение и типа контроля границ?

26
Как узнать на "этом" клиенте, вошел ли пользователь "Админ" (условно) на другом (не "этом") клиенте?

Для чего это нужно: поскольку нет никакой возможности гарантировать, что при работе с "внутренней" (т.е. не-OPC-шной) переменной другой пользователь с такими же привилегиями на другом клиенте не запорет её содержимое, хочу в критических моментах выводить предупредительное окно о том, что-то кто-то с такими правами уже залогинился и работать нельзя.

P.S. "Внутрення" переменная (внутренний тег) - это какой-то нонсенс, если она на самом деле публичная. Это даже не валенки в сенях, которые может кто угодно надеть и выйти на мороз, так как эти "валенки" чудесным образом могут с ваших ног исчезнуть, если еще кто-то пожелает их надеть, и вы останетесь на морозе босиком.

Тут явно какие-то семафоры, мьютексы, критические зоны или иные способы ограничить доступ при "занятости" таких тегов быть должны...

27
В свойствах колонки можно включить возможность редактирования ячейки.
Но событие OnCellDatachange возникает только по изменению переменной, связанной с ячейкой.
Вопрос: как связать переменную с ячейками таблицы, заполняемой из базы данных?
Подробности: в таблице 6 колонок, 4 последние редактируемые.
В каждой строке в первой колонке содержится имя переменной, во второй - её описание, а в остальных - её границы. Так вот, надо каким-то образом менять границы переменных в таблице, а затем обновлять в базе.
Вопрос, собственно в том, как узнавать о моменте изменения содержимого ячейки после ввода пользователя? Остальное, вроде, понятно.

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