Общие сведения о NordWind
Назначение и состав
NordWind - является собственной исполнительной системой реального времени программного продукта SimInTech, предназначенной для исполнения сгенерированного кода на целевой системе (контроллере), обладает модульной (микроядерной) архитектурой, позволяющей производить гибкие настройки контроллеров.
NordWind содержит следующие модули:
- Система сетевого обмена;
- Система восстановления канала управления;
- Кольцевой архив;
- Сервер доступа к базе данных;
- Сервер удаленной отладки
- Комплект разработчика ПО.
Среда реального времени NordWind работает на целевой системе (контроллерах) под операционными системами QNX/КПДА и Linux.
Структура
NordWind обладает модульной архитектурой.
Состав модулей выглядит следующим образом:
- NordWind - основной модуль программы, обеспечивающий автоматическое создание общей области памяти для внешних переменных расчётных модулей (общая область, описывающая массив структур внешних переменных, и общая область памяти, хранящая значения внешних переменных), загрузку расчетных модулей в память и загрузку начального состояния контроллера, инициализацию и управление работой программных модулей, реализующих функции ПО. Реализован в виде отдельного программного исполняемого файла;
- GdbServer - модуль сервера отладки, обеспечивающий доступ с клиентского рабочего места к переменным контроллера, а также управление (пауза, продолжение, завершение) работы ПО контроллера. Реализован в виде отдельного исполняемого файла;
- Libnet - модуль, обеспечивающий сетевой обмен между вычислительными устройствами, объединенными в сеть. Реализован в виде динамически разделяемой библиотеки libtrend.so;
- Libtrends – модуль, обеспечивающий архивацию сигналов в файлы архива. Реализован в виде динамически разделяемой библиотеки libtrend.so;
- Libio - модуль связи с внешними устройствами (устройствами ввода/вывода). Содержит прототипы функций, разрабатываемые для чтения и записи в устройства ввода/вывода. Библиотека содержит набор сервисных функций, позволяющих обращаться к базе данных сигналов по именам и производить операции чтения и записи значений сигналов в базу данных. Реализован в виде динамически разделяемой библиотеки libio.so;
- Libsdk - модуль, содержащий библиотеку функций работы с базой данных сигналов на вычислительном устройстве. Функции библиотеки можно использовать как из модуля связи с внешними устройствами Libio, так и из отдельных программ, работающих на вычислительном устройстве. Библиотека представлена в виде исходных кодов на языке СИ (sdk_lib.h, sdk.c);
- NetRecSys – модуль восстановления канала управления по соседнему. При старте ПО копирует области памяти у резервного канала для обеспечения безударной работы канала. Реализован в виде динамически разделяемой библиотеки libNetInit.so;
- Расчетные модули, полученные в результате автоматической генерации кода в SimInTech.