раздел находится в стадии разработки
Описание интерфейса программы - оболочки X-Cam
Работа с несколькими конфигурациями
Резка пленки - ведомая поворотная ось
Прототипирование печатных плат - пример интеграции с другими программами
X-Cam представляет собой распределенную систему, условно делящуюся на терминальную программу(X-Cam) и контроллер станка.
Терминальная программа реализует интерфейс пользователя, высокоуровневые функции управления станком. X-Cam тестировалась только на системах Windows 2000-XP.
Контроллер реализует непосредственное управление приводами, шпинделем, датчиками и исполнительными устройствами. Контроллер содержит в себе интерполятор, базирующийся на высокостабильном таймере, благодаря чему достигается стабильность частоты сигналов управления приводами, не достижимая в системах на базе PC со встроенным интерполятором.
Связь X-Cam с контрллером осуществляется по внутреннему протоколу управления на базе пакетов, снабженных контрольной суммой через интерфейс USB.
Данная особенность архитектуры позволяет избежать пропуска шагов, вызванных нестабильностью временных характеристик сигналов или потерей данных между компонентами системы.
Контроллер X-Cam имеет следующую функциональность:

X-Cam v2 имеет простой интерфейс, включающий в себя только самые необходимые элементы управления. Остальные элементы, команда спрятаны в системе меню. Это позволяет очень быстро делать то, что нужно.
На рисунке показан скриншот окна программы X-Cam с активным модулем заточки фрез и 3D-визуализатором. Описание элементов окна программы смотрите ниже.

Интерфейс C-Cam
Описание элементов управления окна:
X-Cam с модулем по-умолчанию, интерполятором G-кода(левая часть окна программы), выглядит следующим образом:

Интерфейс модуля интерполяции и редактора G-кода
в разработке
в разработке
X-Cam основан на системе профилей, что позволяет с одного компьютера управлять несколькими станками, храня настройки каждого станка в своем профиле.
Профили находятся в каталоге <папка_программы>\profiles. Каждый профиль расположен в отдельном каталоге, название которого и является именем профиля.
X-Cam имеет профиль по-умолчанию, с именем main, который запускается при вызове программы без аргументов. Для загрузки иного профиля, его имя нужно указать в командной строке запуска программы, например в свойствах ярлыка:
W:\Work\stanok\PROGRAMS\X-Cam\X-cam2.exe profile:regrind
Все настройки профиля хранятся в текстовом ANSI файле:
<имя_профиля>\conf.txt
Плагины, загружаемые вместе с профилем, находятся в каталоге:
<имя_профиля>\PLUGINS
Плагин, загружаемый по-умолчанию, указан в параметре Default_APP файла настроек профиля.
Все плагины текущего профиля доступны из меню {F5}.
!!! Несколько плагинов могут работать под одним профилем, вместе с тем, плагин можно вынести в отдельный профиль, если сложно или трудоемко его интегрировать в существующий профиль. Это связано с разными настройками дополнительных осей, которые могут использоваться плагинами и пр.
В файле настроек профиля, а так же модулей принят следующий синтаксис настроечных параметров:
Шагов_на_мм_оси_Z;1000;16;SaveConf
Через точку с запятой последовательно идет:
!!! Настройки могут, конечно, меняться в файле непосредственно, например в программе "Блокнот", но рекомендуется пользоваться интерфейсом X-Cam для настройки ее конфигурации, тем более, что все изменения, вносимые через этот интерфейс, вступают в силу немедленно, без перезагрузки.
Тип: целое.
Определяет приоритет, с которым выполняется программа: 1 - высокий; 2 - реального времени.
Тип: целое.
Задает номер порта компьютера, к которому подключена плата управления станком.
Тип: целое.
При значении 1 в момент запуска программы осуществляется подключени е к плате управления. 0 - X-Cam работает с виртуальным станком.
Тип: целое.
Задает рабочий ход по оси X.
Тип: целое.
Задает рабочий ход по оси Y.
Тип: целое.
Задает рабочий ход по оси Z.
Тип: целое.
Задает разрешающую способность оси X, шагов на 1 милиметр.
Тип: целое.
Задает разрешающую способность оси Y, шагов на 1 милиметр.
Тип: целое.
Задает разрешающую способность оси Z, шагов на 1 милиметр.
Тип: целое.
Задает разрешающую способность оси A, шагов на 1 оборот.
Тип: целое.
Задает разрешающую способность оси B, шагов на 1 оборот.
Тип: целое.
Задает разрешающую способность оси C, шагов на 1 оборот.
Тип: целое.
Позволяет оси поворачиваться по направлению вектора интерполяции G1, G2, G3 в плоскости XY.
Для оси A этот параметр должен содержать 1. Если 0, режим отключен.
*** Правильнее было бы использовать термин ось B, в дальнейших версиях параметр будет скорректирован.
Тип: дробное.
Расстояние от минимума оси X до датчика нуля, мм.
Тип: дробное.
Расстояние от минимума оси Y до датчика нуля, мм.
Тип: дробное.
Расстояние от минимума оси Z до датчика нуля, мм.
Тип: дробное.
Расстояние от минимума оси B до датчика нуля, мм.
Тип: дробное.
Включить проверку выхода за границы рабочей зоны станка
***Экспериментально. Должно быть целое.
Тип: целое.
Ограничение максимальной скорости оси X
Тип: целое.
Ограничение максимальной скорости оси X
Тип: целое.
Ограничение максимальной скорости оси X
Тип: целое.
Ограничение максимальной скорости оси X
Тип: целое.
Ограничение максимальной скорости оси X
Тип: целое.
Ограничение максимальной скорости оси X
Тип: целое.
Скорость навигации в ручном режиме для линейных осей
Тип: целое.
Скорость навигации в ручном режиме оси A
Тип: целое.
Скорость навигации в ручном режиме оси B
Тип: целое.
Скорость навигации в ручном режиме оси C
Тип: целое.
Скорость навигации в ручном режиме для линейных осей
Тип: целое.
Скорость навигации в ручном режиме для линейных осей
Тип: целое.
При сложной траектории для поддержания вектора скорости равномерным установите 1.
Тип: целое.
Задает число шагов, которое выполняется в режиме разгона/торможения в начале и конце интерполируемой линии.
*** Экспериментально.
Тип: целое.
Минимальное значение коэфицента деления таймера контроллера. При провалах его следует увеличить.
*** Экспериментально.
Тип: целое.
Задает номер, начиная с нуля, активного значения в элементе управления скоростью - в режиме работы с виртуальным станком.
Тип: целое.
Скорость, задаваемая при ручном старте шпинделя
Напрвление, задаваемое при ручном старте шпинделя
Тип: целое.
Тип: целое.
Максимальная скорость, соответствующая максимальному значению управляющего напряжения
Тип: целое.
***Управление подтягивающими резисторами входов
Тип: целое.
Нуль станка - срабатывание по фронту импульса 3, по спаду импульса 2
Тип: целое.
Измеритель - срабатывание по фронту импульса 3, по спаду импульса 2
Тип: целое.
Ограничитель - срабатывание по фронту импульса 3, по спаду импульса 2
Тип: целое.
При запуске программы включается прерывание 0 из настроек параметра Настройка_INT0.
Тип: целое.
При запуске программы включается прерывание 1 из настроек параметра Настройка_INT1.
Тип: целое.
При запуске программы включается прерывание 2 из настроек параметра Настройка_INT2.
Тип: целое.
Прерывание измерителя всегда остается активным, чтобы предотвратить наезд измерителем на препятствие.
!!! Включение этой опции может вызвать сбои, связанные с влиянием вибрации станка на измеритель.
Тип: дробное.
Смещение нуля относительно концевика оси X.
Тип: дробное.
Смещение нуля относительно концевика оси Y.
Тип: дробное.
Смещение нуля относительно концевика оси Z.
Тип: дробное.
Смещение нуля относительно концевика оси B.
Тип: дробное.
Задает диаметр щупа измерителя в мм.
Тип: целое.
Задает, пропускать инструкцию M1 в G-коде (1) или нет(0).
Тип: целое.
Задает, пропускать инструкцию установки скорости в G-коде (1) или нет(0).
Тип: целое.
Задает, пропускать установки вида визуализатора в G-коде (1) или нет(0).
Тип: целое.
Задает, игнорировать инструкции управления шпинделем из G-кода (1) или нет(0).
Тип: целое.
Задает, выводить ли сообщения в лог - файл <имя_профиля>\log.txt: 1 - лог сообщений в файл и сброс на диск после каждого сообщения. 2 - лог сообщений в файл и сброс на диск при выходе из программы. 3 - отключить вывод в лог.
Тип: целое.
Задает, отображать ли в нижней части окна программы лог(1) или нет(0).
Тип: целое.
Задает высоту лога в нижней части окна программы.
Тип: целое.
Задает, по битовой маске, какие события выводить в лог. Управляется из окна настроек программы.
Тип: целое.
*** Будет удален
Тип: целое.
Задает, показывать(1) или нет(0) окно переменных. Опция актуальна в зависимости от вида сборки программы.
Тип: целое.
Задает, показывать(1) или нет(0) окно с графиками процессов, происходящих в X-Cam. Опция актуальна в зависимости от вида сборки программы.
Тип: целое.
Задает, по битовой маске, какие события группы переменных отображать в окне переменных. Управляется из окна настроек программы.
Тип: целое.
Включает (1) или нет(0) при старте программы режим интерполяции выделенной мышью строки G-кода во встроенном редакторе G-кода.
Тип: целое.
Включает (1) или нет(0) при старте программы режим подсветки текущей интерполируемой линии строки G-кода во встроенном редакторе G-кода.
Тип: целое.
Включает (1) или нет(0) при старте программы режим тестирования загружаемого кода - его ускоренную интерполяцию со включенными режимами проверки, но без вывода команд на оси.
Тип: строка
Тип: строка
Тип: строка
Тип: целое.
Тип: целое.
*** Заменить на дробное
Тип: целое.
Тип: целое.
Тип: целое.
Тип: целое.
Тип: целое.
Тип: целое.
По битовой маске задает инвертирование направления осей:
бит 1- X
бит 2 - Y
бит 3 - Z
бит 4 - A
бит 5 - B
бит 6 - C
Тип: целое.
***Будет удален
Тип: целое.
Задает, загружать(1) или нет(0) модуль, указанный в параметре Default_APP, при старте X-Cam
Тип: целое.
***В разработке
Тип: строка
Задает номер модуля станка, загружаемого для данного профиля
Тип: строка
Задает номер модуля, загружаемого по-умолчанию, если задан параметр Загружать_приложение=1
Тип: строка
Задает настройки круга в следующем формате:
<тип круга> <посадочное расстояние> <диаметр> <параметр1> ...
Тип: целое.
Задает связь круга, используемого модулем (Disk1 .. Disk5) с кругом, установленным и настроенным в системе по его номеру, указанному в значении параметра.
Пример:
A001T01_Disk1;3
Модуль с номером A001T01 использует в качестве круга Disk1, круг с номером 3.
Тип: целое.
Номер текущего круга, установленного в системе
Тип: дробное.
Посадочное расстояние текущего круга, установленного в системе
Тип: дробное.
Диаметр текущего круга, установленного в системе
Тип: дробное.
Тип текущего круга, установленного в системе
Тип: целое.
Задает скорость измерения щупом.
Тип: целое.
Задает, подверждать (1) или нет (0) выход из программы.
Window State
Расстояние касания
Тип: строка
Задает точку, расстояние и направление измерения по оси X для процедуры калибровки измерителя в формате X Y Z h.
Тип: строка
Задает точку, расстояние и направление измерения по оси Y для процедуры калибровки измерителя в формате X Y Z h.
Тип: строка
Задает точку, расстояние и направление измерения по оси Z для процедуры калибровки измерителя в формате X Y Z h.
Тип: строка
Задает 1точку планки, расстояние и направление измерения по оси Z для процедуры определения параллельности установки оси A в формате X Y Z h.
Тип: строка
Задает 2точку планки, расстояние и направление измерения по оси Z для процедуры определения параллельности установки оси A в формате X Y Z h.
Тип: строка
Задает 1точку кругляка, расстояние и направление измерения по оси Z для процедуры определения параллельности установки оси A в формате X Y Z h.
Тип: строка
Задает 2 точку кругляка, расстояние и направление измерения по оси Z для процедуры определения параллельности установки оси A в формате X Y Z h.
Тип: строка
Задает точку цанги, расстояние и направление измерения по оси X для процедуры FindA в формате X Y Z h.
Тип: дробное.
Задает положение оси B2. Расстояние от шпинделя до оси B2 по оси X при X=0
Тип: дробное.
Задает положение оси B2. Расстояние от шпинделя до оси B2 по оси Y при Y=0
Тип: дробное.
Задает положение оси B2. Расстояние от шпинделя до оси B2 по оси Y при Y=0
Тип: дробное.
Расстояние от стола до базовой поверхности оси B2. Используется визуализатором. Так же может быть использовано для проверки установки положенияоси B2.
Тип: целое.
Задает конфигурацию осей B и B2: 1 - работает ось B, 2 - работает ось B2.
Тип: целое.
Задает, отображать ли окно перемещений заточного станка.
Тип: целое.
Позиция появления окна перемещений.
Тип: целое.
Позиция появления окна перемещений.
Тип: строка
Параметры окна перемещений, сохраняемые при закрытии окна.
Тип: строка
Режим визуализатора при преремещении в режиме Disk.
AzX, BcX, BcZ, IcX, IcY, IcZ, AsX - параметры, назначение которых см. в диалоге Настройки системы заточки фрез.
Другие параметры визуализатора: DFr, LFr, StlSpYMin, StlSpZMin, AxisB_h, AxisA_h, AxisB_d, spindle_d, spindle_h, Диаметр_гайки_шпинделя, tA1Fr, YFr, V3D_mode
X-Cam может работать одновременно с другими программами и задачами, выполняемыми пользователем. Это возможно благодаря буферизации команд контроллером.
Работа совместно с другими программами может вызвать опустошение буферов, если ресурсоемкие задачи будут захватывать все ресурсы компьютера. Это вызовет неравномерность работы осей станка. Потери шагов в этом случае не происходит, если станок допускает неравномерность поступления шагов без их потери вследствии большой инерции подвижных частей.
Для компенсации нежелательных последствий захвата ресурсов другими программами нужно снижать максимальные скорости. Так же может помочь увеличение приоритета потока интерполяции и процесса, задаваемые в параметре "Приоритет_потока_интерполятора":
1 - высокий приоритет
2 - реального времени
Несмотря на высокий приоритет, задаваемый параметром "Приоритет_потока_интерполятора":, задачи типа просмотра видео могут нарушать работу програмы, так как работают на уровне драйверов, которые имеют более высокие приоритеты.
Для более стабильной работы рекомендуется:
Обеспечивает синхронный поворот оси A или B по направлению вектора интерполяции G1, G2, G3 в плоскости XY. Это может понадобиться, например, при резке пленки ножем, установленным на поворотной оси.
За данный режим отвечает параметр Ось_A_ведомая.
Прототипирование печатных плат можно выполнять разными способами, в их числе ЛУТ, вырезание на станке ЧПУ. Модификация последнего способа реализована в X-Cam с применением внешней программы CopperCAM.
Работа в CAD-программе проектирования ПП.
Делается экспорт из CAD-программы в формате gerber - в файл *.gbr.
Работа в CopperCAM.
Работа в X-Cam.
Загрузить файл в X-Cam. Или, если задан параметр then execute [CopperCAM - Parameters - Output data format], файл в X-Cam откроется автоматически.
!!! X-Cam позволяет подключить один контакт к фольгированному слою платы, а другой контакт прерывания измерения - к граверу и автоматизировать процесс определения нуля детали по Z. А расположение платы в определеных к-х XY обеспечит полный контроль базирования заготовки.