Архитектура: снапшоты, состояния, события: различия между версиями

Материал из DPA
Перейти к навигации Перейти к поиску
Строка 58: Строка 58:
  
 
= Cостояния =
 
= Cостояния =
 +
 +
В отличие от снапшотов, которые могут содержать любую информацию, специфичную для реализации конкретных драйверов, состояния содержат структурированные данные, которые может интерпретировать система.
  
 
[[File:stateRelations.png]]
 
[[File:stateRelations.png]]

Версия 00:40, 31 марта 2020

Поток данных

Данные, считанные с ЧПУ или контроллера, проходят несколько этапов обработки и преобразований, прежде чем попасть в базу данных. На следующей схеме укрупнённо представлен конвейер обработки системы DPA:


DataFlow.png


Снапшот (snapshot) - представляет набор данных, считанных с ЧПУ или контроллера. Как правило, этот набор данных объединяет логически связанные данные и соответствует одной транзакции чтения данных с ЧПУ или контроллера.
Состояние (state) - отвечает за обработку "сырых" данных из снапшота и приведение к нормализованному виду, понятному системе.
Событие (event) - описывает то, как данные должны передаваться из DPA сервера в DPA хост, по какому событию и с использованием какого транспорта.
Транспорт - отвечает за пересылку данных по событиям драйверов от DPA сервера в DPA хост, определяет протокол и способ доставки. Подробнее можно прочитать тут: Архитектура Транспорта DPA.
Индикатор - логический объект данных для оборудования. Как правило, связан со структурной единицей (канал, шпиндель, ось и т.д.). Определяет способ хранения данных, а так же способ использование данных в аналитиках.

Снапшоты

Снапшот отвечает за низкоуровневое чтение данных с ЧПУ/контроллера. Конкретная реализация снапшота и его настроек очень сильно зависит от типа драйвера и протокола чтения данных. Чаще всего, но не обязательно, один снапшот соответствует одному запросу к ЧПУ/контроллеру. Снапшот может содержать несколько элементов данных.

Для доступа к снапшотам драйвера:

SystemMenu.png => MonitoringMenu.png => DPAhost \ DPAserver \ Драйвера \ <Драйвер> \ Snapshots\ <Снапшот>


Набор снапшотов определяется не только типом драйвера, но и конфигурацией оборудования, может зависеть от количества каналов, осей, шпинделей. Например, для 1-канального SIEMENS SINUMERIK c 3-мя осями и 1-м шпинделем может использоваться такой набор снапшотов:

  • Actual feedrate (channel 1)
  • Axis load (axis 1)
  • Axis load (axis 2)
  • Axis load (axis 3)
  • Feedrate override (channel 1)
  • Machine mode (channel 1)
  • Machine state (channel 1)
  • Machine statistics (channel 1)
  • Messages (channel 1)
  • NC program (channel 1)
  • NC sub program (channel 1)
  • Rapid traverse override (channel 1)
  • Spindle load (spindle 1)
  • Spindle override (spindle 1)
  • Spindle speed (spindle 1)


Настройки снапшота Machine mode для 1-го канала SIEMENS SINUMERIK могут выглядеть следующим образом:


Sinumerik machineModeSnapshot.png


Этот снапшот содержит 4 элемента данных (opMode, machFunc, trialRunActive, singleBlockActive). Так же для снапшота определяется частота чтения и таймаут чтения.

Текущее значение данных снапшота можно увидеть в узле Data.png:


Sinumerik machineModeSnapshot data.png

Cостояния

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

StateRelations.png


NcProgramServerState.png

NcProgramDriverState.png

Cобытия