Это старая версия документа!
Содержание
Структура программного взаимодействия
В устройстве выделяется 3 уровня программного обеспечения:
- верхний (пользовательский интерфейс оператора «прибора»);
- основной (программное обеспечение основного вычислительного модуля);
- аппаратный (программное обеспечение модуля обладающего своим MCU);
Пользовательский интерфейс оператора (верхний уровень)
Данный уровень программного обеспечения предназначен для взаимодействия оператора с прибором. Он обеспечивает:
- авторизацию пользователя в системе;
- логирование действий пользователя;
- отправки команды на выполнение рецепта;
- логирование действий элементов системы при выполнении рецепта;
- остановку выполнения рецепта;
- логирование результатов выполнения рецепта;
- отображение в удобном для пользователя виде результатов выполнения рецепта (таблицы, графики и т.п.).
С точки зрения физического уровня пользовательский интерфейс (далее GUI) взаимодействует с основным вычислительным модулем (далее материнская плата) посредством USB, RS-232/485, Ethernet (LAN, Wi-Fi, GSM), Bluetooth. GUI отправляет команды управления (номера рецептов) в материнскую плату, где находится модуль исполнения рецептов, обрабатывающий команды и выполняющий рецепты последовательно из сформированной очереди.
Структура посылки верхнего уровня.
| № байта | Определение | Значение | Описание | Примечание |
|---|---|---|---|---|
| 0 | Start байт | 0x02 | Фиксированное значение | |
| 1 | ID устройства | 1…255 | ||
| 2 | Количество байт данных | 1…255 | Количество байт данных c 1-го по N | |
| 3 | ID команды | 0x00…0xFF | Младший байт | |
| 4 | ID команды | 0x00…0xFF | Старший байт | |
| 5 | Данные | 0x00…0xFF | ||
| 3 | … | 0x00…0xFF | ||
| N | Данные | 0x00…0xFF | ||
| N+3 | Stop байт | 0xA5 | Фиксированное значение |
Перечень команд протокола верхнего уровня.
| № П/П | ID команды | Описание |
|---|---|---|
| 1 | 0x1000 | Установка времени |
| 2 | 0x1001 | Запустить рецепт |
| 3 | 0x1002 | Выполнение рецепта |
| 4 | 0x1003 | Остановить рецепт |
| 5 | 0x1004 | Результаты рецепта |
ПО материнской платы (основной уровень)
Под основным уровнем программного обеспечения подразумевается программа выполняемая по основном вычислительном модуле. Задачи данного программы уровня:
- Выполнение основной логике прибора. В данном случае в приборе реализованы алгоритмы всех возможных рецептом. Каждый рецепт имей свой идентификатор доступный пользователя ПК. Так же данная программа хранит в себе все тайминги для выполнения рецептов и ключевые значения для проверки правильности его выполнения. В данном уровне кода реализованы все алгоритм сценариев отработки ошибок. Что имеется в виду — ошибка аппаратного уровня (модуля) может повлиять на работу не только самого модуля но и других узлов входящих в состав прибора. По этому основной уровень программного обеспечению все цело и полностью владеет информацией критериях ошибок от каждого из модулей и алгоритма поведения всего прибора при возникновении такой ошибки в одном из модулей.
- Возможность конкурирования. Основной код программы должен обеспечить получение от пользователя конфигурационных данных своего узла. Разбить эти данные на соответствующие конфигурационные параметры и отправить их соответствующему модулю аппаратного уровня. В случае отсутствие и аппаратного модуля (узла) своего собственного MCU (данный модуль подключен на прямую к вычислительному модулю по одному из физических интерфейсов SPI, I2C, UART и является ведомой периферией для вычислительного модуля), вычислительный модуль повторяет алгоритм хранения и применения параметров как был описано для аппаратный уровня с одним уточнение что данные параметры хранятся во FLASH памяти вычислительного модуля. Данная часть программного обеспечения знает абсолютно все о физических интерфейсах взаимодействия с периферийными модулями.
- Взаимодействие с пользователем (ПК) производится через отправку следующих сообщений:
a. Применить свойство. б. Выполнить команду. в. Вычитать состояние г. Отправить сообщение
Для такого взаимодействия доступны следующие физические интерфейсы (USB, RS-232/485, Ethernet (LAN, Wi-Fi, GSM), Bluetooth).
Модуль исполнения рецептов
Задача модуля разложить рецепт согласно таблицы рецептов на выполняемые шаги и перечень устройств задействованных в данном шаге.
