Загрузка и инициализация интерпретатора
В CAM системе процесс загрузки интерпретатора в память состоит из следующих шагов:
- Чтение файла настроек интерпретатора.
- Загрузка списка регистров из файла настроек интерпретатора.
- Загрузка интерпретатора-родителя в память (процесс загрузки интерпретатора-родителя повторяет все шаги загрузки интерпретатора в память в той же последовательности).
- Загрузка программной библиотеки интерпретатора в память, получение интерфейса INCT_Interpreter (путём вызова функции NCT_GetInterface загруженной программной библиотеки).
- Проверка совпадения идентификаторов файла настроек и программной библиотеки (получение идентификатора программной библиотеки производится путём вызова функции INCT_Interpreter.GetIdentifier), и идентификаторов интерпретатора-родителя.
- Передача значений собственных параметров, если объект интерпретатора реализует интерфейс INCT_CustomInterpreter (вызов метода INCT_CustomInterpreter.SetCustomValues, значения берутся из файла
*.sncix; см. Список используемых типов). Шаг выполняется, только когда интерпретатор загружается для работы, а не для проверки и не для чтения его параметров в окне Конфигуратор интерпретатора УП. - Загрузка списка регистров из программной библиотеки (вызов функции INCT_Interpreter.GetRegisters).
- Загрузка списка регистров интерпретаторов-родителей.
В результате выполнения загрузки интерпретатора будет загружена программная библиотека интерпретатора и её библиотеки-родители (если они есть), сформирован результирующий список регистров (базовый). При этом регистры файла настроек имеют больший приоритет перед регистрами программной библиотеки (т.е. переопределяют их), а регистры интерпретаторов-наследников имеют больший приоритет перед регистрами интерпретаторов-родителей, если регистр с таким именем присутствует в обоих списках.
Инициализация интерпретатора состоит из следующих шагов:
- Инициализация интерпретаторов-родителей (процесс инициализации интерпретатора-родителя повторяет все шаги инициализации интерпретатора в той же последовательности).
- Последовательная передача интерфейсов CAM системой программной библиотеке (метод программной библиотеки интерпретатора INCT_Interpreter.SetInterface будет вызван несколько раз, по количеству передаваемых интерфейсов).
- Инициализация программной библиотеки (вызов метода INCT_Interpreter.Initialize).
В результате инициализации интерпретатору будут переданы объекты CAM системы, реализующие интерфейсы:
- доступа к сформированному (базовому) списку регистров INCT_SysState;
- управления настройками анализа текста управляющей программы INCT_Analyzer;
- доступа к списку объектов для интерпретации INCT_BlockExecArray;
- получения настроек оборудования INCT_Equipment;
- формирования траектории движения инструментов с использованием осей станка (если в файле настроек интерпретатора
UseGeomCLData= False) INCT_CLData; - формирования траектории движения инструментов с использованием геометрических осей (если
UseGeomCLData= True) INCT_GeomCLData; - взаимодействия с ядром CAM системы, обслуживающим интерпретатор INCT_Kernel;
- интерпретатора-родителя INCT_Interpreter (если он есть);
- контура (интерфейс, переданный в INCT_Kernel.InterpreteContour), если интерпретатор запущен в режиме формирования контура;
- защиты INCT_Connect, только для защищённых интерпретаторов.
Будет выполнен метод инициализации библиотеки интерпретатора.