Введение
OpenSource операционные системы и приложения для них получают все большее распространение. Появление высокопроизводительных и недорогих контроллеров с ОС Linux позволяет использовать их как альтернативу традиционным PLC в автоматизации производственных процессов, а богатый выбор свободного программного обеспечения для разработки графических приложений дает возможность создавать HMI любой сложности. Проект LxDCS - попытка создания набора библиотек и базовых приложений для создания распределенных систем управление технологическим оборудованием.
Назначение
Пакет предназначен для разработки систем автоматизации производственных процессов разных уровней сложности, от автономных систем сбора данных и управления на базе ПК и микроконтроллеров, до распределенных многоуровневых комплексов включающих Linux-контроллеры, станции HMI и сервера данных, связанные локальной сетью с обменом данными в реальном времени, децентрализованной обработкой и с возможностью резервирования оборудования и хранилищ данных. Поддержка стандартных промышленных протоколов позволяет использовать в составе систем так же PLC и другие устройства. Пакет ориентирован на специалистов, имеющих представление о системах UNIX/Linux и программировании на языке Си. Однако, как показывает 10-летняя практика использования, для создания несложных систем cбора данных достаточно набора входящих в пакет приложений.
Идеология
При разработке архитектуры системы использовались следующие принципы:
- Компактный программный код с минимальным использованием внешних библиотек и тулкитов.
- Переносимость на разные аппаратные платформы другие UNIX-подобные ОС.
- Использование одних и тех же приложений на всех уровнях - от микроконтроллерах до сервера. Любое приложение может работать как автономно, так и в любой комбинации элементов системы.
- Масштабируемость - возможность построения от простых автономных систем контроля до территориально распределенных комплексов.
- Максимальное упрощение разарботки управляющих программ, новых приложений и драйверов ввода-вывода с использованием библиотеки LxDCS и программных шаблонов.
При разработке пакета не использовались типовые для коммерческих SCADA систем технологии, эффективность которых вызвает много вопросов:
- Какие-либо графические средства конфигурирования. Приложения настраиваются редактированием простых текстовых файлов, как это принято в UNIX системах. Таким образом, для изменения параметров любого элемента системы необходимо иметь только удаленный доступ (telnet, ssh, FTP). Процесс реконфигурирования не требует остановки или перезагрузки LxDCS-хостов.
- Технология OPC, которая большинстве случаев усложняет и замедляет процесс обмена данными. Для связи с устройствами ввода-вывода в базовой системе используются стандартные интерфейсные протоколы, принятые в промышленной автоматизации, позволяет использовать большое число стандартного оборудования. Простая архитектура системы дает возможность даже начинающему программисту самостоятельно создавать драйверы для любого нестандартного устройства, имеющего открытый протокол.
- SQL-СУБД. Как показывает практика, эта технология крайне неэффективна для работы с однородными технологическими данными, тем более в реальном времени. В LxDCS для хранения данных используется собственная БД. Для экспорта возможно создавать массивы данных в виде .csv файлов. При необходимости возможна разработка SQL-интерфейса к БД или любого другого способа получения данных, так как БД имеет простую и открытую структуру.
- МЭК-языки. Для написания сложных управляющих программ используется язык Си и библиотеки пакета. Так же нет никаких ограничений для создания приложений на любом другом языке, допускающем прямую работу с памятью и файлами. По сравнению с МЭК-языками это значительно расширяет возможности управления сложными процессами, где требуется большой объем вычислений, или сложные алгоритмы работы. В простеших случаях достаточно элементарной обработки данных (арифметика, извлечение кв.корня, логические операции), эти операции можно выполнять непосредственно в драйверах ввода-вывода, с помощью директив в конфигурационном файле.
Состав пакета
- Подсистема ввода-вывода.
- Подсистема архивирования данных.
- Сетевая подсистема.
- Подсистема X Window визуализации.
- Подсистема WEB-визуализации.
- Библиотека функций для разработки управляющих программ, драйверов УСО и средств отображения.
Контакты
С вопросами и предложениями, а так же если Вы желаете присодиниться к разработке -
Email: [email protected]
© 2008-2013 LPS