1. profinet_dev(сервер) выделяет именованую разделяемую память и пишет туда сигналы и данные подмодулей: параметры и данные от ПЛК. Читает оттуда данные от клиента. 2. Разработано тестовое приложение(клиент) которое подключается к именованной разделяемой памяти, получает сигналы от сервера(установление соединения, обновление данных параметров, обновление данных циклического обмена и реализует функционал эхо-модуля. 3. Пока фарш. Нужен небольшой рефакторинг.
35 lines
845 B
CMake
35 lines
845 B
CMake
cmake_minimum_required (VERSION 3.0)
|
|
|
|
project (PN_ECHO_TEST VERSION 0.0.1)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
|
|
set(INC_DIRS ${INC_DIRS} ../../src/profinet)
|
|
set(INC_DIRS ${INC_DIRS} ../../src/interprocess)
|
|
set(INC_DIRS ${INC_DIRS} ../../src/shared_data)
|
|
|
|
set(SRC_FILES ${SRC_FILES} ../../src/shared_data/shared_data.cpp)
|
|
set(SRC_FILES ${SRC_FILES} ../../src/interprocess/profinet_shared_data.cpp)
|
|
set(SRC_FILES ${SRC_FILES} ./main.cpp)
|
|
|
|
set(Boost_USE_STATIC_LIBS ON)
|
|
set(Boost_USE_STATIC_RUNTIME ON)
|
|
|
|
find_package(Boost 1.74.0)
|
|
if(Boost_FOUND)
|
|
set(INC_DIRS ${INC_DIRS} ${Boost_INCLUDE_DIRS})
|
|
else()
|
|
message(BOOST NOT FOUND)
|
|
endif()
|
|
|
|
message("Boost dir: " ${Boost_INCLUDE_DIRS})
|
|
message("Boost libs:" ${Boost_LIBRARIES})
|
|
|
|
add_executable(pn_echo_test ./main.cpp ${SRC_FILES})
|
|
|
|
target_include_directories(pn_echo_test PRIVATE
|
|
./
|
|
${INC_DIRS}
|
|
)
|
|
|