Потребуется:
- Подключение по протоколу SFTP
- Подключение по протоколу SSH
- Хороший текстовый редактор с выделением синтаксиса и работой в SFTP, например sublime text
- Выход контроллера в интернет (нужен только на этапе подготовки, в работе не нужен)
Подготовка к работе:
- Установить консольное подключение по SSH (логин root, пароль как задано в smlogix)
- cp -f /etc/apt/sources.list /etc/apt/sources.list_bak - делаем бэкап списка репозиториев
- echo "dns-nameservers 8.8.8.8" >> /etc/network/interfaces - это настройка dns-сервера на google
- echo "deb http://ftp.de.debian.org/debian/ jessie main contrib non-free" >> /etc/apt/sources.list - это добавления репозитория debian
- apt-get update - обновление списка пакетов репозитория. Занимает продолжительное время (около 5 минут)
- apt-get install libmodbus-dev - установка пакета разработчиков библиотеки протокола MODBUS
- apt-get install libmodbus5 - установка самой библиотеки протокола MODBUS
- apt-get install gpp - установка компилятора
- apt-get install g++ - установка компилятора
- apt-get install make - установка утилиты make, которая позволяет компилировать большие проекты с использованием Makefile
- cp -f /etc/apt/sources.list_bak /etc/apt/sources.list - восстанавливаем список репозиториев из бэкапа
На этом подготовка закончена.
Компилирование и пример программы.
Для просмотра примера в этом сообщении находятся файлы mod.cpp (файл с кодом) и Makefile, а также проект SMLogix.
Содержание Makefile:
Цитата:
mod: mod.cpp
g++ mod.cpp -o mod -I/usr/include/modbus -lmodbus
|
В первой строке находится информация о том, какой проект мы собираем, а после двоеточия - из какого файла. В данном случае, название бинарного исполняемого файла будет "mod", скомпилирован он будет из файла "mod.cpp".
Во второй строке после знака табуляции (обязательное требование) идёт инструкция компилятора. По словам:
- g++ - указание, что используется компилятор g++, который был установлен ранее (gpp)
- mod.cpp - название файла с исходным кодом
- -o - аргумент компилятору, указывающий на создание исполняемого файла
- mod - название целевого файла (должен совпадать с названием в первой строке)
- -I/usr/include/modbus -lmodbus - ссылка на расположение установленной библиотеки modbus
---
Работа примера:
- Загрузить проект SMLogix в контроллер, дождаться полной загрузки проекта
- По SFTP закачать на контроллер папку с двумя файлами: mod.cpp и Makefile. Можно создать папку /var/mod
- В SSH-сессии перейти в эту папку (команда cd /var/mod)
- Далее написать в консоли make. Компилятор должен сразу вывести вторую строку из Makefile и «задуматься» на некоторое время (5-10 секунд). После этого снова появится строка ввода команды – это значит, что всё хорошо
- Запустить программу. Команда ./mod
- Наблюдать, как на экране контроллера побегут увеличивающиеся цифры
- Файлы mod.cpp и Makefile можно удалить, они больше не нужны