Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 20

Тема: Варианты записи архивных данных в базу данных Firebird на MasterSCADA

  1. #1
    Пользователь Аватар для Olegis
    Регистрация
    24.07.2007
    Адрес
    Белгород
    Сообщений
    138

    По умолчанию Варианты записи архивных данных в базу данных Firebird на MasterSCADA

    Мы получаем с удаленных объектов архивные данные в виде файлов по FTP. На MasterSCADA архивы пишутся в базу данных Firebird. В перерывах между опросами объектов данные на трендах отсутствуют. Какие есть варианты(кроме использования OPC HDA) для записи данных из этих архивных файлов в базу данных MasterSCADA? Реализовать ли это средствами MasterSCADA?
    Пишу на Assembler-е за еду

  2. #2

    По умолчанию

    Ну вам нужно считывать данные из файла и записать в архив.
    Вариантов 2:
    1) Использовать наш Modbus Universal - он может читать файлы, и записывать их HDA. Скада их подтягивает.
    2) Из скады, при помощи ФБ "Скрипт C#" считывать файлы и записывать в архив.
    Дальше архивация идет штатными средствами MasterSCADA.
    Спасибо.

  3. #3
    Пользователь Аватар для Olegis
    Регистрация
    24.07.2007
    Адрес
    Белгород
    Сообщений
    138

    По умолчанию

    Спасибо!
    Использовать наш Modbus Universal - он может читать файлы, и записывать их HDA. Скада их подтягивает.
    Каким образом синхронизировать данные из наших файлов так, чтобы наши данные попали в базу Firebird(на MasterSCADA) в соответствующем формате данных и синхронно со штампом времени MasterSCADA(чтобы сохранились наши исторические значения с тем штампом времени, с которым они были записаны в файл на контроллере удаленного объекта).
    Тоже самое: получиться ли воткнуть исторические значения в существующую базу из нашего файла через Скрипт, чтобы они попали именно на место исторических данных(например, в прошлое время сохраненного тренда).
    Пишу на Assembler-е за еду

  4. #4

    По умолчанию

    Поясните - Firebird будет использоваться какой-то сторонней программой или только для архивирования данных в MasterSCADA?
    Спасибо.

  5. #5
    Пользователь Аватар для Olegis
    Регистрация
    24.07.2007
    Адрес
    Белгород
    Сообщений
    138

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Поясните - Firebird будет использоваться какой-то сторонней программой или только для архивирования данных в MasterSCADA?
    Изначально саму базу создает у нас MasterSCADA, соответственно она ее приводит к своему формату для хранения архивов.На первом этапе будет база использоваться только для MasterSCADA, но в будущем заказчик хочет из этой базы читать получать в свою программу необходимые данные. Желательно рассмотреть оба варианта, чтобы потом не писать различных промежуточных программ, которыми все это связывать.
    Пишу на Assembler-е за еду

  6. #6

    По умолчанию

    Архивировать данные в Firebird MasterSCADA может.
    Для взаимодействия с другими программами вам нужно будет использовать экспорт. Но экспорт данных для Firebird пока не поддержан. Но возможно мы уже реализуем эту задачу когда она вам потребуется.
    Также можно взаимодействовать с другими программами через хранимые процедуры, или можно читать из сторонней программы данные непосредственно из БД с архивом MasterSCADA.
    Спасибо.

  7. #7
    Пользователь Аватар для Olegis
    Регистрация
    24.07.2007
    Адрес
    Белгород
    Сообщений
    138

    По умолчанию

    Вопрос все таки пока не понятен. Попытаюсь объяснить по-подробнее. Возможно ли вставить данные из наших архивных файлов в уже имеющееся базу MasterSCADA(Firebird) вместо старых данных? Например, при отсутствии связи по GPRS в базу пишется некая переменная. Так как связь пока отсутствует, то в архивные тренды(таблицы) пишется какое-то BAD значение(допустим 0). При подключении к удаленному объекту считываются файл с архивом этой переменной. Затем надо,чтобы в базу вместо старых BAD-значений записались архивные значения, считанные из файла, считанного с удаленного объекта,как здесь сделать, чтобы эти данные попали в базу именно с теми штампами времени, как в нашем файле.Т.е. как здесь синхронизировать данные в прошедшем времени, чтобы не было различий от режима непрерывного опроса.
    Пишу на Assembler-е за еду

  8. #8

    По умолчанию

    Цитата Сообщение от Olegis Посмотреть сообщение
    Например, при отсутствии связи по GPRS в базу пишется некая переменная. Так как связь пока отсутствует, то в архивные тренды(таблицы) пишется какое-то BAD значение(допустим 0). При подключении к удаленному объекту считываются файл с архивом этой переменной. Затем надо,чтобы в базу вместо старых BAD-значений записались архивные значения, считанные из файла, считанного с удаленного объекта,как здесь сделать, чтобы эти данные попали в базу именно с теми штампами времени, как в нашем файле.Т.е. как здесь синхронизировать данные в прошедшем времени, чтобы не было различий от режима непрерывного опроса.
    Так сделать нельзя.
    А зачем записывать в базу значение с плохим признаком? Какой смысл отображать на тренде недостоверные значения?
    Чем не устраивает, что пока данных нет - тренд пустой, данные поступили - отобразились на тренде.
    А так - считать из файла архив с метками времени, и записать его в архив MasterSCADA можно.
    Спасибо.

  9. #9
    Пользователь Аватар для Olegis
    Регистрация
    24.07.2007
    Адрес
    Белгород
    Сообщений
    138

    По умолчанию

    Цитата Сообщение от SCADAMaster Посмотреть сообщение
    Так сделать нельзя.
    А зачем записывать в базу значение с плохим признаком? Какой смысл отображать на тренде недостоверные значения?
    Чем не устраивает, что пока данных нет - тренд пустой, данные поступили - отобразились на тренде.
    Спасибо! Вы абсолютно верно сказали. Я неправильно выразился. Тоже имел ввиду, что тренд при отсутствии связи не будет остановлен, а будут на нем типа недостоверные значения.

    А так - считать из файла архив с метками времени, и записать его в архив MasterSCADA можно.
    Где можно найти подробное описание структуры базы данных Firebird, которую формирует именно MasterSCADA при ее создании? Записать новые значения в созданную базу возможно только через процедуры Interbase или есть еще варианты(через Скрипты C#,например,пока не представляю как это реализовать)?
    Пишу на Assembler-е за еду

  10. #10

    По умолчанию

    Вам не нужно знать структуру хранения Firebird - просто архивируете значение выхода скрипта и все. Данные сами попадут в базу данных штатными средствами.
    Вам сначала нужно определиться - будете вы читать данные через HDA или же через скрипт.

    Если будут использовать скрипт, то вам нужно будет открыть ваш файл, считать и разобрать его. Затем записывать значения на выход скрипта при помощи команды SetValue. В библиотеке, в разделе "Примеры скриптов" есть пример "Добавление произвольной метки времени" - там идет работа с этой функцией. Выход скрипта должен архивироваться (поставьте галочку на закладке "Архив") - он и будет хранить считанные данные.
    Единственное требование - данные должны монотонными, то есть нельзя записывать значение с меткой времени 21:20, а потом 21:19.

    В ОРС сервере делается аналогично но используя стандартные Lua функции. Открываете файл, считываете, разбираете, сортируете записываете в HDA тег. Скада эти данные получает.
    Спасибо.

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Передача данных в SQL
    от Роман26 в разделе Эксплуатация
    Ответов: 14
    Последнее сообщение: 18.05.2015, 15:23
  2. Запись данных с ТРМ-138 на ПК
    от kelevra40 в разделе Сетевые технологии
    Ответов: 2
    Последнее сообщение: 13.02.2012, 15:40
  3. Ошибки данных в RS-485
    от antonsaitov в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 30.12.2011, 12:10
  4. Получение данных из MS SQL в MasterSCADA
    от energy_aleks в разделе Master SCADA 3
    Ответов: 32
    Последнее сообщение: 30.04.2011, 18:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •