Файл настроек интерпретатора

Файл с настройками имеет расширение SNCI (Sprut Numerical Control Interpreter) и формат XML. Описание его элементов приведено ниже. Обязательные к заполнению параметры отмечены признаком в соответствующей колонке.


Описание элементов SNCI файла

Название элемента

Формат поля

Описание

Обязательные

1

NCInterpreter

Тег

Корневой элемент

*

2

CNCSystem

Строка

Название стойки/станка

3

MachineType

Строка

Тип станка, варианты:

  • Lathe - токарный

  • Mill - фрезерный

  • TurnMill - токарно-фрезерный

  • Robots - робот

  • WireEDM - электроэрозионный

4

UseGeomCLData

Логическое

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

True - для формирования траектории движения инструмента из SprutCAM в интерпретатор передаётся интерфейс INCT_GeomCLData.

False - для формирования траектории движения инструмента из SprutCAM в интерпретатор передаётся интерфейс INCT_CLData.

По-умолчанию установлено значение False.


5

Date

Дата

Дата интерпретатора в формате dd.mm.yyyy

6

Authors

Строка

Разработчик(-и)

7

Company

Строка

Компания

8

Description

Строка

Описание

9

Version

Число

Версия

*

10

ID

GUID

Идентификатор интерпретатора (должен быть уникальным)

*

11

LibraryID

GUID

Идентификатор программной библиотеки (должен быть уникальным)

*

12

LibraryFileName_Net

Строка

Ссылка на программную библиотеку для платформы .NET

**

13

NetNamespaceClass

Строка

Пространство имён и имя класса, реализующего интерпретатор (если заполнено поле LibraryFileName_Net)

***

14

LibraryFileName_x32

Строка

Ссылка на нативную программную библиотеку версии x32 (используется если не заполнено поле LibraryFileName_Net)

**

15

LibraryFileName_x64

Строка

Ссылка на нативную программную библиотеку версии x64 (используется если не заполнено поле LibraryFileName_Net)

**

16

ParentID

GUID

Идентификатор интерпретатора-родителя (поле ID в SNCI-файле родителя)

*

17

ParentFileName

Строка

Ссылка на файл настроек интерпретатора-родителя (SNCI-файл)

*

18

FileExtension

Строка

Расширение файлов с текстом управляющей программы

*

19

Registers

Тег

Список регистров интерпретатора

*

* - поле обязательно к заполнению;

** - должно быть заполнено поле LibraryFileName_Net или оба поля LibraryFileName_x32, LibraryFileName_x64;

*** - поле должно быть заполнено, если заполнено поле LibraryFileName_Net.


Описание каждого элемента из списка регистров (Registers):

Название элемента

Формат поля

Описание

1

Address

Строка

Адрес регистра

2

Name

Строка

Имя регистра

3

Id

Строка

Идентификатор регистра

4

Comment

Строка

Комментарий

5

AddrOnly

Строка

Варианты значений:

  • aoValue - Слово текста УП состоит только из адреса и значения

  • aoAddr - Слово текста УП состоит только из адреса

  • aoBoth - Слово текста УП может состоять либо только из адреса, либо из адреса и значения

6

Sign

Целое число

Знак значения:

  • 0 - без знака

  • 1 - только '-'

  • 2 - '+' и '-'

7

NumeralsBeforePoint.Count

Целое число

Знаков до точки

8

NumeralsBeforePoint.Zeros

Логическое

Наличие лидирующих нулей

9

DecimalPoint

Целое число

Десятичная точка:

  • 0 - без '.'

  • 1 - '.'

  • 2 - всегда '.'

10

NumeralsAfterPoint.Count

Целое число

Знаков после точки

11

NumeralsAfterPoint.Zeros

Логическое

Незначащие нули

12

Scale

Число

Масштаб

13

Modal

Логическое

Признак модальности регистра

14

ModalGroupList

Список значений

Список значений, которые может принимать регистр


Поле Version зарезервировано для будущего использования.

Важными элементами файла настроек интерпретатора являются: его собственный идентификатор (ID), идентификатор (LibraryID) и ссылка на файлы программной библиотеки .NET/x32/x64 версии (LibraryFileName_*), идентификатор (ParentID) и ссылка на интерпретатор родителя (ParentFileName). Идентификаторы файла настроек и программной библиотеки должны быть уникальными (см. статью о GUID: Globally Unique Identifier).

Поле LibraryFileName_* должно указывать на файлы, с программной библиотекой, относительно каталога размещения SNCI-файла. Рекомендуется размещать файл с программной библиотекой в каталоге с SNCI-файлом.

Существует два варианта подключения программной библиотеки к SprutCAM:

  1. Программная библиотека разработана для платформы .NET (например, на C#).
    В этом случае необходимо заполнить поля LibraryFileName_Net и NetNamespaceClass, где:
    LibraryFileName_Net - ссылка на программную библиотеку.
    NetNamespaceClass - пространство имён и класс, реализующий интерфейс взаимодействия с интерпретатором. Формат: Namespace.Class, например: sample.Interpreter.

  2. Программная библиотека является нативной (написана на Delphi, C++ и пр.)
    В этом случае должны быть заполнены поля LibraryFileName_x32 и LibraryFileName_x64 (ссылка на программную библиотеку x32/x64 соответственно). Версии x32/x64 программной библиотеки следует называть одинаковым именем, но с разными префиксами. Например: Sample_x32.dll / Sample_x64.dll или Sample_Win32.dll / Sample_Win64.dll. Где "Sample" - название программной библиотеки.

Если интерпретатор не является наследником другого интерпретатора, то поля родителя заполняются пустыми значениями:

<ParentID>{00000000-0000-0000-0000-000000000000}</ParentID>

<ParentFileName/>

Поле FileExtension зарезервировано для будущего использования.

В поле Registers находится список регистров для автоматического выделения слов из текста управляющей программы. Порядок трансляции кадра управляющей программы описан в следующей статье. В файле настроек интерпретатора допускается не заполнять список регистров, он будет получен от программной библиотеки интерпретатора, тем не менее тег <Registers/> присутствовать должен.

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


Пример файла настроек интерпретатора для нативной библиотеки (x32/x64):


<?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_x32>Sample_x32.dll</LibraryFileName_x32>
<LibraryFileName_x64>Sample_x64.dll</LibraryFileName_x64>
<ParentID>{00000000-0000-0000-0000-000000000000}</ParentID>
<ParentFileName/>
<FileExtension>*.cnc</FileExtension>
<Registers/></NCInterpreter>

Скачать пример Sample.snci.