Стартовая страница › Форумы › Понять, как работает ПО › Поле для написания заметок на схеме
Помечено: Заметки
- В этой теме 25 ответов, 4 участника, последнее обновление 1 год назад сделано
manjey73.
-
АвторСообщения
-
26.05.2025 в 11:32 #38536
Vitaly_Zhidkov
УчастникТестирую RapidSCADA. Рассматриваю возможности её использования вместо OpenSCADA.
На OpenSCADA есть проект в продуктиве.
На странице каждой отдельной производственной площадки кроме рисунков, измерений, кнопок есть поле для Заметок.
То есть белый прямоугольник, в который диспетчер при работе с системой может написать произвольный текст, о чем важно помнить при управлении по этой площадке.
Например, написать, что насос временно отключен.
Эта надпись хранится в системе неограниченно долго, пока не будет стерта или изменена диспетчером.Есть ли подобный функционал в RapidScada? Чтобы диспетчер мог сохранять заметки о работе оборудования на схеме в системе.
26.05.2025 в 12:14 #38537
manjey73УчастникКак вариант использовать массив каналов с форматом данных Строка.
Ну и соответствующий скрипт. Будет ограничение на количество вводимых символов. Канал 8 байт. Длину данных выставляете Требуемое количество/8 при использовании ASCII.
Или Требуемое количество/4 при использовании UTF8Формат команды так же Строка.
26.05.2025 в 12:15 #38538
manjey73УчастникПри необходимости можно даже придумать кнопку, которая будет скрывать заметку.
Не пробовал если честно.
Хранение будет в БД соответственно.26.05.2025 в 12:16 #38539
manjey73УчастникСтроковых БД тут нет к сожалению, так что только через массивы каналов играться.
26.05.2025 в 14:28 #38541
MikhailМодераторДобрый день!
С точки зрения пользовательского интерфейса поле для ввода нового текста в текущей версии Rapid SCADA будет появляться по кнопке в диалоговом окне. Текущий текст может отображаться на схеме.
С точки зрения хранения данных строковый тип поддерживается. Необходимо задать длину канала.
Т.к. это не самая частая задача, лучше попробовать на практике и при возникновении вопросов спросить здесь.
27.05.2025 в 10:58 #38565
manjey73Участник@mikhail а вот тут хотелось бы подробностей как сделать команду ввода строки, чтобы она разбилась по массиву каналов по 8 или 4 символа в зависимости от кодировки.
Именно в команде пока. Что-то непонятно, как тут поступать?
27.05.2025 в 14:16 #38568
MikhailМодераторДавайте какую-то одну тему выберем для обсуждения вопроса разбивания строки по каналам. Эта уже третья, как минимум.
27.05.2025 в 16:01 #38576
manjey73УчастникНу вообще-то тема как сделать заметку. Тут отличие как разбить строку CmdDataStr в массив каналов?
27.05.2025 в 16:43 #38577
manjey73Участник
Собственно. Почему команда проходит только в одном канале, если это массив, а не повторяется?
Как в данном случае заполнять массив значениями?
Тупо сейчас передаю длину строки в return. Не понимаю. как это тогда работает?
27.05.2025 в 16:45 #38578
manjey73Участникдля простоты Тип данных по умолчанию (double), формат команды Строка/
В скрипте для команды public double для простоты.
27.05.2025 в 16:52 #38579
manjey73УчастникСобственно простой вопрос.
Входная формула дублируется в каждом элементе массива, а команда не дублируется — ПОЧЕМУ ?
27.05.2025 в 17:14 #38580
manjey73УчастникВот блин, тормоз перестройки, пытаюсь увидеть то. что меньше 0 при формате D 🙂
Работает, правда формула какая-то кривоватая получилась 🙂
27.05.2025 в 17:24 #38581
a80808УчастникА разве формат D не показывает отрицательные значения? У меня показывает…
Правда на 5.8.4…27.05.2025 в 17:24 #38582
a80808УчастникИли здесь 0,ххх? Тогда сорри…(((туплю…
27.05.2025 в 17:50 #38583
manjey73УчастникВсе равно фигня получается… 🙁
1. Если вводу второе слово короче первого, остается хвост первого слова.
2. При перезагрузке не сохраняет введенные данныеВо входной формуле DecodeUnicode(Val())
В выходной формуле скриптpublic double ToMultiString(string cmdString) { double val = double.NaN; SetVal(CnlNum, val); // очистить, но вероятно неправильно int mass = 0; for (int i = 0; i < cmdString.Length; i+=4) { val = EncodeUnicode(Substring(cmdString, i, 4)); SetData(CnlNum + mass, val, 1); mass++; } return 1; }Тип данные Unicode, Форматы — Строка
Длина по необходимости.Что делать, чтобы при рестарте Сервера сохранялись данные ?
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
