VS EtherCAT Master имеет модульную структуру для оптимального соответствия требованиям каждого конкретного проекта заказчика. Каждый компонент спроектирован как изолированный модуль с собственной документацией, модульным тестированием, конфигурацией, API и сгенерированными событиями. Изолированный контент помогает ускорить процесс разработки, улучшает методы тестирования и стабильность конечного продукта за счет улучшения процесса конфигурации и логики управления.
Модули стека VS EtherCAT Master сгруппированы в уровни (Layers), между которыми распределены функциональные возможности.
Прикладной уровень
Прикладной уровень отвечает за взаимодействие с программными и операционными средами, различными устройствами и приложениями, входящими в состав системы.
Прикладной уровень выполняет следующие функции:
- Предоставление доступа локальным приложениям или процессам к функциям ведущего устройства
- Взаимодействие с ведущим устройством посредством службы удаленного вызова процедур (Remote Procedure Calls - RPC)
- Обеспечение соединения TCP/IP (Transmission Control Protocol/Internet Protocol) или UDP (User Datagram Protocol), например, для обмена сообщениями с ведомыми устройствами по UDP
Ядро VS EtherCAT Master
Модуль асинхронного обмена служебными данными (Mailbox)Модуль асинхронного обмена (Mailbox) реализует протоколы для приема, передачи и обработки объектов служебных данных (Service Data Objects - SDO). Поддерживаются следующие протоколы:
- Асинхронные данные аппликационного уровня CAN через транспортный протокол (CoE)
- Асинхронные данные протокола Ethernet через транспортный протокол (EoE)
- Асинхронные данные протокола SERCOS через транспортный протокол (SoE) Servo Profile over EtherCAT (SoE)
- Асинхронные файловые данные через транспортный протокол (FoE)
- Асинхронная передача данных через EtherCAT (VoE)
- Асинхронные данные протокола ADS через транспортный протокол (AoE)
Распределение адресов в образе процесса происходит в соответствии с описанием в ENI-файле (EtherCAT Network Information), сгенерированным конфигурационной программой VS EtherCAT Studio или программой стороннего поставщика. Доступ управляющей программы к образу процесса обеспечивается через прикладной интерфейс ведущего устройства (Master API).
Модуль распределенных часов (Distributed Clocks)Модуль распределенных часов распространяет синхронизированный сигнал системного времени на все устройства EtherCAT (ведущее и ведомые). Когда функция активирована, ведущее устройство или первое ведомое устройство с поддержкой постоянного тока в сети настроено на работу в качестве эталонных часов. Затем время эталонных часов распространяется по сети ко всем ведомыми устройствам через VS EtherCAT Master.
Модуль планировщика кадров (Frame Scheduler)В конфигурационной программе пользователь индивидуально устанавливает частоту сканирования каждого ведомого устройства для обновления объектов в образе процесса. Модуль планировщика кадров управляет скоростью передачи кадров по сети EtherCAT, отправляя и принимая данные через сетевой адаптер с заданной частотой.
Уровень абстракции операционной системы (OSAL)
Уровень абстракции операционной системы позволяет портировать стек VS EtherCAT Master на любую операционную систему с минимальными затратами. Уровень состоит из двух модулей:
- Модуль функций ОС содержит оболочки для функций, работающих с потоками, таймерами, мьютексами и тд., реализация которых зависит от конкретной ОС
- Модуль драйвера сетевого адаптера (NIC), который абстрагирует ядро ведущего устройства от конкретной реализации сетевого адаптера