Обработка асинхронных обновлений переменных

Некоторые коммуникационные протоколы позволяют устройствам асинхронно информировать сервер об обновлениях значений переменных. Это часто происходит в двух случаях:

  • Если коммуникационный протокол оптимизирован с целью избежания опроса через низкоскоростыне, ненадежные соединения с плохой пропускной способностью
  • Если устройство работает с операционной системой реального времени и коммуникационный протокол позволяет ему отправлять обновления значений с определенной скоростью

Если драйвер был разработан с целью получения асинхронных обновлений значений, он должен выполнить следующие действия при получении такого обновления:

  • Создать новую DataTable, представляющую значение переменной, и заполнить ее данными
  • Вызвать DeviceContext.asyncVariableUpdate(String variable, DataTable value)

AggreGate Server обработает новое значение, сохранит его в истории и доставит с целью обновления слушателей, как только будет вызвана asyncVariableUpdate().