Segnetics

Вернуться   Segnetics > База знаний > Библиотека

Библиотека Здесь сосредоточены познавательные статьи, раскрывающие те или иные аспекты оборудования или условий его применения

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.06.2017, 12:00   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Программирование Trim5 и SMH4 на С++ без использования toolchain

Потребуется:
  • Подключение по протоколу SFTP
  • Подключение по протоколу SSH
  • Хороший текстовый редактор с выделением синтаксиса и работой в SFTP, например sublime text
  • Выход контроллера в интернет (нужен только на этапе подготовки, в работе не нужен)


Подготовка к работе:

  1. Установить консольное подключение по SSH (логин root, пароль как задано в smlogix)
  2. cp -f /etc/apt/sources.list /etc/apt/sources.list_bak - делаем бэкап списка репозиториев
  3. echo "dns-nameservers 8.8.8.8" >> /etc/network/interfaces - это настройка dns-сервера на google
  4. echo "deb http://ftp.de.debian.org/debian/ jessie main contrib non-free" >> /etc/apt/sources.list - это добавления репозитория debian
  5. apt-get update - обновление списка пакетов репозитория. Занимает продолжительное время (около 5 минут)
  6. apt-get install libmodbus-dev - установка пакета разработчиков библиотеки протокола MODBUS
  7. apt-get install libmodbus5 - установка самой библиотеки протокола MODBUS
  8. apt-get install gpp - установка компилятора
  9. apt-get install g++ - установка компилятора
  10. apt-get install make - установка утилиты make, которая позволяет компилировать большие проекты с использованием Makefile
  11. 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

---

Работа примера:
  1. Загрузить проект SMLogix в контроллер, дождаться полной загрузки проекта
  2. По SFTP закачать на контроллер папку с двумя файлами: mod.cpp и Makefile. Можно создать папку /var/mod
  3. В SSH-сессии перейти в эту папку (команда cd /var/mod)
  4. Далее написать в консоли make. Компилятор должен сразу вывести вторую строку из Makefile и «задуматься» на некоторое время (5-10 секунд). После этого снова появится строка ввода команды – это значит, что всё хорошо
  5. Запустить программу. Команда ./mod
  6. Наблюдать, как на экране контроллера побегут увеличивающиеся цифры
  7. Файлы mod.cpp и Makefile можно удалить, они больше не нужны
Вложения
Тип файла: zip project_mod.zip (14.4 Кбайт, 232 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.

Последний раз редактировалось Ilya J., 08.07.2019 в 15:40 Причина: Исправление ошибки примера.
Arsie вне форума   Ответить с цитированием
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Вкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Matrix, Trim5, SMH4 и USB. Решение проблем, если они есть Arsie Библиотека 4 21.09.2021 15:37
Удаленный перезапуск (перезагрузка) контролера SMH4, Trim5 monstr696 Форум Segnetics 26 18.05.2020 21:03
Помогите настроить связь между Trim5 и SMH4 (решено) HWAK SMConnect & SMConfig 10 25.04.2018 12:50
C++ без toolchain на SMH4 archi Вопросы о программировании 8 15.11.2017 15:47


Часовой пояс GMT +4, время: 01:29.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023