Разработка интерпретаторов
  • Разработка интерпретаторов
v3.0.3
Search Results for

    Show / Hide Table of Contents

    Взаимодействие с текстом управляющей программы

    INCT_ProgramManager - интерфейс для взаимодействия с текстом управляющей программы (УП). Интерфейс обеспечивает работу с текстом управляющей программы, порядком передачи текстов УП интерпретатору.

    Описание методов интерфейса:

    МетодОписание методаОписание использования
    Get_Count

    Функция возвращает количество текстов УП (файлов*) сформированных постпроцессором для текущей операции.

    Входных параметров нет.

    В случае, если постпроцессор генерирует несколько текстов с УП (файлов*), может потребоваться изменить порядок передачи текстов для обработки интерпретатором.

    Для определения наличия нескольких текстов с УП нужно воспользоваться функцией Get_Count.

    В некоторых случаях постпроцессор может генерировать уникальные имена файлов* со вспомогательными данными (без текста УП), которые не нужно интерпретировать. Или напротив, формировать заголовочный файл из которого осуществляется вызов остальных текстов УП. Для идентификации таких файлов по имени предназначена функция Get_Name.

    Если для интерпретации требуется изменить порядок обработки текстов УП, сформированных постпроцессором, то для этого предназначена функция добавления текста УП в список интерпретации (AddToOrderList). Тексты УП будут передаваться интерпретатору в порядке, заданном в списке, от первого добавленного в список к последнему.

    Get_Name

    Функция возвращает имя файла* с текстом управляющей программы (строка) по индексу текста с УП (файла*), передаваемому во входном параметре.

    Входной параметр: Index (целое число) - номер текста УП (файла*), сформированного постпроцессором для текущей операции. Значение от 0 до Get_Count -1

    AddToOrderList

    Метод добавляет текст УП (файл*) с заданным индексом в список интерпретации. Тексты УП будут передаваться интерпретатору в порядке, заданном в этом списке от первого добавленного в список к последнему. Тексты с УП не добавленные в список не будут переданы интерпретатору. Если в список УП не был добавлен ни один текст с УП, в интерпретатор будут переданы все файлы в порядке, сформированном постпроцессором для текущей операции.

    Входной параметр: Index (целое число) - номер текста УП (файла*), сформированного постпроцессором для текущей операции. Значение от 0 до Get_Count -1

    GetPartByIndex

    Функция возвращает текст управляющей программы (интерфейс INCT_Program) по индексу текста с УП (файла*), передаваемому во входном параметре.

    Входной параметр: Index (целое число) - номер текста УП (файла*), сформированного постпроцессором для текущей операции. Значение от 0 до Get_Count -1

    Для формирования порядка обработки текстов с УП (файлов*) интерпретатором, может потребоваться выполнение анализа содержимого одного или нескольких текстов с УП текущей операции. Выполнение функции с номером текста вернёт интерфейс INCT_Program, при помощи функций которого нужно осуществлять чтение строк искомого текста УП.
    GetPartByLabels

    Функция возвращает текст управляющей программы (интерфейс INCT_Program) по меткам, передаваемым во входных параметрах. Поиск производится с начала текста УП.

    Входные параметры: StartLabel (строка), StopLabel (строка) - метки начала и окончания текста управляющей программы.

    Если для формирования траектории движения инструмента токарного цикла обработки контура (аналог CYCLE95 для стойки Sinumerik) будет недостаточно встроенного в ядро формирователя (Токарный цикл обработки резанием), существует возможность получения текста управляющей программы с траекторией цикла для её последующего самостоятельного анализа. Для этой цели предназначена описываемая функция.

    * - при постпроцессировании для интерпретации файлы с текстами управляющих программ не создаются на диске. Тексты УП существуют только в памяти. Имена файлов и нумерация сохранены в связи с существующей технологией и для формирования порядка обработки текстов с УП.

    INCT_ProgramManager2 - интерфейс для взаимодействия с текстом управляющей программы (УП).

    Описание методов интерфейса:

    МетодОписание методаОписание использования
    GetPartByLabelsFromCurPos

    Функция возвращает текст управляющей программы (интерфейс INCT_Program) по меткам, передаваемым во входных параметрах. Поиск производится с текущей позиции.

    Входные параметры: StartLabel (строка), StopLabel (строка) - метки начала и окончания текста управляющей программы; Direction (TNCGetPartDirection) - направление поиска: gpdForward - вперёд от текущей позиции, gpdBackward - назад от текущей позиции.

    Смотрите применение к GetPartByLabels.
    GetPartByRegisters

    Функция возвращает текст управляющей программы (интерфейс INCT_Program) по регистрам, передаваемым во входных параметрах.

    Входные параметры: StartReg (INCT_Register), StartValues (INCT_RegisterValues), StopReg (INCT_Register), StopValues (INCT_RegisterValues) - регистры и значения начала и окончания текста управляющей программы; Origin (TNCGetPartOrigin) - откуда искать: gpoFromCurPos - с текущей позиции управляющей программы, gpoEntireScope - с начала управляющей программы.

    INCT_GetPartByUser - интерфейс для взаимодействия с текстом управляющей программы (УП).

    Описание методов интерфейса:

    МетодОписание методаОписание использования
    GetPartByUser

    Функция возвращает интерфейс INCT_Program, с помощью которого можно работать с управляющей программой.
    Входной параметр: Origin (TNCGetPartOrigin) - откуда искать:

    gpoFromCurPos - произвести поиск с текущей позиции управляющей программы

    gpoEntireScope - произвести поиск с начала управляющей программы

    Функция позволяет определить начало/конец подпрограммы по любым заданным меткам.
    1) С помощью GetPartByUser получаем интерфейс INCT_Program

    2) Например в INCT_InterpreterState можно передать значения меток начала/конца подпрограмм. Или использовать для этих целей регистры.

    3) После запуска процедуры DoSubprogram интерфейса INCT_Kernel2 происходит поиск подпрограммы. Если был использован INCT_InterpreterState, то можно получить ранее сохраненные метки, или обнаружить в методе TransLine нужную метку начала подпрограммы, и вызвать IsStart. Аналогичным способом используется процедура IsEnd.

    IsStartПроцедура определяет начало подпрограммы
    IsEndПроцедура определяет конец подпрограммы

    INCT_Program - интерфейс для получения текста УП. Интерфейс реализует работу с текстом УП, возвращаемым некоторыми функциями INCT_ProgramManager .

    Описание методов интерфейса:

    МетодОписание методаОписание использования
    EndOfFile
    Функция возвращает признак окончания строк. Истина - текст УП закончился. Ложь - текст УП не вычитан полностью.После получения интерфейса, каждый следующий вызов GetNextLine возвращает очередную строку текста УП, начиная с 1-ой и до последней строки. После получения последней строки функция EndOfFile вернёт значение Истина.
    GetNextLineФункция возвращает очередную строку УП
    In this article