Контроллер автоматизации на базе SK-9G45-OEM
dsvost |
|
![dsvost dsvost](uploads/avatars/00.gif) |
|
|
|
|
|
Пункты: 1158 |
Регистрация: 17.06.2012 |
Пол: Мужчина |
|
|
Всем, привет!
Хочу продемонстрировать нашу разработку RD CONTROL GATE сделанную на базе модуля SK-9G45-OEM.
Ручки и тумблеры для целей отладки софта :).
Контроллер предназначен для задач удаленного мониторинга и управления оборудованием.
На борту имеет:
Аналоговые входы: 4 шт.
Дискретные входы: 8 (4 гальванически развязанных) шт.
Дискретные выходы: 8 (гальванически развязанных) шт.
RS232: 1 шт. (линии TX, RX, RTS, CTS).
RS485: 2 шт.
1-Wire: 1 шт.
Ethernet: 1 шт.
DEBUG: 1 шт. (UART TTL уровни)
Разъем расширения: GPIO 8 шт., SPI 1 (4 CS)
Контроллер работает под управлением операционной системы Linux, и собственной программной платформы RD/IO.
RD/IO позволяет создавать решения для удаленного мониторинга и управления просто, быстро и эффективно.
Подробнее о платформе можно узнать на сайте www.remote-devices.io
Там же можно посмотреть видео-ролики, демонстрирующие работу с веб-интерфейсом контроллера и некоторые примеры человеко-машинного интерфейса.
RD/IO это дополнительный слой поверх BSP, который включает следующие компоненты:
Слой абстракции аппаратных интерфейсов. Разработчик управляющей логики изолирован от "сложности" аппаратных интерфейсов. Для него безразлично как подключено реле - к собственному дискретному выходу контроллера или к одному из выходов внешнего PLC, с которым контроллер общается по Modbus/RTU на шине RS485. В основе реализации лежит концепция виртуальных устройств и их карт (карта состоит из тегов, где каждый тег это определенный параметр подключенного к контроллеру устройства).
Подсистема PLC - предоставляет управляемую, многозадачную среду выполнения управляющей логики. Каждая программа управления, выполняется в отдельном потоке (параллельно с другими) циклически с заданной периодичностью или по определенному событию. Программа задачи может быть реализована на языке JavaScript или используя графический язык Function Block Diagram, где из отдельный блоков можно составить алгоритм управления. Код на JavaScript, который изменяет состояние реле, для примера, может выглядеть следующим образом IO.RELAY1.STATE = 1, где IO - это глобальная переменная доступа к внешним устройствам (сенсоры, реле, внешние контроллеры Modbus/RTU и прочее), RELAY1 - внешнее устройство, STATE - имя параметра (тег), как оно определено в карте устройства. Редакторы программ управления (включая графический редактор на языке функциональных блоков) доступны непосредственно в веб-интерфейсе контроллера!
Подсистема конфигурации. Управляет всей конфигурацией платформы. Файлы конфигурации в формате валидируемого XML. Каждому файлу конфигурации соответствует разработанная схема XSD, таким образом загрузка некорректной конфигурации исключена. Портирование RD/IO на другую аппаратную платформу под управлению Linux, упрощается благодаря наличию конфигурационного файла уровня отдельных пинов процессора контроллера! Программа управления на языке FBD также хранится в формате валидируемого XML. По всем файлам конфигурации формируется итоговая MD5 сумма, которую можно получить удаленно через Web API.
Веб-приложение - предоставляет среду для администрирования, разработки управляющей логики (прямо в веб-интерфейсе контроллера) и отображения человеко-машинного интерфейса (HMI). Веб-приложение основано на открытом фреймворке CppCMS, таким образом серверная часть веб-приложения написана на C++, что обеспечивает действительно высокую производительность даже на железе с конфигурацией 433мГц/64Мб.
Открыт к общению, жду Ваших комментариев. |
|
|
|
|
|
|