Добавление снапшотов, состояний и событий
Типовые конфигурации для драйверов содержат необходимый минимум параметров, которые будут читаться со станка и интерпретироваться системой DPA. Для большинства драйверов есть возможность настроить чтение дополнительных значений, например, сбор информации по инструментам, по позициям осей, температурам, R – регистрам и прочему. После этого можно добавить их хранение/отображение в системе DPA в виде индикаторов, формировать по ним отчеты или настроить по ним сигналы.
Для того, чтобы организовать чтение дополнительных значений со станка нужно проделать следующие действия:
- Настроить snapshot. Снапшот – это порция данных, которую драйвер читает за один раз со станка. Это может быть вызов какой-то функции станка (API), чтения ячейки памяти или подписка на какое-то событие станка.
- Настроить состояние драйвера. Состояние драйвера – это вычисляемый осмысленный набор данных привязанный к кой-то структурной единицы станка. Состояния вычисляются на основе данных из снапшотов или других состояний станка.
- Настроить событие. Не все состояния отправляются в DPA.Host. Например, некоторые состоянии промежуточные (используются для вычисления других состояний). События предназначены для того, чтобы указать какие состояния и в каких случаях необходимо отправлять в DPA.Host.
Добавление снапшота
Для добавления снапшота необходимо:
- 1. Перейти в раздел Мониторинг => и выбрать драйвер, в который будет добавлен снапшот.
- 2. Выбрать пункт Snapshots, нажать на него правой кнопкой мыши и в контекстном меню выбрать Добавить => Снапшот.
- 3. Заполнить форм и нажать кнопку Создать.
Каждый тип драйвера имеет свою форму настройки снапшота. Примеры:
- Siemens
После того, как снапшот добавлен, можно убедиться в корректности его настройки, для этого необходимо выбрать пункт в только что созданном снапшоте. В открывшейся форме будет отображать список полей, который есть в снапшоте, с их текущими значениями, или же сообщение об ошибке.
Добавление состояния драйвера
Для добавления состояния драйвера необходимо:
- 1. Перейти в раздел Мониторинг => и выбрать драйвер, в который будет добавлено состояние.
- 2. Выбрать пункт States, нажать на него правой кнопкой мыши и в контекстном меню выбрать Добавить => Cостояние драйвера.
- 3. Заполнить форм и нажать кнопку Создать.
В форме необходимо выбрать состояния сервера из перечня доступных типов. Состояние сервера – это перечень имен полей которые будет вычислять состояние драйвера. Если в списке отсутствует подходящее состояние сервера, то его можно создать.
Так же, в форме необходимо выбрать структурную единицу станка, к которой будет привязано состояние. Например, если мы создаём состояние, которое будет содержать себе информацию о работе двигателя шпинделя (скорость, передачу, температуру), то в качестве этой структурной единицы нужно указать этот шпиндель. Если данные специфичны для канала, то нужно выбрать этот канал, если же это общие данные для всего станка, то в качестве структурной единицы следует выбрать ЧПУ.
После того, как состояние драйвера будет создано, необходимо настроить для него события (триггеры), при срабатывании которых это состояние будет вычисляться и провайдер состояния – скрипт, описывающий логику вычисления состояния.
Для того чтобы добавить триггер необходимо кликнуть правой кнопкой мышки на состояние и в контекстном меню выбрать Добавить => Триггер состояния.
Триггеры бывают трех типов:
- Snapshot – при выборе этого типа триггера необходимо указать снапшот, триггер будет срабатывать каждый раз, когда данные в указанном снапшоте изменились.
- State – при выборе этого типа триггера необходимо указать другое состояние драйвера, триггер будет срабатывать каждый раз, когда данные в указанном состоянии изменились.
- Timer – при выборе этого типа триггера необходимо указать интервал времени – периодичность срабатывания триггера.
У одного состояния может один или более триггеров, при срабатывании любого из них будет запущен скрипт вычисления нового состояния.
Для того чтобы добавить провайдер состояния необходимо кликнуть правой кнопкой мышки на состояние и в контекстном меню выбрать Добавить => Провайдер состояния. Далее необходимо указать тип провайдера:
- Simple – тип провайдера состояния в котором указывается откуда брать значения для вычисления каждого поля текущего состояния. В качестве значений можно использовать любые поля снапшотов или других состояний (желательно, предварительно добавить триггеры на снапшоты и состояния). Также можно применить элементарные функции (умножение на коэффициент или сравнения с другим значеним). Или же указать константное значения для поля состояния.
- Script – тип провайдера состояния в котором для вычисления состояния используется скрипт написанный на языка C# и реализующий интерфейс IStateProvider.
После создания состояния оно находится в деактивированном режиме. Активировать его можно поле того, как будут добавлен хотя бы один триггер и настроен провайдер состояния. Для активации нужно выбрать состояние и нажать кнопку Активировать. После активации можно просмотреть текущие значения в состоянии, для этого необходимо выбрать пункт в только что созданном состоянии. В открывшейся форме будет отображать список полей со значениями или же сообщение об ошибке.
Добавление события драйвера
События драйвера предназначены для отправки состояний драйверов в Dpa.Host.
Для добавления события необходимо:
- 1. Перейти в раздел Мониторинг => и выбрать драйвер, в который будет добавлено событие.
- 2. Выбрать пункт Events, нажать на него правой кнопкой мышки и в контекстном меню выбрать Добавить => Событие драйвера.
- 3. Указать имя события (любой текст) и нажать кнопку Создать.
Также, как и для состояния, у события нужно настроить триггеры, при срабатывании которых данные будет отправлены на Dpa.Host.
Затем необходимо добавить провайдер события – какие именно данные отправлять. В качестве данных можно указать любое из состояний, настроенных до этого.
Кроме того, у события необходимо выбрать Шаблон:Транспорт доставки.
И после всех этих действий, событие нужно активировать, аналогично тому, как активируются состояния драйвера.
Чтобы быстро создать событие для состояния, можно в контекстном меню у состояния выбрать пункт Добавить => Событие состояния, в этом случае будет создано событие с один триггером по выбранному состоянию и это же состояние будет указано в качестве провайдера события.