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

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

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

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


Сообщения - LebedevIS

Страницы: [1]
1
Есть возможность как-то обработать event opc ua сервиса самостоятельно.
Например, opc ua server regul https://reglab.ru/uploads/Material/AstraIDE/Documents/OPC_UA_User_Guide_DPA_302_6_v1_7_rus.pdf (страница 30)
генерирует event'ы при загрузке нового приложения в контроллер. Хотелось бы иметь возможность обрабатывать эти евенты, например, журналировать или выполнять скрипты.

2
К сожалению MariaDB находится в расширенном репозитории Astra Linux https://wiki.astralinux.ru/pages/viewpage.action?pageId=147162400
А как я уже писал выше, у нас нет возможности использовать расширенный репозиторий. В расширенном репозитории также есть и postgres 14 :)
 

3
Добрый день.
У вас в руководстве https://simple-scada.com/help/manual/postgresql.html указано, что рекомендуется использовать версию postgres 12 и выше.
С какими техническими ограничениями мы можем столкнуться при использовании postgres 11?
Т.к. в основном репозитории Astra Linux присутствует только 11 версия postgres, а дополнительный репозиторий, где есть 14 версия, в нашей ситуации не может быть использован.

4
То ли вопрос, то ли предложение: иной раз было бы полезно иметь возможность перебрать все имеющиеся переменные.
...
В принципе, наличие Filter не принципиально, можно и самостоятельно уточнить, та ли это переменная или нет. но если бы был такой параметр отбора - еще лучше.

Можно создать таблицу с переменными (встроенными средствами simple scada в настройках проекта). И затем, с помощью SQL запроса к БД, получать имена переменных с любым фильтром или без фильтра, после чего с помощью функции GetVariableByName получать нужные переменные.

5
Последняя просьба в этом контексте: дайте ссылочку на взятый вами за эталон компилятор.

Я так полагаю это PaxCompiler который может работать в тандеме с Embarcadero Delphi for Win32 compiler version 33.0 (26.0.36039.7899)

6
Здравствуйте.

Описание проблемы
Есть AI сигнал в ПЛК. В SCADA системе этот тег представлен как PV и границы HH, H, L, LL и etc. Нужно формировать предупредительные сообщения о превышении границ, при этом границы могут изменяться не только из SCADA системы (то есть, могут измениться, например, при конфигурировании контроллера или из других внешних источников)

Вопрос
Можно ли каким-то способом указать границы для переменной не константами, а переменными. Например, у меня будет переменная AI_TT1_PV для которой в дополнительный настройках будет указано, что её границы это переменные AI_TT1_HH, AI_TT1_H, AI_TT1_L, AI_TT1_LL.

Либо если сделать так нельзя, то есть ли какие-нибудь альтернативные способы реализации подобных функций?

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

Также, следует учесть, что при использовании web-клиента на устройствах с сенсорным экраном, кнопки "без фиксации" не будут работать, т.к. на сенсорных экранах невозможно выполнить аналог клика ЛКМ с удержанием.
Жаль, конечно, т.к. большинство панелек и scada систем поддерживают такое поведение.

Спасибо за ответ. Тогда в целом, насколько я понял, для кнопки без фиксации OnClick это OnMouseDown. Это было и нужно.

8
Описание

Мне необходимо обработать три типа событий. 1 - клик на кнопку (нажатие и отжатие кнопки), 2 - отжатие кнопки, 3 - нажатие кнопки.
Если в событиях подписаться на OnClick, то обработчик вызывается при нажатии на кнопку (как будто это событие OnMouseDown, которого нет), а при отпускании вызывается обработчик OnMouseUp (как и должно быть).
Получается, что описание события не соответствует действительному поведению https://simple-scada.com/help/manual/general-properties.html?anchor=general_events
Как обработать именно клик на кнопку? И какое поведение должно быть?
И если OnClick это именно клик, то как обработать именно OnMouseDown?

Шаги воспроизведения

1. Добавить кнопку без фиксации на экран
2. Добавить текстовое поле на экран
3. Подписаться на событие OnClick кнопки, в котором будет изменяться текст добавленного текстового поля. Например, ButtonLabel.Text := "Клик";
4. Подписаться на событие OnMouseUp кнопки, в котором будет изменяться текст добавленного текстового поля. Например, ButtonLabel.Text := "Зажата";
5. Сохранить проект и запустить клиент.
6. Нажать на добавленную кнопку.
 
Ожидаемый результат

При нажатии ничего не происходит
При отжатии лкм вызовется обработчик для OnMouseUp, а затем для OnClick

Фактический результат

При нажатии ЛКМ вызывается обработчик для OnClick
При отжатии ЛКМ вызовется обработчик для OnMouseUp

Конфигурация

Windows 10 Pro Версия 22H2
Simple-Client 2.6.5.0 (14.03.23)

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