Основой для проекта стала Web обвязка PHP + БД MySQL, серверный скрипт написанный на Python3 и PLC запрограммированный на Codesys 3.5.
Проект с закрытым исходным кодом, все права принадлежат компании ООО "Карапакс".
Разработка данного проекта производилась в 2017-2018 году. Основной задачей проекта было удаленное управление PLC на дальних расстояниях. Это было сделано для того, чтобы не ездить постоянно в командировки, для перенастройки оборудования. Ведь все рассчеты можно было сделать в офисе, а настройка заключалась в отправке десятка коэффициентов.
Что в себя включает данная система?
* Любое устройство, которое может выйти в интернет и открыть сайт
* PLC
* Сервер на Linux
* GSM модем
Как это выглядит?
Как это работает?
Программа на PLC написана на Codesys 3.5. На com порт PLC по интерфейсу rs-485 подключается GSM модем. Порт на PLC в режиме Slave. Протокол обмена Modbus RTU.
Сам GSM модем через интернет соединение общается с сервером. На сервере крутится скрипт, написанный на Python3. Этот сприпт принимает сокеты по определенному порту. Парсит их,
т.к. вся информация приходит по стандарту Modbus RTU. Далее скрипт помещает всю полученную информацию в БД MySQL. А уже пользователь, заходя в Web интерфейс, получает необходимую информацию. Так же все это работает в обратном направлении.
В ПУ создается задание, скрипт отправляет на модем, модем на PLC. В ПУ есть трендирование показателей, и информация по настройкам.
Эта система без особого фронта, почти голый html, трендирование за счет библиотеки js amCharts. Но оно особо и не нужно было здесь, головная боль - это связка всех компонентов в одну сеть. Все работает и сейчас, как надо и без проблем.
Далее идет небольшая серия подписанных фотографий: