libximc
2.13.6
|
Для приобретения первых навыков использования библиотеки создано простое тестовое приложение testapp. Языки, отличные от C-подобных, поддерживаются с помощью вызовов с преобразованием аргументов типа stdcall. Простое тестовое приложение на языке C расположено в директории 'examples/testapp', проект на C# - в 'examples/test_CSharp', на VB.NET - в 'examples/test_VBNET', для delphi 6 - в 'example/test_Delphi', для matlab - 'examples/test_MATLAB', для Java - 'examples/test_Java', для Python - 'examples/test_Python'. Библиотеки, заголовочные файлы и другие необходимые файлы расположены в директориях 'win32'/'win64','macosx' и подобных. В комплект разработчика также входят уже скомпилированные примеры: testapp и testappeasy в варианте 32 и 64 бита под windows и только 64 бита под osx, test_CSharp, test_VBNET, test_Delphi - только 32 бита, test_Java - кроссплатформенный, test_MATLAB и test_Python не требуют компиляции.
ЗАМЕЧАНИЕ: Для работы с SDK требуется Microsoft Visual C++ Redistributable Package (поставляется с SDK, файлы vcredist_x86 или vcredist_x64).
ЗАМЕЧАНИЕ: Для работы на Linux требуется установить оба пакета libximc7_x.x.x и libximc7-dev_x.x.x целевой архитектуры в указанном порядке. Для установки пакетов можно воспользоваться .deb командой: dpkg -i имя_пакета.deb, где имя_пакета.deb — это имя файла пакета (пакеты в Debian имеют расширение .deb). Запускать dpkg необходимо с правами суперпользователя (root).
Тестовое приложение может быть собрано с помощью testapp.sln. Для компиляции необходимо использовать также MS Visual C++, mingw-library не поддерживается. Убедитесь, что Microsoft Visual C++ Redistributable Package установлен.
Откройте проект examples/testapp/testapp.sln, выполните сборку и запустите приложение из среды разработки.
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле testapp.c перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная enumerate_hints).
Тестовое приложение может быть собрано с помощью test_CodeBlocks.cbp Для компиляции необходимо использовать также MS Visual C++, mingw-library не поддерживается. Убедитесь, что Microsoft Visual C++ Redistributable Package установлен.
Откройте проект examples/test_CodeBlocks/test_CodeBlocks.cbp, выполните сборку и запустите приложение из среды разработки.
MinGW это вариант GCC для платформы win32. Требует установки пакета MinGW. В данный момент не поддерживается.
testapp, скомпилированный с помощью MinGW, может быть собран с MS Visual C++ или библиотеками mingw:
Далее скопируйте libximc.dll в текущую директорию и запустите testapp.exe.
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле testapp.c перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная enumerate_hints).
В первую очередь вы должны создать подходящую для C++ Builder библиотеку. Библиотеки Visual C++ и Builder не совместимы. Выполните:
Затем скомпилируйте тестовое приложение:
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле testapp.c перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная enumerate_hints).
Test app должен быть собран проектом XCode testapp.xcodeproj. Используйте конфигурацию Release. Библиотека поставляется в формате Mac OS X framework, в той же директории находится собранное тестовое приложение testapp.app.
Запустите приложение testapp.app проверьте его работу в Console.app.
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле testapp.c перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная enumerate_hints).
Убедитесь, что libximc (с помощью rpm, deb или тарболла) установлена на вашей системе. Пакеты должны устанавливаться с помощью package manager'а вашей ОС. Для OS X предоставляется фреймворк.
Убедитесь, что пользователь принадлежит к группе, позволяющей доступ к COM-порту (например, dip или serial).
Скопируйте файл /usr/share/libximc/keyfile.sqlite в директорию с проектом командой
testapp может быть собран следующим образом с установленной библиотекой:
Для кросс-компиляции (архитектура целевой системы отличается от архитектуры хоста) следует передать флаг -m64 или -m32 компилятору. Для сборки universal binary на Mac OS X необходимо использовать вместо этого флаг -arch. Обратитесь к документации компилятора.
Затем запустите приложение с помощью:
Примечание: make run на OS X копирует библиотеку в текущую директорию. Если вы хотите использовать библиотеку из другой директории, пожалуйста укажите в LD_LIBRARY_PATH или DYLD_LIBRARY_PATH путь к директории с библиотекой.
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле testapp.c перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная enumerate_hints).
Для использования в .NET предлагается обертка wrappers/csharp/ximcnet.dll. Она распространяется в двух различных архитектурах. Поддерживает платформу .NET от 2.0. до 4.0.
Тестовые приложения на языке C# для Visual Studio 2013 расположены в директориях test_CSharp (для C#) и test_VBNET (для VB.NET). Откройте проекты и соберите.
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле testapp.cs или testapp.vb (в зависимости от языка) перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная enumerate_hints для C#, переменная enum_hints для VB).
Обертка для использования в Delphi libximc.dll предлагается как модуль wrappers/pascal/ximc.pas
Консольное тестовое приложение размещено в директории 'test_Delphi'. Проверено с Delphi 6 на 32-битной системе.
Просто скомпилируйте, разместите DLL в директории с исполняемым модулем и запустите его.
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле test_Delphi.dpr перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная enum_hints).
Как запустить пример на Linux. Перейдите в ximc-2.x.x/examples/test_Java/compiled/ и выполните
Как запустить пример на Windows или Mac. Перейдите в ximc-2.x.x./examples/test_Java/compiled/. Скопируйте содержимое ximc-2.x.x/ximc/win64/ или ximc-2.x.x/ximc/macosx/ соответственно в текущую директорию. Затем запустите:
Как модифицировать и пересобрать пример. Исходный текст расположен внутри test_Java.jar. Перейдите в examples/test_Java/compiled. Распакуйте jar:
Затем пересоберите исходные тексты:
или для Windows или Mac:
Затем соберите jar:
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле TestJava.java перед сборкой нужно прописать IP адрес Ethernet-адаптера (переменная ENUM_HINTS).
Измените текущую директорию на examples/test_Python. Для корректного использования библиотеки libximc, в примере используется файл обертка, crossplatform\wrappers\python\pyximc.py с описанием структур библиотеки.
Перед запуском:
На OS X: скопируйте библиотеку ximc/macosx/libximc.framework в текущую директорию.
На Linux: может понадобиться установить LD_LIBRARY_PATH, чтобы Python мог найти библиотеки с RPATH. Например, запустите:
На Windows: перед запуском ничего делать не нужно. Все необходимые связи и зависимости прописаны в коде примера. Используются библиотеки: bindy.dll, libximc.dll, xiwrapper.dll. Расположенные в папке для соответствующих версий Windows.
Запустите Python 2 или Python 3:
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле test_Python.py перед запуском нужно прописать IP адрес Ethernet-адаптера (переменная enum_hints).
Тестовая программа на MATLAB testximc.m располагается в директории examples/test_MATLAB.
Перед запуском:
На OS X: скопируйте ximc/macosx/libximc.framework, ximc/macosx/wrappers/ximcm.h, ximc/ximc.h в директорию examples/matlab. Установите XCode, совместимый с Matlab
На Linux: установите libximc*deb и libximc-dev*deb нужной архитектуры. Далее скопируйте ximc/macosx/wrappers/ximcm.h в директорию examples/matlab. Установите gcc, совместимый с Matlab.
Для проверки совместимых XCode и gcc проверьте документы https://www.mathworks.com/content/dam/mathworks/mathworks-dot-com/support/sysreq/files/SystemRequirements-Release2014a_SupportedCompilers.pdf или похожие.
На Windows: перед запуском ничего делать не нужно
Измените текущую директорию в MATLAB на examples/matlab. Затем запустите в MATLAB:
В случае, если планируется использовать Ethernet-адаптер 8SMC4-USB-Eth1, в файле testximc.m перед запуском нужно прописать IP адрес Ethernet-адаптера (переменная enum_hints).
Если программа, использующая libximc, запущена с установленной переменной окружения XILOG, то это включит логирование в файл. Значение переменной XILOG будет использовано как имя файла. Файл будет открыт на запись при первом событии лога и закрыт при завершении программы, использующей libximc. В лог записываются события отправки данных в контроллер и приема данных из контроллера, а также открытия и закрытия порта.
Библиотеке не требуются особые права для выполнения, а нужен только доступ на чтение-запись в USB-COM устройства в системе. Исключением из этого правила является функция только для ОС Windows "fix_usbser_sys()" - если процесс использующий библиотеку не имеет повышенных прав, то при вызове этой функции программная переустановка устройства не будет работать.
Си-профили это набор заголовочных файлов, распространяемых вместе с библиотекой libximc. Они позволяют в программе на языке C/C++ загрузить в контроллер настройки одной из поддерживаемых подвижек вызовом всего одной функции. Пример использования си-профилей вы можете посмотреть в директории примеров "testcprofile".