Инструменты пользователя

Инструменты сайта


doku.php_concept:структура_взаимодействия_по

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

doku.php_concept:структура_взаимодействия_по [2024/10/22 19:37] – создано administratordoku.php_concept:структура_взаимодействия_по [2024/10/22 19:40] (текущий) – удалено administrator
Строка 1: Строка 1:
-====== Структура программного взаимодействия ====== 
  
-В устройстве выделяется 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).  
- 
-==== Модуль исполнения рецептов ==== 
-Задача модуля разложить рецепт согласно таблицы рецептов на выполняемые шаги и перечень устройств задействованных в данном шаге. 
doku.php_concept/структура_взаимодействия_по.1729625872.txt.gz · Последнее изменение: 2024/10/22 19:37 — administrator