1. Выделение разделяемой памяти учитывает количество требуемой памяти
2. Выложил собранные библиотеки pnet и osal
3. Добавил общее описание в readme.md
1. разработаны абстрактные классы флагов и разделяемых даннных. Модуль
profinet их использует.
2. Разделяемые данныне переделаны на использование мьютексов буста
1. profinet_dev(сервер) выделяет именованую разделяемую память и пишет
туда сигналы и данные подмодулей: параметры и данные от ПЛК. Читает
оттуда данные от клиента.
2. Разработано тестовое приложение(клиент) которое подключается к
именованной разделяемой памяти, получает сигналы от сервера(установление
соединения, обновление данных параметров, обновление данных циклического
обмена и реализует функционал эхо-модуля.
3. Пока фарш. Нужен небольшой рефакторинг.
Как оказалось, номера слотов и подслотов назначает profinet контроллер и
номера эти зависят от того в каком порядке модули были добавлены в
проекте plc, например в codesys. Теперь в ПО при старте конфигурируются
не слоты и подслоты, а модули и подмодули которые оно поддерживает, а
слоты и подслоты куда будут вставляться эти модули и подмодули
определяются позже профинет контроллером при установлени связи.
1. Разработан классы слота и подслота Profinet
2. Разарботан метод инициализации Profinet с инициализацией
обязательного модуля DAP 1 и его подмодулей.
Пока все в дрова. В процессе.
1. Добавил скрипт build.sh - собирает библиотеку pnet и группирует
получившиеся файлы в папку install, туда же помещает библиотеку osal.
Теперь все библиотеки и их заголовки в одном месте, а не распизаны по
папкам в папке build.
2. Добавил проект sample_app в папку profinet_test. Он отвязан от
процесса сборки pnet и использует уже собранную библиотеку из папки
install.