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

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

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

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


Темы - Timothy Clement

Страницы: [1]
1
Добрый день! Имеется контроллер Weintek cMT-CTRL01 со встроенным ОРС-UA сервером.
Пытаюсь соединить его со скадой - добавил новый ОРС-сервер, соединение в редакторе есть, видны теги и они добавляются в проект.
Уже на этапе добавления возникали проблемы - некоторые теги не добавлялись, особенно если выбрать сразу несколько.
При запуске сервера происходит соединение с ОРС, но все теги имеют качество BAD, в журнале сервера не возникает ошибок соединения.
При попытке записи в тег появляется ошибка таймаута, если увеличить в расширенных настройках таймера то ошибка меняется. Все скрины во вложении

2
Добрый день!
Обнаружилась следующая проблема при использовании функции PlayUserSound с параметром GetClientName (Версия 6.3.3):
- если скрипт вызван кнопкой, звук всегда воспроизводится
- в скрипте по-изменению если указать в первом параметре имя клиента, звук воспроизводится
- в скрипте по-изменению если указать в первом параметре GetClientName, звук НЕ воспроизводится

Для проверки создал тестовый проект - в нем 2 звука t1.ogg и t2.ogg. Добавил 2 кнопки для воспроизведения звуков по нажатию с следующим кодом:
Код: (delphi)
begin
  PlayUserSound(GetClientName,'t'+IntToStr(Sender.Tag)+'.ogg',False);
end.

Также добавил 1 внутреннюю переменную типа Word и привязал её к полю ввода. По-изменению этой переменной добавил второй скрипт:
Код: (delphi)
begin
  if TestWord.Value = 1 then PlayUserSound(GetClientName,'t'+IntToStr(TestWord.Value)+'.ogg',False);
  if TestWord.Value = 2 then PlayUserSound('serv','t'+IntToStr(TestWord.Value)+'.ogg',False);
end.

В итоге оба звука воспроизводятся при нажатии кнопок, при вводе в поле значения 2 звук воспроизводится, при вводе 1 нет. Проект и звуки прилагаю.

3
Добрый день!
Стоит задача сделать отчёт из архивных данных таблицы trends_data. Туда пишут показания счётчики, необходимо построить отчёт за период, выбрав показания на начало интервала, на конец интервала и разницу за интервал (расход) в рамках периода. С отчётом из стандартного источника всё понятно, задаём переменные начала, конца и интервала и добавляем архивные теги с нужной выборкой, всё красиво. НО, появилась необходимость сделать отчёт гибко настраиваемый пользователем, в котором заранее неизвестно сколько переменных будет использоваться - может 1, а может 25. И их можно постоянно менять из интерфейса программы. Тут уже стандартный источник не подходит, т.к. даже если задать динамическую адресацию, количество переменных фиксированное и просто будет оставаться куча пустых строк. Создавать десятки отчётов на все возможные варианты тоже не решение, поэтому было решено использовать источник MySQL и запрос:
Код: (sql)
SELECT round(MIN(value),2) AS minVal, round(MAX(value),2) AS maxVal, 
   round(MAX(value),2) - round(MIN(value),2) AS aEnergy    
FROM trends_data
WHERE id IN(
   SELECT idvar FROM areas WHERE idarea = @area
)
&& timestamp BETWEEN @tstart AND @tend
&& quality = 1
GROUP BY id
В запросе получаем значение на начало периода, конец периода и разницу значений. ID переменных получаем вложенным запросом из своей таблицы (в ней то и будет пользователь выбирать нужные ему счётчики). Отчёт строится, например за час, но как сделать отчёт за сутки с разбивкой на заданные интервалы (например час)? Понимаю что нужно вычислить для каждого интервала какое-то общее значение времени в рамках часа например и группировать по нему. Но как реализовать пока непонятно, жду ваших предложений.

4
Добрый день! Некорректно работают кнопки при использовании переменной Int64 и битов 32-63.
Использую внутреннюю переменную, тип Int64. Создал 4 кнопки с фиксацией, привязал к этой переменной, номера битов установил 0, 31, 32, 63.
При нажатии кнопок с битами 32 и 63 кнопки не меняют своё состояние, но бит устанавливают - сбросить бит уже нельзя кнопкой
При нажатии кнопки с 0 всё нормально, при нажатии кнопки с битом 31, кнопки 32 и 63 меняют своё состояние не меняя значения битов.
Проект прилагаю.

5
Ошибки / Удаление групп сообщений
« : 05 Ноября 2020, 14:20:27 »
Добрый день. Не удаляются созданные группы сообщений, при нажатии на "Удалить" появляется сообщение с подтверждением, ОК и группа не удаляется. Сообщения из группы удаляются по отдельности, но сама группа нет, даже пустая.

6
Автоматизированная система учёта электроэнергии на предприятии. На первом этапе подключено 80 электросчётчиков - в перспективе добавление более 500, а также счётчиков тепла, воды и газа. Опрос приборов учёта организован с помощью ОРС-сервера с ведением архива в БД Simple-Scada Professional.

7
Добрый день! Возникла следующая проблема. Отчёты выводятся через вэб-клиент и на клиенте localhost, но не выводятся на всех остальных клиентах, которые подключаются по сети. Подскажите куда копать, в чём принципиальная разница между вэб-клиентом и обычным при отправке отчётов

8
Добрый день!
Подскажите, USB-ключ имеет привязку к версии лицензии? Суть в том, что есть ключ от версии Minimal unlim, заказана скада Professional unlim, ключ ещё не приехал. Смогу ли я использовать ключ от минималки если установлю купленную prof, или всё же придётся ждать ключа?

9
Ошибки / Переменные со сдвигом запятой
« : 12 Декабря 2018, 09:59:31 »
Для демонстрации проблемы сделал небольшой скрипт. В проекте 4 одинаковых внутренних переменных типа Int со шкалой -4000..6000 и свойством сдвиг запятой -1.
На экране 4 окна вывода связанные с этими переменными и кнопка со скриптом OnClick:
Код: (delphi)
begin
// во все переменные записываем одинаковое значение
 Tag1.Value := 1001;
 Tag2.Value := 1001;
 Tag3.Value := 1001;
 Tag4.Value := 1001;
// первую переменную больше не используем в скрипте
// со второй переменной выполняем одно действие
 Tag2.Value := Tag2.Value;
// с третьей переменной выполняем два действия
 Tag3.Value := Tag3.Value + 0;
 Tag3.Value := Tag3.Value - 0;
// с четвёртой переменной выполняем три действия
 Tag4.Value := Tag4.Value + 0;
 Tag4.Value := Tag4.Value - 0;
 Tag4.Value := Tag4.Value;
end.
В итоге при нажатии кнопки видим 4 разных показания при одинаковом значении всех переменных, то есть при каждом действии со значением происходит сдвиг запятой.

10
Зерновой элеватор Климовичского комбината хлебопродуктов (Республика Беларусь). Полностью заменены шкафы управления, основной управляющий ПЛК- Modicon M251 + 9 промежуточных станций сбора данных на каждом этаже и 3 дополнительных в смежных зданиях. Simple Scada версии Standart 2.3.1. На объекте почти 100 исполнительных механизмов, более 120 возможных маршрутов движения зерна. Основные возможности - запуск и остановка маршрутов в автоматическом режиме, контроль состояния датчиков, местных пультов управления, токовых нагрузок механизмов, отгрузок с поточных весов.

11
АСУТП зерносклада реализовано на Simple-Scada Professional + arOPC. ПЛК Schneider Electric Modicon M241 + сенсорная панель GXO5512, дублирующая управление с АРМ. Работа в автоматическом и ручном режиме, подсчёт моточасов работы оборудования с автоматической выдачей сообщений о техобслуживании и технический учёт потреблённой электроэнергии с формированием отчётов.

12
Система управления комбикормовым цехом 7т/ч реализована на Simple-Scada Standard, нижний уровень - ПЛК Modicon M241 Schneider Electric, связь через ОРС-сервер arOPC.
Реализована работа в ручном и автоматическом режиме, управление преобразователями частоты по Modbus, база данных рецептов и статистического учёта расхода сырья, а также голосовое оповещение об аварийных ситуациях и предупреждениях.

13
Добрый день! На работающем объекте была установлена лицензионная версия 2.2.8.2, всё работало и обновление до 9.0 пока не было необходимости делать. Но вчера Защитник Windows 10 вдруг решил что Server.exe является трояном и отправил его в карантин, клиент естественно встал. Я решил что это как раз повод обновить скаду и установил версию 2.2.9.0. Скопировал проект, сохранил в новой версии, всё ок, всё работает. Далее суть проблемы: На экране есть 9 кнопок с одинаковыми свойствами управляющие разными битами одной переменной, служат для запуска/остановки автоматических режимов. 2 из 9 просто перестали реагировать на нажатие, как будто они недоступны. Всё перепроверил, копировал эти кнопки в новые объекты, копировал из рабочих кнопок и менял номер бита, переносил на другие биты переменной - не нажимаются хоть убей! Так как это произошло в полночь, плюнул, выдрал из карантина старый сервер, запустился на версии 2.2.8.2 - всё работает. Сегодня с утра снова попробовал проект пересохранить в 9.0, та же беда с этими 2мя кнопками, пока работаю на 8.2.

14
Ваши вопросы / Действия оператора
« : 30 Марта 2018, 10:01:53 »
Подскажите как работают сообщения о действиях оператора, нигде в руководстве и на форуме не нашёл информации. Создал пользователей в проекте, в процессе работы генерируются только сообщения вроде "Пользователь авторизовался" "Пользователь вышел". Как настроить сообщения о нажатии кнопок, изменении полей?

15
Проект по мониторингу удалённых объектов.
В шкафах управления комплексами установлены GPRS-терминалы Teleofis WRX708, которые автоматически устанавливают соединение с OPC-сервером Insat Universal Modbus MasterOPC, работающим в режиме ТСР-сервера. Таким образом ПЛК Modicon M221 в шкафах управления опрашиваются ОРС-сервером в "прозрачном" режиме по Modbus RTU.
На сервере, находящимся в г.Борисов (Республика Беларусь) установлена Simple Scada, позволяющая в режиме реального времени вести контроль за работой оборудования, возникновением аварийных ситуаций, архивацию данных.

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