Изменение частоты сбора данных с System Platform

Задача собрать данные с частотой 100 мс

Как правило для сбора данных с устройств ввода-вывода подходит скорость сбора от 1 сек и более. Сохранение данных на сервер Historian рекомендуется по скорости изменения, см. Swinging door, Rate deadband Но, часто возникает задача скоростного сбора части данных, например, с дискретностью 100 мс.


Ниже описанный алгоритм тестировался в условиях:

  • Application Server 2012 R2 (3.6) patch 1
  • Historian 11 patch 1
  • Обмен между ПЛК Siemens S7-300 и DI object SiDirect 3.0 (обмен по сети Ethernet 100 мбит/сек)
  • Переменная хранилась в DB1.DBW2 частота изменения переменной +1 за 10 мс
  • Для достижения частоты изменения 10 мс. использовалась OB38 с прерыванием 10мс

Для увеличение скорости сбора данных:

  1. Настройки объекта из шаблона $S7C_S7 (ПЛК S7 300 | 400):
    • Все выбранные для высокоскоростного обмена переменные вынести в отдельный топик с частотой опроса 100 мс и типом ActiveOnDemand
    • Остальные переменные для которых не требуется высокая скорость сбора определить в других топиках
  2. Настройки AppEngine
    • закладка General
      • Галочка enable storage to Historian установлена, сервер Historian настроен и указан
      • Scan period = 1000 ms
    • закладка R/W Interrupts
      • Number of read/write interrupts = 10
      • галочка Enable Standard interrupts стоит
      • галочка Enable full interrupts НЕ стоит
  3. Настройки атрибута объекта
    • Галочка Buffered установлена
      • Галочка Buffered — создает буфер для сохранения в него значений в пределах Scan period AppEngine. По окончании времени скана буфер отправляется в Historian. Если эта галочка не установлена, то чаще чем время скана AppEngine данные в Historian не отправить
  4. Минимально необходимые настройки выполнены, но кроме выше перечисленного рекомендуется:
    • Для сохранения данных по скорости изменения

На практике идеальных 100 мс не добиться, частота немного отличается от 100 мс, примерно в диапазоне 40..120 мс

Вот получившийся пример частоты, см. абсолютное значение в мс:

  • 087 мс
  • 118 мс delta = 31 мс
  • 165 мс delta = 47 мс
  • 259 мс delta = 94 мс
  • 383 мс delta = 124 мс
  • 508 мс delta = 125 мс
  • 571 мс delta = 63 мс
  • 664 мс delta = 93 мс
  • 773 мс delta = 109 мс
  • 867 мс delta = 94 мс
  • 961 мс delta = 94 мс

Проверять результаты удобно из Historian Client Query обязательно выставив retrieval mode «Full»

Добавить комментарий