Добрый день. У нас в проекте OPC HDA читается в канал CALL.TVC, который привязан к ГЭ "Архивная таблица 2". И данные в этой таблице можно увидеть только после нажатия кнопки "Обновить буфер". Подскажите, как можно программно запросить это обновление буфера?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В ГЭ "Архивная таблица 2" таких возможностей нет. Попытайтесь приспособить для этого либо ГЭ "Архивная таблица", либо ГЭ "Тренд", в которые программно можно заложить адекватное управление границами временной шкалы.
Posted by vyusupov (Участник № / Member № 7171) on :
хорошо - а может быть все-таки можно программно из скады нажать на кнопку "обновить буфер"
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Нельзя.
Posted by vyusupov (Участник № / Member № 7171) on :
хорошо - спасибо. тогда подскажите другой путь - как реализовать запрос по расписанию каждый час, чтобы выполнялся запрос на чтения OPC HDA пусть в канал CALL.TVC, и по результатам чтения данные за прошедший час заносились SQL запросом в mdb, и эти же данные за последний час сохранялись в файл-отчете в папке.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Циклограмму OPC HDA-запросов, генерации документов и передачи в БД решать надо программно.
Непонятно, почему так категорично "каждый час" надо проделывать все эти процедуры?
Обычно OPC HDA-интерфейс используется для того, чтобы восстановить данные, случайно потерянные за время отсутствия связи с OPC DA-сервером. В обычном процессе данные реального времени, полученные от OPC-сервера, сохраняются в СПАД-архиве. В тот же архив штатно заносятся данные восстановленные по OPC HDA-интерфейсу. Затем штатными функциями делаются выборки из архива и документируются.
Posted by vyusupov (Участник № / Member № 7171) on :
постараюсь ответить на вопрос: ...приборы Логика - СПГ учет коммерческий (очень коммерческий) и оперирование данными DA не корректно. к учету принимаются только данные полученные по HDA - именно эти данные подтверждены сертификатами. данные отбиваются ежечасно, ежесуточно и ежемесячно (формируются внутри прибора и доступны только по HDA). поэтому (теперь уже) нужно организовать заполнение mdb и файл отчета без лишних действий операторского персонала. Еще вопрос - какие способы посоветуете для распарсивания строки ответа, которую возвращает HDA - отделить дату_время и данные в разные переменные - для следующего использования в sql запросе. спасибо еще раз за ответы.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Еще уточнение. Почасовые показания скачиваются из приборов, передаются в БД 1 раз в сутки? Суточные - 1 раз в месяц? Месячные -?
Posted by vyusupov (Участник № / Member № 7171) on :
Почасовые - каждый час. (передаются диспетчеру) Суточные - каждые сутки в два ночи. (передаются диспетчеру) Месячные в конце каждого месяца... передачу данных наверх - теперь решено организовать через mdb. опять-же решение не наше - и неизменяемое. т.е. через mdb и все. предлагали по OPC - трейс моуд сам может быть OPC, или через файлик отчета html формируемый ежечасно. "там" решили оставить mdb. (долго не был на рабочем месте - не своевременно ответил, опять приступил к реализации) Спасибо.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
"Почасовые считываются каждый час" - это означает, что каждый час считывается одно значение по каждому каналу и передается в БД? Аналогично, "каждые сутки в два ночи" считывается одно значение по каждому каналу? И "в конце каждого месяца" - считывается одно значение?
Posted by vyusupov (Участник № / Member № 7171) on :
"Почасовые считываются каждый час" - это означает, что каждый час считывается одно значение по каждому каналу и передается в БД? - да именно так. именно это вот сейчас читаю руокводство пользователя чтобы это реализовать. приборов 4шт. по каждому прибору список параметров: (из дескриптора понятно какой параметр с какой частотой считывается) pipe01.т1.200(T(ч)) - Архив часовой значений температуры газа^'C pipe01.т1.205(P(ч)) - Архив часовой значений абсолютного давления газа^МПа pipe01.т1.215(V(ч)) - Архив часовой значений объема транспортированного газа^м3 pipe01.т1.210(M(ч)) - Архив часовой значений массы транспортированного газа^кг pipe01.т1.201(T(с)) - Архив суточный значений температуры газа^'C pipe01.т1.206(P(с)) - Архив суточный значений абсолютного давления газа^МПа pipe01.т1.216(V(с)) - Архив суточный значений объема транспортированного газа^м3 pipe01.т1.211(M(с)) - Архив суточный значений массы транспортированного газа^кг pipe01.т1.217(V(м)) - Архив по месяцам значений объема транспортированного газа^м3 pipe01.т1.212(M(м)) - Архив по месяцам значений массы транспортированного газа^кг pipe01.0.091(tи(с)) - Архив суточный значений времени интегрирования (работы узла)^ч pipe01.т1.217(V(м)) - Архив по месяцам значений объема транспортированного газа^м3 pipe01.т1.212(M(м)) - Архив по месяцам значений массы транспортированного газа^кг как то так... ваша скада единственная, которая подошла по тендор-требованиям по HDA. в Архивная таблица 2 данные понятно как получить а вот в sql...
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
После обсуждения проблемы по почте 18.05 17 отправлен пример решения задачи, принятый пользователем.