Загрузка и инициализация интерпретатора
В 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.
Будет выполнен метод инициализации библиотеки интерпретатора.