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

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

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

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


Сообщения - Nikso

Страницы: 1 [2] 3
16
Уточнение по проблеме во вложении.

17
Имеем следующее.
Удалённый компьютер на котором установлен OPC UA с адресом opc.tcp://xx.xx.xx.xx:55001
Сервер на котором установлена Simpl-SCADA, импортирован тег с удалённого OPC адресом ns=2; i=2
Настроена архивация по изменению переменной.

Данные с OPC сервера принимаются и отображаются без замечаний, но в БД MS SQL пишется информация случайным образом.
Проблема именно с данным OPC UA.
OPC UA реализован на основе открытой библиотеки на Python.

Ещё прошу уточнить:
Как именно тег принимается с OPC UA и пишется в БД? Только значение? или с учётом даты удалённого и текущего сервера?

18
OPC UA/DA сервер arOPC / Re: Меркурий 230 HDA
« : 25 Ноября 2019, 18:29:33 »
Планировал использовать клиент OPC HDA в Multi-Protocol MasterOPC Server и передачу параметров в SS2 через OPC UA.

19
OPC UA/DA сервер arOPC / Re: Меркурий 230 HDA
« : 25 Ноября 2019, 13:42:50 »
Подключение осуществлялось через  Multi-Protocol MasterOPC Server. Чтение архивов с меркурий 230 идёт успешно, с меркурий 236 архивы не читаются.

20
OPC UA/DA сервер arOPC / Re: Меркурий 230 HDA
« : 22 Ноября 2019, 10:58:38 »
Не планируется добавить поддержку чтения архивов с меркурий 236?

21
OPC UA/DA сервер arOPC / Меркурий 230 HDA
« : 22 Ноября 2019, 06:08:53 »
Здравствуйте.

В описании на сайте на OPC сервер заявлена поддержка - "Меркурий 230, в том числе чтение профилей мощности по OPC HDA";
В инструкции по настройке доступа к архивам информации нет. В самом OPC сервере так же ни чего похожего.

Прошу уточнить наличие возможности чтения архивов и если она есть уточнить как настраивается.

22
OPC UA/DA сервер arOPC / СПТ Логика
« : 18 Июля 2019, 18:23:20 »
После обновления OPC на версию 1.68.140.1571 при попытке редактирования тега в приборах СПГ/СПТ возникает ошибка. Лог прикладываю.
Проблема возникает на разных компьютерах с разными ОС.
В версии 1.68.141.1577 от 16.07.2019 ошибка сохранилась.

Кроме этого на рабочей станции если OPC запускается скадой, то при остановке проекта или остановке сервера скады OPC так же завершается с ошибкой.


23
Ваши вопросы / Re: Хранимые процедуры
« : 09 Апреля 2019, 08:39:13 »
Есть хранимая процедура
ALTER PROCEDURE [dbo].[Arch_hour]

делаем следующий запрос
aQuery:='USE [sibyt] EXEC arch_Hour'
RunSQL (aQuery, nil,10);

24
Каким OPC пользовались. С архивами работаете или срезы получаете по накопленной энергии?

25
Сам ещё не доделал, но вижу решение проблемы так.

При формировании отчёта необходимо отнимать один интервал.
Например если задаётся в форме интервал с 00.00 01.01.2019 по 00.00 02.01.2019. с разбивкой по 10 минут необходимо в отчёт передавать с 23.50 31.12.2018 по 00.00 02.01.2019.

Если с разбивкой 1 час то с 23.00 31.12.2018 по 00.00 02.01.2019.
и т.д.

Проще всего это сделать в скаде во время формирования условий при вызове отчёта.
Можно ли в отчёте затем убрать первую строку пока не могу ответить.

26
Можно сделать так:
Код: (c#)
{((double)S._163_Vo_Tp3 == 0) | ((double)Previous(S, "_163_Vo_Tp3") == 0) ? "0": Round((double)S._163_Vo_Tp3 - (double)Previous(S, "_163_Vo_Tp3"), 1)}
где S._163_V0_Tp3 - интегральное значение счётчика на конец интервала.
      Previous(S._163_V0_Tp3) - интегральное значение счётчика на конец предыдущего интервала.

так как возможно, что при делении на интервалы может выпасть нулевое значение (например по каким то причинам записался 0) то делается проверка. Если одно из значений равно 0 то выводится 0 иначе выводится разность:
Код: (c#)
Round((double)S._163_Vo_Tp3 - (double)Previous(S, "_163_Vo_Tp3"), 1)
, где Round - округление до 1 знака после ","

Для итоговой строки можно использовать конструкцию
Код: (c#)
{Round((double)LastIf(S._163_Vo_Tp3) - (double)FirstIf(S._163_Vo_Tp3), 1)}

27
Копать надо в направлении как сохранить лог на компьютер через модем. А далее

В секундном скрипте контролируете время пропадания сигнала. Как только связь возобновляется подаёте команду на выгрузку лога на диск. После чего в скаде считываете данные из текстового файла и вставляете их в БД.

Можно ещё рассмотреть вопрос написания  DA и HDA OPC сервера для своего контроллера.

У меня почти такие же задачи. Как только рабочий вариант появится, напишу.

28
Если данные писались в лог с метками времени, то можно произвести ручную вставку в БД в таблицы trends_data, trends_day, trends_hour, trends_minute с явным указанием ID переменной, меткой времени и даты, значением параметра и качеством тега. Для этого надо сохранить файл лога, а затем считать из него данные и добавить в БД.

29
Запрос прописывается жестко. Затем он выполняется с заданным интервалом. Результат запроса затем можно обработать (выделить нужную информацию) и передать в opc-тег. Как вариант, можно создать множество запросов на выборку нужных данных.
В настоящий момент реализовал задачу другим способом. Из БД Paradox и Access c интервалом 1 час переносятся данные в дополнительный MS-SQL, который прилинковал к БД скады с последующей выборкой данных через хранимые процедуры. Решение конечно не совсем красивое, но работает.

30
Data Logger Suite.
Позволяет подключатся через ODBC к любым БД и транслировать данные в OPC теги, файлы, БД.

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