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

Материал из DPA
Перейти к навигации Перейти к поиску
Строка 60: Строка 60:
  
 
В отличие от снапшотов, которые могут содержать любую информацию, специфичную для реализации конкретных драйверов, состояния содержат структурированные данные, которые может интерпретировать система. Основная функция состояний - привести данные к стандартному формату, структуре и составу.
 
В отличие от снапшотов, которые могут содержать любую информацию, специфичную для реализации конкретных драйверов, состояния содержат структурированные данные, которые может интерпретировать система. Основная функция состояний - привести данные к стандартному формату, структуре и составу.
 +
 +
На уровне DPA сервера определены глобальные типы состояний. Они задают "контракт" или "сигнатуру", которую должны обеспечивать состояния, определенные для каждого конкретного драйвера. Например, если на уровне DPA сервера определен тип состояния "Управляющая программа", и в нем содержатся два элемента данных ("Main program" и "Status"), то каждое состояние каждого драйвера, которое возвращает данные по управляющим программа, обязано следовать этим ограничениям.
  
 
[[File:stateRelations.png]]
 
[[File:stateRelations.png]]

Версия 02:39, 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остояния

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

На уровне DPA сервера определены глобальные типы состояний. Они задают "контракт" или "сигнатуру", которую должны обеспечивать состояния, определенные для каждого конкретного драйвера. Например, если на уровне DPA сервера определен тип состояния "Управляющая программа", и в нем содержатся два элемента данных ("Main program" и "Status"), то каждое состояние каждого драйвера, которое возвращает данные по управляющим программа, обязано следовать этим ограничениям.

StateRelations.png


NcProgramServerState.png

NcProgramDriverState.png

Cобытия