Функционирование программного обеспечения прибора

ПО прибора предназначено для выполнения программ, созданных при помощи генератора кода (входящего в состав SimInTech), по схемам алгоритма, созданного пользователем.

ПО прибора работает под управлением операционной системы реального времени QNX (ОСРВ QNX, по умолчанию – версия 6) в двух режимах:

К ПО прибора, функционирующему в режиме отладки, относится только сервер обмена данными GdbServer. В штатном режиме пользователь может не копировать GdbServer. В обязательном порядке для работы ПО прибора кроме исполняемых файлов необходимо наличие файла описания внешних переменных расчётных модулей *.extvars.table и файла конфигурации загрузки default.conf, по которым при загрузке диспетчера расчётных модулей формируется рабочая область памяти внешних переменных.

Остальное - GdbServer и файлы *.intvars.table можно удалить, если этих компонентов на приборе нет, то доступ извне к константам (группа переменных расчетных модулей) и переменным состояния невозможен. Для запуска ПО прибора в штатном режиме перекомпилировать диспетчер расчётных модулей и сами модули не нужно.

Для исключения вывода в консоль текстовой информации с диагностикой о работе программы необходимо запустить диспетчер расчетных модулей (процессов) DispExemod с выводом в «нулевое» устройство. Для этого в командную строку ОС прибора (консоль прибора) или в файл автозапуска необходимо ввести строку:

./DispExemod > dev/null

Чтобы прибор в штатном режиме автоматически запускал нужную программу необходимо прописать запуск диспетчера расчётных модулей (процессов) DispExemod. Для этого в текст файла rc.local, расположенного по адресу (в ОСРВ QNX):

/etc/rc.d/rc.local

необходимо добавить строку:

./DispExemod <имя файла конфигурации загрузки> <имя начального состояния прибора>

Для автоматического запуска сервера отладки при запуске прибора в отладочном режиме в текст файла rc.local необходимо добавить строку:

./GdbServer <порт сервера отладки>

Алгоритм функционирования ПО прибора:

Расшифровка общих областей памяти:

/header показывает общую информацию о диспетчере;
/exemod_struct список загруженных расчётных модулей с их параметрами;
/extvars_struct таблица описаний внешних переменных общей области памяти всех расчётных модулей загрузки;
/extvars_value общая рабочая область памяти для внешних (разделяемых) переменных всех расчётных модулей.

Подробное описание областей памяти приведено в руководстве системного программиста. Структура и взаимосвязи ПО прибора: