Загрузка и инициализация интерпретатора

В SprutCAM процесс загрузки интерпретатора в память состоит из следующих шагов

  • Чтение файла настроек интерпретатора.

  • Загрузка списка регистров из файла настроек интерпретатора.

  • Загрузка интерпретатора-родителя в память (процесс загрузки интерпретатора-родителя повторяет все шаги загрузки интерпретатора в память в той же последовательности).

  • Загрузка программной библиотеки интерпретатора в память, получение интерфейса INCT_Interpreter (путём вызова функции NCT_GetInterface загруженной программной библиотеки).

  • Проверка совпадения идентификаторов файла настроек и программной библиотеки (получение идентификатора программной библиотеки производится путём вызова функции INCT_Interpreter.GetIdentifier), и идентификаторов интерпретатора-родителя.

  • Загрузка списка регистров из программной библиотеки (вызов функции INCT_Interpreter.GetRegisters).

  • Загрузка списка регистров интерпретаторов-родителей.

В результате выполнения загрузки интерпретатора будет загружена программная библиотека интерпретатора и её библиотеки-родители (если они есть), сформирован результирующий список регистров (базовый). При этом регистры файла настроек имеют больший приоритет перед регистрами программной библиотеки (т.е. переопределяют их), а регистры интерпретаторов-наследников имеют больший приоритет перед регистрами интерпретаторов-родителей, если регистр с таким именем присутствует в обоих списках.


Инициализация интерпретатора состоит из следующих шагов:

  • Инициализация интерпретаторов-родителей (процесс инициализации интерпретатора-родителя повторяет все шаги инициализации интерпретатора в той же последовательности).

  • Последовательная передача интерфейсов SprutCAM программной библиотеке (метод программной библиотеки интерпретатора INCT_Interpreter.SetInterface будет вызван несколько раз, по количеству передаваемых интерфейсов).

  • Инициализация программной библиотеки (вызов методе INCT_Interpreter.Initialize).

В результате инициализации интерпретатору будут переданы объекты SprutCAM, реализующие интерфейсы:

  • доступа к сформированному (базовому) списку регистров INCT_SysState;

  • управления настройками анализа текста управляющей программы INCT_Analyzer;

  • доступа к списку объектов для интерпретации INCT_BlockExecArray;

  • получения настроек оборудования INCT_Equipment;

  • формирования траектории движения инструментов, с использованием осей станка INCT_CLData;

  • формирования траектории движения инструментов, с использованием геометрических осей INCT_GeomCLData;

  • взаимодействия с ядром SprutCAM, обслуживающим интерпретатор INCT_Kernel;

  • интерпретатора-родителя INCT_Interpreter.

Будет выполнен метод инициализации библиотеки интерпретатора.