Документация библиотеки и "железа" варианта
lite готова. Выкладываю ее здесь вместе с самой библиотекой (v 0.4.1.3). Архив
lite_0413.zip содержит следующие файлы:
1. Текст документации
lite_v041x_doc.pdf2. Папка
firmware с файлами прошивок микроконтроллеров всех модулей. Файлы разбиты по соответствующим папкам.
3. Папка
lays с вариантами разводок модулей.
4. Папка
lite_0413 с файлами самой библиотеки (файлы lite.py и main.py), примерами пользовательских скриптов (sr1.py и sr2.py) и универсальный клиент (файл client.py).
Документация состоит из двух частей: аппаратное обеспечение автоматики и программное обеспечение.
Содержание файла документации:
1. Введение
2. Первый уровень - аппаратная часть
2.1. Крейт
2.2. Датчик RMS сетевого напряжения с детектором нуля
2.3. Силовой модуль
2.4. Драйвер сервомашинки MG90S
2.5. Хаб 1-Wire устройств
2.6. Другие устройства
2.7. «Прошивка» микроконтроллеров модулей
3. Второй уровень — библиотека lite
3.1. Классы-обертки
3.2. Идентификация устройств и генерация объектов
3.3. Другие классы и объекты
3.4. Сервисные функции
3.5. Примеры «ручной» работы с библиотекой
3.5.1. Калибровка
3.5.2. Русские имена объектов
3.6. Модуль main
4. Примеры пользовательских скриптов
4.1. Первая ректификации спирта-сырца
4.2. Вторая ректификация спирта-ректификата
5. Простой универсальный клиент
1. Введение
Когда винокур начинает заниматься ректификацией спиртосодержащего сырья, рано или поздно он приходит к мысли о необходимости автоматизации этого процесса. Или - хотя бы некоторых базовых операций, таких как вывод колонны на рабочий режим, автоматическое регулирование мощности нагрева куба, скорости отбора на разных этапах ректификации и т.п. В настоящее время в Сети описано большое количество разнообразных систем автоматизации процесса ректификации. Но, так или иначе, любая такая система состоит из 1) исполнительных устройств (нагреватели, регуляторы скорости отбора и т.п.), 2) разнообразных датчиков (температуры, давления, напряжения питающей сети и т.п.) и 3) управляющего компьютера (или микроконтроллера) с соответствующим программным обеспечением, которые занимаются сбором информации с датчиков и управлением исполнительными устройствами. Разница между системами автоматизации, по сути, заключается лишь в организации взаимодействия этих подсистем и «распределении обязанностей» между ними.
Довольно часто система автоматизации представляют собой некий «моноблок» в основе которого лежит микроконтроллер (а иногда и несколько), обеспечивающий весь функционал системы. От низкоуровневого управления исполнительными устройствами и сбора данных с датчиков до реализации общей логики управления процессом и пользовательского интерфейса. В таких системах обычно предусмотрены средства изменения конфигурации оборудования и поведения системы. Но часто эти возможности ограничены из-за их «параметрического» (количественного) характера. Модификации производятся лишь путем изменения параметров, таких как количества температурных датчиков, устройств отбора, или же параметров самого процесса. Добавление же новых типов устройств или существенное изменение логики управления обычно связаны с перепрограммированием микроконтроллеров, что может представлять серьезные трудности для пользователя, не являющегося разработчиком данного программного обеспечения. Основная причина заключается в том, что программирование микроконтроллеров осуществляется, как правило, на низкоуровневых языках программирования (C, C++), а модификация чужого низкоуровневого кода требует достаточно высокой квалификации программиста и глубокого «погружения» в логику работы приложения.
В настоящее время наблюдается заметный рост популярности (главным образом - за счет платформы Arduino) и существенное падение цен на 8-битные микроконтроллеры. Это дает возможность снабдить каждое исполнительное устройство или датчик своим микроконтроллером, освободив тем самым управляющий компьютер от непосредственного выполнения низкоуровневых операций, связанных с данным «железом». Кроме того, такая «интеллектуализация» первичного «железа» дает возможность автоматического обнаружения, идентификации, тестирования подключенного к системе оборудования и создание соответствующей программной инфраструктуры для управляющего компьютера.
Будет уместно отметить еще один фактор, облегчающий решение отмеченных выше проблем традиционных схем автоматизации. Это появление недорогих, миниатюрных, но достаточно мощных микрокомпьютеров, снабженных полноценными linux-подобными операционными системами (один из наиболее популярных примеров — знаменитая Raspberry Pi, в миру - «малинка»). В результате появляется возможность реализации пользовательского интерфейса и общей логики управления процессом на высокоуровневых языках программирования, таких как простой и очень легкий в изучении язык python.
С учетом указанных факторов, систему автоматизации удобно (и вполне естественно) разбить на два уровня. Первый уровень - это уровень «реального времени». Он состоит из набора модулей, каждый которых содержит датчик или исполнительное устройство и микроконтроллер, обеспечивающий низкоуровневые операции в реальном времени и обмен данными со вторым уровнем. А на втором уровне находится управляющий микрокомпьютер с операционной системой и высокоуровневыми языками программирования, занимающийся задачами не требующими реакций в реальном времени, такими как общее управление процессом, пользовательский интерфейс, протоколирование и т.п.
Ниже, на примере классической ректификационной установки, описывается вариант построения системы автоматизации, основанной именно на таких принципах.
Продолжение в файле
lite_v041x_doc.pdf...