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

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

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

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


Сообщения - Simple-Scada

Страницы: [1] 2 3 ... 214
1
Новости / Обновление до версии 2.7.5.1
« : 02 Апреля 2026, 10:32:58 »
В сотрудничестве со специалистами Positive Technologies устранена уязвимость среднего уровня (оценка CVSS 4.0 составляет 6.8), которая затрагивала версии Simple-Scada с 2.7.0.0 по 2.7.5.0. Подробное описание см. по ссылке.

Изменения:
  • устранена уязвимость позволяющая потенциальному злоумышленнику, имеющему доступ к ОС сервера, создать пользователей в любых группах путем подмены файлов SCADA-системы с последующим перезапуском проекта;
  • улучшено отображение шкал трендов на десктоп клиентах. Шкалы теперь занимают меньше места и лучше выбирают шаг;
  • web-клиент: исправлена выдача сообщения об обрыве связи при просмотре отчета, если на странице нет объектов которым сервер передаёт данные;
Резервная копия:
Мы всегда тестируем новые версии ПО на совместимость, но, несмотря на это, рекомендуем сделать резервную копию проекта перед обновлением.

Процесс обновления:
Для обновления достаточно установить новую версию поверх старой, оставив те же пути установки. Установщик заменит только системные файлы скады, не затронув папку с пользовательскими данными. После обновления откройте свой проект в редакторе и пересохраните его.

2
Здесь нет утраченного функционала, это обычное исправление ошибки и разницы в поведении web/десктоп клиентов. Пропуская клик сквозь объект, программа позволяет вам случайно кликнуть объект в нижнем слое, который вы можете даже не видеть. Это очевидная ошибка, она была исправлена и теперь клики работают также, как в любом другом ПО (так работают все графические редакторы и подобное ПО). Также клики теперь одинаково обрабатываются в разных клиентах.
Если Вы использовали ошибку в каких-то своих целях, то нужно исправить интерфейс, назначить события клика на объекты в верхнем слое, либо вовсе избавиться от перекрытия объектов, или использовать старую версию версию скады с ошибкой.

3
Конечно, если у объекта отключено свойство "Видимый", то через него можно кликать (такой объект не отображается на мнемосхеме и не участвует в обработке кликов).

4
Ваши вопросы / Re: Integer overflow
« : 11 Марта 2026, 19:10:28 »
Здравствуйте.

Какая версия скады используется? Начиная с версии 2.7.4.0 в SecondsToStr можно использовать как минимум весь диапазон Integer.

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

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

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

Вопрос №1. Если галочка не стоит в настройках, то эта информация не пишется в БД?
Настройки колонок влияют только на отображение. Вся информация всегда пишется в БД.

Предложение №1. Может быть разделить настройки для глобальной системы отображения сообщений и элемента "Список сообщений".
Возможно добавим отдельные настройки в будущем.

предложение/пожелание к функционалу: при выделении нескольких объектов в контекстном меню добавить Кнопку формирования перечня всех тегов в выделенных объектах и возможностью замены тега
Планируем добавить подобное в будущих обновлениях.

7
Новости / Обновление до версии 2.7.5.0
« : 02 Марта 2026, 09:45:34 »
Добавлена возможность отправки сообщений, вложений и отчетов в мессенджер MAX. Для обеспечения бесперебойной отправки в Telegram по-прежнему доступна настройка прокси-сервера. Добавлена автоматическая выдача сообщений о выходе за пределы шкалы, улучшено взаимодействие сервера с десктоп-клиентами, в списках сообщений можно отобразить только активные сообщения и др.

Изменения:
  • в настройки переменных добавлена опция "Сообщения о выходе за пределы";
  • в настройки сообщений добавлены опции "Сообщения о выходе за пределы по-умолчанию", "Текст для значения выше максимума шкалы", "Текст для значения ниже минимума шкалы";
  • новое свойство "Только активные" у списков сообщений. Позволяет отобразить только активные сообщения из указанной группы;
  • добавлена поддержка мессенджера MAX. Можно отправлять сообщения, вложения и отчеты;
  • сервер быстрее отвечает десктоп клиентам и расходует меньше оперативной памяти при формировании ответов;
  • для клиентов теперь можно задать сетевой таймаут от 5 до 20 секунд. Если в течение заданного периода от клиента нет отклика, сервер инициирует принудительное отключение;
  • новая функция Emoji для удобного добавления смайлов в сообщения Telegram / MAX;
  • добавлены системные события: secDBСonnected, secDBDisconnected, secDBConnectionLost, secTelegramSendError, secMaxSendError;
  • добавлены системные переменные уровня потребления оперативной памяти "SysRamCurrentUsage" и "SysRamMaxUsage";
  • в скрипты добавлена процедура SendMax для отправки сообщения в мессенджер MAX;
  • добавлена возможность отправки сообщений в мессенджер MAX группам пользователей и отдельным пользователям;
  • классу TM_User добавлен метод MemberOf. Позволяет проверить, состоит ли пользователь в указанной группе;
  • добавлен настраиваемый комментарий для экрана блокировки при исчерпании лимита попыток входа;
  • при управлении пользователями через клиент поля Telegram и MAX скрыты, если данные мессенджеры отключены в настройках;
  • минимально допустимый размер окон/шаблонов (при растягивании указателем мыши) теперь 42 на 42 пикселя. Исправлено отображение тени у окон/шаблонов малого размера;
  • инспектор объектов: если переменная не назначена, то клик ПКМ вызывает переход в меню редактирования переменных;
  • инспектор объектов: если кликнуть ПКМ по свойству с переменной удерживая CTRL, то будет выполнен переход в меню редактирования переменной и открыто окно редактирования переменной;
  • оптимизирован сброс значения переменной при подтверждении всех сообщений;
  • кнопка перехода в тренды не отображается когда от пользователя скрыты все тренды;
  • если в проекте нет пользователей, то переход в меню авторизации не выполняется при нажатии на кнопку авторизации;
  • обновлены библиотеки системы отчетов для взаимодействия с MySQL и PostgreSQL;
  • по-умолчанию теперь выбрана опция автоматического масштаба интерфейса для клиентов и редактора;
  • web клиенты: улучшено обнаружение разрывов связи с сервером;
  • редактор и десктоп клиенты теперь записывают в лог изменения связанные с DirectX рендером;
  • некоторые ошибки при отправке Telegram/MAX теперь лучше описаны в журнале и логах;
  • в вызовах TM_Report.Save в пути не обязательно добавлять закрывающий слэш, он теперь добавляется автоматически;
  • функции GetUserName, GetUserID заменены на GetCurrentUser;
  • исправлена работа методов ToDate, ToTime, ToCurrency, ToExtended, ToDouble, ToSingle у StringHelper компилятора;
  • исправлен сброс значений при подтверждении всех сообщений, если сообщения работают с битами;
  • исправление: координаты объектов на основе шаблона могли смещаться на величину меньше 1px и искажать отображение;
Резервная копия:
Мы всегда тестируем новые версии ПО на совместимость, но, несмотря на это, рекомендуем сделать резервную копию проекта перед обновлением.

Процесс обновления:
Для обновления достаточно установить новую версию поверх старой, оставив те же пути установки. Установщик заменит только системные файлы скады, не затронув папку с пользовательскими данными. После обновления откройте свой проект в редакторе и пересохраните его.

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

Скада выполняет первую попытку создать новый раздел в 2 часа ночи. Если она будет неудачной (например, СУБД занята созданием резервной копии и т.п.), то новые попытки будут в 3, 4 и 5 часов.

9
для получения сатисфакции после окунания меня вами в это самое говно
Непонятно, что в нашем ответе Вас оскорбило? Вы задали вопрос: "почему проект сохраняется 5-7 минут". Мы ответили "время уходит на компиляцию жутких скриптов проекта и огромного количество бесполезного дублирующегося кода". Это главная причина долгого сохранения проекта и просто легко доказуемый факт. Как ещё объяснить причину, не называя её? Нет необходимости писать идеальный код, достаточно просто не дублировать один и тот же код более 60 раз. Это не только ускорит компиляцию и производительность, но и упростит добавление нового однотипного кода.

Цитировать
3. Выполнение расчётов в ПЛК, безусловно, правильное решение. Когда у вас есть исходный код для ПЛК, а сами проекты не запаролены
Если Вы планируете переносить функции ПЛК на скаду, то нужно ещё внимательнее отнестись к написанию скриптов и заранее попытаться максимально их оптимизировать, т.к. скада не предназначена для решения задач ПЛК. Иначе в какой-то момент проект перестанет не только компилироваться, но и запускаться.

Цитировать
1. При компиляции ошибок не было, скрипты выполняются так, как задумано.
Об ошибках не было и речи. Мы говорим только о дублирующемся коде.

Цитировать
2. Присвоение значений переменным в цикле - дельный совет, а как насчёт реализации массивов?
Можете объявить массивы, если нужно. Только непонятно зачем? Лучше сразу использовать наиболее простой и производительнный вариант: пройти в цикле напрямую и выполнить нужные действия с элементом.

10
Включили исправление в обновление 2.7.4.0. Скачать можно по прежним ссылкам.

Цитировать
Надо решить как проект делать.
Рекомендуем работать с битами внешних переменных (получаемых с OPC-сервера) только на чтение (если ваш OPC-сервер и ПЛК не поддерживает прямую адресацию на уровне битов).

Для записи значений в биты переменной лучше всегда использовать отдельные Boolean переменные, вместо работы с битами. Это касается не только скады, но и любого другого ПО, которое может менять биты во внешней (опрашиваемой) переменной. Причина в следующем:
  • Скада и ПЛК всегда работают с разной частотой и не синхронизированы;
  • При изменении любого бита, скада передаст в ПЛК не сам бит, а целиком число, которому принадлежит этот бит (затирая остальные биты). То же самое с чтением;
В результате всегда возможны конфликты:
  • Скада читает значение 0001 и пытается сбросить бит, т.е. записать 0000;
  • В этот момент на ПЛК значение меняется на 1111;
  • Скада отправляет свою версию 0000;
  • В результате на ПЛК затираются четыре бита, а планировалось сбросить только один.
Поэтому, менять биты должен только источник данных, все остальные должны только читать биты.

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

Спасибо за информацию, причину выявили, добавим исправление в ближайшее обновление.

12
Проверили. Этот проект долго сохраняется в любых версиях скады. Например, в версии 2.7.2.0 от 05 Августа 2025 он сохраняется в точности за то же время, что и в версии 2.7.4.0. Видимо после обновления Вы добавили в проект новые скрипты.

Сам проект сохраняется за ~0.05 секунды, остальное время уходит на компиляцию жутких скриптов проекта и огромного количество бесполезного дублирующегося кода. Неудивительно, что добавление новых скриптов к уже имеющимся будет геометрически увеличивать время компиляции. Пример: скрипты в группе "Ошибки 10-45" с именами "Block_X_X" в сумме на 18270 строк кода, можно заменить одним скриптом не более чем на 500 строк и сократить время компиляции более чем в 20 раз. Это касается и другого кода который делает одно и то же для разных данных, в группам "LG", "PMM", "PT" и т.п. Вместо копирования кода напишите одну процедуру/функцию с нужными параметрами и вызывайте её одной строчкой кода с разными параметрами. Используйте циклы там, где нужно выполнить действия с итерацией, например, вместо 64 строк извлечения бита напишите 2 строки с циклом от 0 до 63 и т.д. Вместо переноса задач ПЛК на скаду, обработайте множество данных в ПЛК и передавайте в скаду только результат обработки (готовое значение, аварию, сообщение).


13
Ваши вопросы / Re: Проблема с данными.
« : 27 Января 2026, 09:28:03 »
Здравствуйте.

По описанию похоже на неправильную адресацию/типы данных. Убедитесь, что в конфигурации OPC-сервера и ПЛК заданы корректные адреса и типы данных. Какое значение у переменной отображает сам OPC-сервер?

Цитировать
через орс ua, статусы int целочисленные, в скаде определяется smallint
Скада получает значение / тип данных от OPC-сервера и никак не влияет на значение, если не включено преобразование значения.

Цитировать
Из вариантов пока кривая ОС.
ОС не влияет на формат передачи данных.

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

Долго сохраняется какой-то конкретный проект, или все проекты? Если это касается только одного проекта, то вышлите проект на для проверки на support@simple-scada.com.

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

Можно сделать так:
1. Для каждой камеры создать отдельную внутреннюю переменную типа Boolean, например: vrRoom1, vrRoom2, vrRoom3 и т.д.. Включить у них архивацию по изменению;
2. Когда партия находится в камере 1, в переменную vrRoom1 записывать 1, в остальные 0. Когда партия в камере 2, в переменную vrRoom2 записывать 1, в остальные 0 и т.п.;
В отчете создать источник типа "Периодический", добавить в него переменные vrRoomXX с типом обработки "время вкл." и в источнике автоматически отобразится время в течение которого партия находилась в каждой отдельной комнате.

Можно отобразить и на мнемосхеме. Чтобы вычислить время, нужно использовать процедуру ArchiveTimeOn.
Например:
Код: (delphi)
var
  DateStart, DateEnd: TDateTime;
begin
  DateEnd:= Now;                     // текущие дата и время
  DateStart:= IncDay(DateEnd, -1);   // уменьшить дату на 1 день
 
  // вычислить время включенного состояния переменной "vrRoom1" за период
  // от "DateStart" до "DateEnd" и записать результат в переменную "MyVariableRes"
  ArchiveTimeOn(vrRoom1, MyVariableRes, DateStart, DateEnd);
end.
Этот код вычислит в переменную MyVariableRes время в течение которого партия находилась в камере 1 за последние 24 часа.

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