Файл настроек интерпретатора
Файл с настройками имеет расширение SNCI (Sprut Numerical Control Interpreter) и формат XML. Описание его элементов приведено ниже. Обязательные к заполнению параметры отмечены признаком в соответствующей колонке.
Описание элементов SNCI файла
Название элемента |
Формат поля |
Описание |
Обязательные |
NCInterpreter |
Тег |
Корневой элемент |
* |
CNCSystem |
Строка |
Название стойки/станка |
|
MachineType |
Строка |
Тип станка, варианты:
|
|
UseGeomCLData |
Логическое |
Устанавливает признак использования интерфейса построения траектории движения инструмента в геометрических осях. True — для формирования траектории движения инструмента из SprutCAM в интерпретатор передаётся интерфейс INCT_GeomCLData. False — для формирования траектории движения инструмента из SprutCAM в интерпретатор передаётся интерфейс INCT_CLData. По умолчанию установлено значение False. |
|
Date |
Дата |
Дата интерпретатора в формате dd.mm.yyyy |
|
Authors |
Строка |
Разработчик(-и) |
|
Company |
Строка |
Компания |
|
Description |
Строка |
Описание |
|
Version |
Число |
Версия |
* |
ID |
GUID |
Идентификатор интерпретатора (должен быть уникальным) |
* |
LibraryID |
GUID |
Идентификатор программной библиотеки (должен быть уникальным) |
* |
LibraryFileName_Net |
Строка |
Ссылка на программную библиотеку для платформы .NET |
** |
NetNamespaceClass |
Строка |
Пространство имён и имя класса, реализующего интерпретатор (если заполнено поле LibraryFileName_Net) |
*** |
LibraryFileName_x64 |
Строка |
Ссылка на нативную программную библиотеку версии x64 (используется если не заполнено поле LibraryFileName_Net) |
** |
ParentID |
GUID |
Идентификатор интерпретатора-родителя (поле ID в SNCI-файле родителя) |
* |
ParentFileName |
Строка |
Ссылка на файл настроек интерпретатора-родителя (SNCI-файл) |
* |
FileExtension |
Строка |
Расширение файлов с текстом управляющей программы |
* |
Registers |
Тег |
Список регистров интерпретатора |
* |
* — обязательное поле;
** — должно быть заполнено либо поле LibraryFileName_Net, либо LibraryFileName_x64;
*** — поле должно быть заполнено, если заполнено поле LibraryFileName_Net.
Описание каждого элемента из списка регистров (Registers):
Название элемента |
Формат поля |
Описание |
Address |
Строка |
Адрес регистра |
Name |
Строка |
Имя регистра |
Id |
Строка |
Идентификатор регистра |
Comment |
Строка |
Комментарий |
AddrOnly |
Строка |
Варианты значений:
|
Sign |
Целое число |
Знак значения:
|
NumeralsBeforePoint.Count |
Целое число |
Знаков до точки |
NumeralsBeforePoint.Zeros |
Логическое |
Наличие лидирующих нулей |
DecimalPoint |
Целое число |
Десятичная точка:
|
NumeralsAfterPoint.Count |
Целое число |
Знаков после точки |
NumeralsAfterPoint.Zeros |
Логическое |
Незначащие нули |
Scale |
Число |
Масштаб |
Modal |
Логическое |
Признак модальности регистра |
ModalGroupList |
Список значений |
Список значений, которые может принимать регистр |
Поле Version зарезервировано для будущего использования.
Важными элементами файла настроек интерпретатора являются: его собственный идентификатор (ID), идентификатор (LibraryID) и ссылка на файлы программной библиотеки .NET/x64 версии (LibraryFileName_*), идентификатор (ParentID) и ссылка на интерпретатор родителя (ParentFileName). Идентификаторы файла настроек и программной библиотеки должны быть уникальными (см. статью о GUID: Globally Unique Identifier).
Поле LibraryFileName_* должно указывать на файлы, с программной библиотекой, относительно каталога размещения SNCI-файла. Рекомендуется размещать файл с программной библиотекой в каталоге с SNCI-файлом.
Существует два варианта подключения программной библиотеки к SprutCAM:
Программная библиотека разработана для платформы .NET (например, на C#).
В этом случае необходимо заполнить поля LibraryFileName_Net и NetNamespaceClass, где:LibraryFileName_Net - ссылка на программную библиотеку.
NetNamespaceClass - пространство имён и класс, реализующий интерфейс взаимодействия с интерпретатором. Формат: Namespace.Class, например: sample.Interpreter.
Программная библиотека является нативной (написана на Delphi, C++ и пр.)
В этом случае должно быть заполнено поле LibraryFileName_x64 (ссылка на программную библиотеку x64). Версию x64 программной библиотеки обязательно следует называть, используя префикс "64". Например: Sample_x64.dll или Sample_Win64.dll. Где "Sample" — название программной библиотеки.
Если интерпретатор не является наследником другого интерпретатора, то поля родителя заполняются пустыми значениями:
<ParentID>{00000000-0000-0000-0000-000000000000}</ParentID>
<ParentFileName/>
Поле FileExtension зарезервировано для будущего использования.
В поле Registers находится список регистров для автоматического выделения слов из текста управляющей программы. Порядок трансляции кадра управляющей программы описан в следующей статье. В файле настроек интерпретатора допускается не заполнять список регистров, он будет получен от программной библиотеки интерпретатора, тем не менее тег <Registers/> должен присутствовать.
Использование файла настроек интерпретатора приведено в разделе Процесс интерпретации текста управляющей программы.
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
NCInterpreter
>
<
CNCSystem
>Sample CNC (mill)</
CNCSystem
>
<
MachineType
>Mill</
MachineType
>
<
Date
>01.01.2019</
Date
>
<
Authors
>Ivan Danko</
Authors
>
<
Company
>SPRUT Technology</
Company
>
<
Description
>Interpreter for Sample CNC</
Description
>
<
Version
>1</
Version
>
<
ID
>{79B1410C-67D5-42B6-867B-A3BF30AB3D8A}</
ID
>
<
LibraryID
>{80F754D9-EE7B-47CF-A802-A9424D9F6749}</
LibraryID
>
<
LibraryFileName_x64
>Sample_x64.dll</
LibraryFileName_x64
>
<
ParentID
>{00000000-0000-0000-0000-000000000000}</
ParentID
>
<
ParentFileName
/>
<
FileExtension
>*.cnc</
FileExtension
>
<
Registers
/>
</
NCInterpreter
>
Скачать пример Sample.snci.