start
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| start [2024/10/22 18:59] – [Материнская плата] administrator | start [2024/11/28 18:38] (текущий) – [Материнская плата] administrator | ||
|---|---|---|---|
| Строка 16: | Строка 16: | ||
| * логирование результатов выполнения рецепта; | * логирование результатов выполнения рецепта; | ||
| * отображение в удобном для пользователя виде результатов выполнения рецепта (таблицы, | * отображение в удобном для пользователя виде результатов выполнения рецепта (таблицы, | ||
| - | С точки зрения физического уровня пользовательский интерфейс (далее GUI) взаимодействует с основным вычислительным модулем (далее материнская плата) посредством Ethernet | + | С точки зрения физического уровня пользовательский интерфейс (далее GUI) взаимодействует с основным вычислительным модулем (далее материнская плата) посредством |
| Структура посылки верхнего уровня. | Структура посылки верхнего уровня. | ||
| Строка 43: | Строка 43: | ||
| + | ===== ПО материнской платы (основной уровень) ===== | ||
| + | Под основным уровнем программного обеспечения подразумевается программа выполняемая в основном вычислительном модуле. | ||
| + | Задачи данного программы уровня: | ||
| + | * Выполнение основной логике прибора (Модуль исполнения рецептов). В данном случае в приборе реализованы алгоритмы всех возможных рецептом. Каждый рецепт имей свой идентификатор доступный пользователя ПК. Так же данная программа хранит в себе все тайминги для выполнения рецептов и ключевые значения для проверки правильности его выполнения. В данном уровне кода реализованы все алгоритм сценариев отработки ошибок. Что имеется в виду — ошибка аппаратного уровня (модуля) может повлиять на работу не только самого модуля но и других узлов входящих в состав прибора. По этому основной уровень программного обеспечению все цело и полностью владеет информацией критериях ошибок от каждого из модулей и алгоритма поведения всего прибора при возникновении такой ошибки в одном из модулей. | ||
| + | * Возможность конфигурирования (Конфигурационный модуль). Основной код программы должен обеспечить получение от пользователя конфигурационных данных своего узла. Разбить эти данные на соответствующие конфигурационные параметры и отправить их соответствующему модулю аппаратного уровня. В случае отсутствие и аппаратного модуля (узла) своего собственного MCU (данный модуль подключен на прямую к вычислительному модулю по одному из физических интерфейсов SPI, I2C, UART и является ведомой периферией для вычислительного модуля), | ||
| + | * Взаимодействие с GUI (Модуль взаимодействия с GIU) производится через отправку следующих сообщений: | ||
| - | ====== Материнская плата ====== | ||
| - | Под основным уровнем программного обеспечения подразумевается программа выполняемая по основном вычислительном модуле. Задачи данного программы уровня: | ||
| - | - Выполнение основной логике прибора. В данном случае в приборе реализованы алгоритмы всех возможных рецептом. Каждый рецепт имей свой идентификатор доступный пользователя ПК. Так же данная программа хранит в себе все тайминги для выполнения рецептов и ключевые значения для проверки правильности его выполнения. В данном уровне кода реализованы все алгоритм сценариев отработки ошибок. Что имеется в виду — ошибка аппаратного уровня (модуля) может повлиять на работу не только самого модуля но и других узлов входящих в состав прибора. По этому основной уровень программного обеспечению все цело и полностью владеет информацией критериях ошибок от каждого из модулей и алгоритма поведения всего прибора при возникновении такой ошибки в одном из модулей. | ||
| - | - Возможность конкурирования. Основной код программы должен обеспечить получение от пользователя конфигурационных данных своего узла. Разбить эти данные на соответствующие конфигурационные параметры и отправить их соответствующему модулю аппаратного уровня. В случае отсутствие и аппаратного модуля (узла) своего собственного MCU (данный модуль подключен на прямую к вычислительному модулю по одному из физических интерфейсов SPI, I2C, UART и является ведомой периферией для вычислительного модуля), | ||
| - | - | ||
| a. Применить свойство. | a. Применить свойство. | ||
| б. Выполнить команду. | б. Выполнить команду. | ||
| Строка 55: | Строка 56: | ||
| Для такого взаимодействия доступны следующие физические интерфейсы (USB, RS-232/485, Ethernet (LAN, Wi-Fi, GSM), Bluetooth). | Для такого взаимодействия доступны следующие физические интерфейсы (USB, RS-232/485, Ethernet (LAN, Wi-Fi, GSM), Bluetooth). | ||
| - | ===== Модуль исполнения рецептов | + | ==== Модуль исполнения рецептов ==== |
| Задача модуля разложить рецепт согласно таблицы рецептов на выполняемые шаги и перечень устройств задействованных в данном шаге. | Задача модуля разложить рецепт согласно таблицы рецептов на выполняемые шаги и перечень устройств задействованных в данном шаге. | ||
| + | |||
| + | ==== Конфигурационный модуль ==== | ||
| + | |||
| + | ==== Модуль взаимодействия с GIU ==== | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Аппаратный уровень ===== | ||
| + | Данный уровень относится к модулям, | ||
| + | 1. Самодостаточность: | ||
| + | 2. Зависимое: | ||
| + | * изменить параметр конфигурации периферии модуля или все конфигурацию целиком | ||
| + | * вычитать текущую конфигурацию периферии устройства или всего устройства целиком. | ||
| + | * выполнить команду (для каждого устройства набор команд и их структура будет индивидуальным). Так как набор параметров у каждого устройства фиксированное число то будет реализован следующий алгоритм хранения этих параметров во FLASH памяти: | ||
| + | 3. уникальность. Каждый модуль будет иметь свой уникальный идентификатор (расширение на будущее). | ||
| + | (отработка данного подхода на модуле управления шаговыми двигателями) | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| Строка 67: | Строка 111: | ||
| 4.В перспективе также появляется возможность генерирования модели микрофлуидного блока на основании гидравлической схемы, заложенной в модели, | 4.В перспективе также появляется возможность генерирования модели микрофлуидного блока на основании гидравлической схемы, заложенной в модели, | ||
| Система моделирования должна иметь вложенную систему, | Система моделирования должна иметь вложенную систему, | ||
| - | + | {{ : | |
| Пользовательский интерфейс отправляет команды управления в материнскую плату контроллера, | Пользовательский интерфейс отправляет команды управления в материнскую плату контроллера, | ||
| После составления модели ее части (рецепты, | После составления модели ее части (рецепты, | ||
| Строка 77: | Строка 121: | ||
| ===== Девайсы ===== | ===== Девайсы ===== | ||
| | | ||
| + | |||
| + | ==== Материнская плата ==== | ||
| + | Девайс материнская плата представляет из себя устройство которое слушает заданный порт (при физическом исполнении к материнской плате подключены драйвера по различным интерфейсам Ethernet, RS-232, RS-485, CAN, USB и т.п.). Структура МП должна содержать интерфейс по которому к ней будут подключатся девайсы (GUI пользователя и драйвера устройств) и входные данные. В случае модели в качестве порта будет выступать TCP сокет (IP адрес и номер порта) который ждет клиентов. В качестве клиентов выступаю драйвера устройств и GUI пользователя. Структура взаимодействия МП с клиентами изображена на схеме. | ||
| + | ==== Драйвер ==== | ||
| + | Драйвер обеспечивает управление | ||
| + | {{ : | ||
| + | === Описание структуры взаимодействия === | ||
| + | По каналу 1 (от GUI) на материнскую плату приходит номер рецепта. Материнская плата получив рецепт раскладывает его на под рецепты согласно таблице рецептов. То есть разбивает рецепт на устройства задействованные в нем и порядок положений для каждого устройства для выполнения заданного рецепта. Так же на материнской плате хранится логика положений согласно которой происходит построение последовательности движений по положениям (пример: | ||
| ==== Шаговый двигатель ==== | ==== Шаговый двигатель ==== | ||
start.1729623579.txt.gz · Последнее изменение: 2024/10/22 18:59 — administrator
