start
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| start [2024/07/22 13:18] – [Винтовая передача] administrator | start [2024/11/28 18:38] (текущий) – [Материнская плата] administrator | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== | + | ====== |
| - | Протокол взаимодействия верхнего | + | |
| + | В устройстве выделяется 3 уровня программного обеспечения: | ||
| + | * верхний (пользовательский интерфейс оператора " | ||
| + | * основной (программное обеспечение основного вычислительного модуля); | ||
| + | * аппаратный (программное обеспечение модуля обладающего своим MCU); | ||
| + | |||
| + | ===== Пользовательский интерфейс оператора (верхний уровень) ===== | ||
| + | Данный уровень программного обеспечения предназначен для взаимодействия оператора с прибором. | ||
| + | Он обеспечивает: | ||
| + | * авторизацию пользователя в системе; | ||
| + | * логирование действий пользователя; | ||
| + | * отправки команды на выполнение рецепта; | ||
| + | * логирование действий элементов системы при выполнении рецепта; | ||
| + | * остановку выполнения рецепта; | ||
| + | * логирование результатов выполнения рецепта; | ||
| + | * отображение в удобном для пользователя виде результатов выполнения рецепта (таблицы, | ||
| + | С точки зрения физического уровня пользовательский интерфейс (далее GUI) взаимодействует с основным вычислительным модулем (далее материнская плата) посредством USB, RS-232/485, Ethernet (LAN, Wi-Fi, GSM), Bluetooth. GUI отправляет команды управления (номера рецептов) в материнскую плату, где находится модуль исполнения рецептов, | ||
| + | |||
| Структура посылки верхнего уровня. | Структура посылки верхнего уровня. | ||
| ^ № байта ^ Определение | ^ № байта ^ Определение | ||
| Строка 17: | Строка 33: | ||
| Перечень команд протокола верхнего уровня. | Перечень команд протокола верхнего уровня. | ||
| ^ № П/П ^ ID команды ^ Описание | ^ № П/П ^ ID команды ^ Описание | ||
| - | | 1 | 0x1000 | + | | 1 | 0x1000 |
| - | | 2 | 0x1001 | + | | 2 | 0x1001 |
| | 3 | 0x1002 | | 3 | 0x1002 | ||
| + | | 4 | 0x1003 | ||
| + | | 5 | 0x1004 | ||
| - | ====== Материнская плата ====== | + | |
| - | ===== Модуль исполнения рецептов | + | |
| + | |||
| + | |||
| + | ===== ПО материнской платы (основной уровень) | ||
| + | Под основным уровнем программного обеспечения подразумевается программа выполняемая в основном вычислительном модуле. | ||
| + | Задачи данного программы уровня: | ||
| + | * Выполнение основной логике прибора (Модуль исполнения рецептов). В данном случае в приборе реализованы алгоритмы всех возможных рецептом. Каждый рецепт имей свой идентификатор доступный пользователя ПК. Так же данная программа хранит в себе все тайминги для выполнения рецептов и ключевые значения для проверки правильности его выполнения. В данном уровне кода реализованы все алгоритм сценариев отработки ошибок. Что имеется в виду — ошибка аппаратного уровня (модуля) может повлиять на работу не только самого модуля но и других узлов входящих в состав прибора. По этому основной уровень программного обеспечению все цело и полностью владеет информацией критериях ошибок от каждого из модулей и алгоритма поведения всего прибора при возникновении такой ошибки в одном из модулей. | ||
| + | * Возможность конфигурирования (Конфигурационный модуль). Основной код программы должен обеспечить получение от пользователя конфигурационных данных своего узла. Разбить эти данные на соответствующие конфигурационные параметры и отправить их соответствующему модулю аппаратного уровня. В случае отсутствие и аппаратного модуля (узла) своего собственного MCU (данный модуль подключен на прямую к вычислительному модулю по одному из физических интерфейсов SPI, I2C, UART и является ведомой периферией для вычислительного модуля), | ||
| + | * Взаимодействие с GUI (Модуль взаимодействия с GIU) производится через отправку следующих сообщений: | ||
| + | |||
| + | a. Применить свойство. | ||
| + | б. Выполнить команду. | ||
| + | в. Вычитать состояние | ||
| + | г. Отправить сообщение | ||
| + | Для такого взаимодействия доступны следующие физические интерфейсы (USB, RS-232/485, Ethernet (LAN, Wi-Fi, GSM), Bluetooth). | ||
| + | |||
| + | ==== Модуль исполнения рецептов ==== | ||
| Задача модуля разложить рецепт согласно таблицы рецептов на выполняемые шаги и перечень устройств задействованных в данном шаге. | Задача модуля разложить рецепт согласно таблицы рецептов на выполняемые шаги и перечень устройств задействованных в данном шаге. | ||
| + | |||
| + | ==== Конфигурационный модуль ==== | ||
| + | |||
| + | ==== Модуль взаимодействия с GIU ==== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Аппаратный уровень ===== | ||
| + | Данный уровень относится к модулям, | ||
| + | 1. Самодостаточность: | ||
| + | 2. Зависимое: | ||
| + | * изменить параметр конфигурации периферии модуля или все конфигурацию целиком | ||
| + | * вычитать текущую конфигурацию периферии устройства или всего устройства целиком. | ||
| + | * выполнить команду (для каждого устройства набор команд и их структура будет индивидуальным). Так как набор параметров у каждого устройства фиксированное число то будет реализован следующий алгоритм хранения этих параметров во FLASH памяти: | ||
| + | 3. уникальность. Каждый модуль будет иметь свой уникальный идентификатор (расширение на будущее). | ||
| + | (отработка данного подхода на модуле управления шаговыми двигателями) | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Строка 34: | Строка 111: | ||
| 4.В перспективе также появляется возможность генерирования модели микрофлуидного блока на основании гидравлической схемы, заложенной в модели, | 4.В перспективе также появляется возможность генерирования модели микрофлуидного блока на основании гидравлической схемы, заложенной в модели, | ||
| Система моделирования должна иметь вложенную систему, | Система моделирования должна иметь вложенную систему, | ||
| - | + | {{ : | |
| Пользовательский интерфейс отправляет команды управления в материнскую плату контроллера, | Пользовательский интерфейс отправляет команды управления в материнскую плату контроллера, | ||
| После составления модели ее части (рецепты, | После составления модели ее части (рецепты, | ||
| Строка 44: | Строка 121: | ||
| ===== Девайсы ===== | ===== Девайсы ===== | ||
| | | ||
| + | |||
| + | ==== Материнская плата ==== | ||
| + | Девайс материнская плата представляет из себя устройство которое слушает заданный порт (при физическом исполнении к материнской плате подключены драйвера по различным интерфейсам Ethernet, RS-232, RS-485, CAN, USB и т.п.). Структура МП должна содержать интерфейс по которому к ней будут подключатся девайсы (GUI пользователя и драйвера устройств) и входные данные. В случае модели в качестве порта будет выступать TCP сокет (IP адрес и номер порта) который ждет клиентов. В качестве клиентов выступаю драйвера устройств и GUI пользователя. Структура взаимодействия МП с клиентами изображена на схеме. | ||
| + | ==== Драйвер ==== | ||
| + | Драйвер обеспечивает управление | ||
| + | {{ : | ||
| + | === Описание структуры взаимодействия === | ||
| + | По каналу 1 (от GUI) на материнскую плату приходит номер рецепта. Материнская плата получив рецепт раскладывает его на под рецепты согласно таблице рецептов. То есть разбивает рецепт на устройства задействованные в нем и порядок положений для каждого устройства для выполнения заданного рецепта. Так же на материнской плате хранится логика положений согласно которой происходит построение последовательности движений по положениям (пример: | ||
| ==== Шаговый двигатель ==== | ==== Шаговый двигатель ==== | ||
start.1721654334.txt.gz · Последнее изменение: 2024/07/22 13:18 — administrator
