DNC Precision - Онлайн помощь | DNC Precision
О программе
DNC Precision - это коммуникационная программа, специально разработанная для обмена данными и программами между компьютером и любым станком с числовым программным управлением (ЧПУ). Программа позволяет отправлять и получать программы, написанные на машинном языке. DNC Precision может работать на любом компьютере, совместимом с Windows 2000 и выше, включая серверы.
Данная программа может отправлять и получать файлы как в ручном режиме (под управлением пользователя ПК), так и автоматически, получая определенные запросы от ЧПУ.
Основные возможности программы:
•Работа с несколькими станками одновременно, если система построена по радиальной схеме, где каждый станок подключен к отдельному последовательному порту.
•Создание отдельных конфигураций для нескольких станков.
•Настройка параметров порта.
•Использование программного или аппаратного контроля потока данных.
•Настройка формата отправляемых и получаемых файлов.
•Ограничение доступа пользователей к настройкам программы.
•Выбор отдельной папки с программами для каждого станка.
•Создание резервных копий.
•Работа в автоматическом режиме, когда файлы отправляются и принимаются автоматически.
•Обработка команд, передаваемых в заголовке блока данных (только для станков, поддерживающих эту функцию).
Прежде чем продолжить чтение этого руководства, убедитесь, что вы хорошо знакомы с основными концепциями операционной системы Windows, такими как:
•Запуск программ.
•Управление окнами.
•Управление файлами (сохранение, удаление, открытие и т. д.).
•Использование папок и каталогов.
Домашняя страница компании: https://www.aggsoft.ru/
Домашняя страница программы: https://www.aggsoft.ru/dnc-precision.htm
Справочник по COM портам и кабелях RS232: https://www.aggsoft.ru/rs232-pinout-cable/
Глоссарий
Скорость передачи (Baud Rate) - скорость передачи данных по асинхронному каналу. Скорость в бодах часто путают с BPS (бит в секунду), хотя на самом деле она означает количество сигналов в секунду. Поскольку каждый сигнал может представлять более одного бита данных, количество бит в секунду обычно превышает скорость в бодах. Например, 2400 бит/с обычно передаются со скоростью 600 бод.
Двоичный файл (Binary File) - файл, содержащий данные или инструкции программы, записанные в символах ASCII и расширенного ASCII.
ASCII - аббревиатура от American Standard Code for Information Interchange (Американский стандартный код для обмена информацией). Файлы ASCII - это обычные неформатированные текстовые файлы, которые распознаются практически любым компьютером. Блокнот Windows и практически любой текстовый редактор могут читать и создавать файлы ASCII. Файлы ASCII обычно имеют расширение .TXT (например, README.TXT).
Байты - совокупность из восьми бит, которая представляет собой символ, букву или знак препинания.
COM-порт - краткое название последовательного порта. Большинство программ DNC обмениваются данными с компьютером через коммуникационный порт, а большинство компьютеров IBM и совместимых с IBM поддерживают до четырех последовательных портов: COM1, COM2, COM3 и COM4. Дополнительные порты можно добавить путем установки дополнительного оборудования.
ЧПУ (CNC) - Computerized Numerical Control (Компьютеризированное числовое программное управление). Относится к станкам, которые оснащены компьютером и памятью для управления их работой. Почти все продаваемые сегодня станки (кроме станков с ручным управлением) оснащены ЧПУ. См. также ПУ (NC).
Биты данных - группа бит (1 и 0), представляющая один символ или байт. Обычно используется семь или восемь бит данных. Во время асинхронной связи (например, при подключении BitCom к CompuServe) обе стороны должны согласовать количество бит данных. Битам данных предшествует стартовый бит, за которым следует необязательный бит четности и один или несколько стоповых бит.
DNC - аббревиатура, которая в зависимости от области применения может означать Distributed Numerical Control (Распределенное числовое программное управление) или Direct Numerical Control (Прямое числовое программное управление). Изначально DNC означало прямое числовое программное управление, когда компьютер предоставлял машинные инструкции для фрезерного станка с ПУ, которые передавались по телефонным линиям. Позже термин DNC стал означать систему, в которой группа станков с ЧПУ связана с центральным компьютером. Или, наоборот, комбинацию компьютеров, каждый из которых связан с одним или несколькими станками с ЧПУ, при этом компьютеры объединены в локальную сеть. При распределенном числовом программном управлении программы ЧПУ отправляются (распределяются) в память станка с ЧПУ, после чего программа запускается из памяти ЧПУ.
Управление потоком (Flow control) - метод управления объемом данных, которыми обмениваются два устройства. При передаче данных управление потоком предотвращает "переполнение" одного модема данными от другого. Если данные поступают быстрее, чем они могут быть обработаны, принимающая сторона сохраняет их в буфере. Когда буфер почти заполнен, принимающая сторона подает сигнал передающей стороне остановиться, пока в буфере снова не появится место. Между аппаратным обеспечением (например, вашим модемом и компьютером) используется аппаратное управление потоком; между модемами используется программное управление потоком.
Аппаратный контроль передачи данных (Handshaking) - способ регулирования и контроля потока данных между компьютерами/оборудованием. Описываются два различных вида контроля передачи данных: программное и аппаратное. Важным отличием между ними являются типы управляющих сигналов.
ПУ (NC) - Numerical Control (Числовое программное управление). Управление станком с помощью серии закодированных инструкций, состоящих из цифр, букв алфавита и других символов. Они преобразуются в импульсы электрического тока или другие выходные сигналы, которые приводят в действие двигатели и другие устройства для работы станка. На ранних станках с ПУ эти сигналы часто доставлялись на станки с помощью перфоленты. Кроме того, термин "станок с ПУ" относится к станкам, в которых не установлены компьютер и память. См. также ЧПУ (CNC).
Файл УП (NC File) - файл, содержащий одну или несколько программ на специальном языке для станков с числовым программным управлением.
Программа УП (NC Program) - набор инструкций, написанных на машинном языке и сохраненных в файле УП.
Четность (Parity) - в передаче данных это простая процедура проверки целостности передаваемых данных. Наиболее распространенным типом четности является Even (четность), при котором сумма единиц в байте данных составляет четное число, и None (отсутствует), при котором бит четности не добавляется.
ПК (PC) - аббревиатура от Personal Computer (Персональный компьютер).
Перфоратор (Punch) - устройство вывода ЧПУ. Используется в станках с ЧПУ для вывода программ на перфоленту. Устройства могут подключаться к перфоратору параллельно или иметь последовательный вывод. В современных реалиях, вывод на перфоленту заменен выводом через другие интерфейсы, но название команды сохранилось.
RS232, RS423, RS422 И RS485 - Ассоциация электронной промышленности (EIA) разработала стандарты для RS232, RS423, RS422 и RS485, касающиеся передачи данных. Стандарты EIA ранее обозначались префиксом "RS" для указания рекомендованного стандарта (Recommended Standard). В настоящее время стандарты обычно обозначаются как стандарты "EIA" для идентификации организации по стандартизации.
Электронная передача данных в целом делится на две большие категории: несимметричная и дифференциальная. Стандарт RS232 (несимметричный) был представлен в 1962 году. RS232 по-прежнему широко используется, особенно производителями систем ЧПУ. Спецификация допускает передачу данных от одного передатчика к одному приемнику с относительно низкой скоростью передачи данных (до 20 Кбит/с) и на короткие расстояния (до 50 футов [~15 м] при максимальной скорости передачи данных). Это ограничение в 50 футов обычно можно увеличить до 200 футов [~60 м] и более за счет использования кабеля с низкой емкостью и снижения скорости передачи данных до 9600 бод и ниже.
Аппаратный контроль передачи данных RTS/CTS - использует дополнительные провода, чтобы сообщать передающему устройству, когда следует остановить или начать отправку данных. DTR и RTS относятся к этим линиям аппаратного контроля. Вы можете выбрать, нужно ли использовать DTR или RTS по отдельности, или использовать обе линии для аппаратного контроля. См. также XOn/XOff.
Стоповые биты - в передаче данных это один или два бита, используемые для обозначения конца байта (или символа). Всегда отправляется как минимум один стоповый бит.
Выгрузка (Upload) - отправка одного или нескольких файлов с дискового накопителя вашего компьютера на удаленный компьютер. В DNC это обычно означает передачу от системы управления станка с ЧПУ обратно на компьютер DNC. Это также может означать передачу с диска вашего компьютера на удаленный компьютер, например, на другой ПК, в онлайн-сервис или в Интернет.
Системные требования
Для запуска программы необходима одна из следующих ОС:
•Windows 2000 SP 4 - Windows 11 (платформы x86 и x64, серверные и настольные операционные системы).
Вам будут необходимы права администратора для инсталляции и регистрации программы.
Процесс инсталляции
Если на Вашем компьютере была установлена другая бета-версия, удалите ее.
Выйдите на время установки из работающей программы DNC Precision.
Запустите файл установки.
По умолчанию, DNC Precision будет установлен в папку "\Programs Files\DNC Precision" вашего системного диска, но вы можете указать свой путь.
В стандартной поставке DNC Precision отсутствуют файлы дополнительных модулей, которые вы можете скачать с нашего сайта.
Введение
После запуска программы открывается главное окно (рис. 1). Именно в этом окне создается список активных станков, выбираются необходимые действия и просматривается журнал сообщений самой программы или операций, выполненных со станком.

Рис. 1. Главное окно программы.
Главное окно программы содержит:
1. Панель инструментов содержит кнопки для быстрых действий: добавления, редактирования или удаления описаний станков, а также выбора режима работы станка.
На панели инструментов расположены следующие кнопки:
a.Добавить - позволяет добавить в список новый станок. После нажатия кнопки сначала предлагается ввести имя станка, а затем открывается окно изменения настроек станка по умолчанию. Если в этом окне нажать "ОК", описание станка будет добавлено в список. В противном случае операция будет отменена.
b.Удалить - позволяет удалить описание станка из списка. После удаления описания выполнение каких-либо операций с этим станком станет невозможным. Для удаления выберите нужный станок из списка и нажмите кнопку "Удалить".
c.Изменить - позволяет изменить конфигурацию ранее добавленного станка. Для выполнения этого действия необходимо выбрать нужный станок и нажать эту кнопку. Появится диалоговое окно, в котором можно изменить необходимые параметры. После нажатия кнопки "ОК" внесенные изменения будут сохранены.
d.Прием - позволяет принять файл со станка в ручном режиме. В этом режиме запрашивается имя сохраняемого файла, и после его указания программа переключается в режим приема файлов.
e.Передача - позволяет отправить файл с компьютера на станок в ручном режиме. В этом режиме запрашивается имя отправляемого файла, и после его указания программа переключается в режим передачи файлов.
f.Сервер - переключает программу в режим сервера для выбранного станка. В этом режиме файлы отправляются и принимаются автоматически без участия пользователя. Для правильной работы программы в этом режиме необходимо корректно настроить параметры, относящиеся к режиму сервера.
2. Список станков, доступных для работы. Пользователь создает этот список с помощью кнопок на панели инструментов.
3. Поле со списком, в котором отображаются все сообщения от программы или от выбранного станка.
4. Строка состояния, в которой отображается текущее состояние программы.
Внимание: на мониторах с низким разрешением окно может отображаться не полностью.
Примечание: по умолчанию доступ к настройкам параметров станка предоставляется только после ввода пароля. Пароль по умолчанию пустой (вы можете изменять конфигурацию без ввода пароля).
Параметры порта
Для настройки параметров порта перейдите на вкладку "Порт - Параметры порта" в окне настроек (рис. 2).

Рис. 2. Настройка параметров порта и общих параметров.
Основные параметры
Последовательный порт - номер последовательного порта, через который соединены ПК и ЧПУ.
Режим опроса - существует два режима запросов:
•По событию - программа ожидает от Windows сигнала о том, что коммуникационный драйвер получил данные, и только после этого запрашивает размер полученных данных.
•Опрос - при опросе программа постоянно запрашивает коммуникационный драйвер о наличии данных во внутреннем буфере.
В первом режиме ресурсы компьютера экономятся, но некоторые медленные компьютеры могут "пропускать" события и, следовательно, терять данные. Поэтому по умолчанию этот режим рекомендуется для быстрых компьютеров. Тем не менее, если вы заметили какие-либо проблемы при передаче данных, мы рекомендуем выбрать второй режим.
Второй режим использует относительно больше ресурсов компьютера, но он работает стабильнее.
Скорость передачи - скорость передачи данных, бит в секунду. Эта скорость должна совпадать со скоростью, указанной на станке.
Стоповые биты - количество битов, добавляемых после каждого переданного символа и указывающих на окончание передачи символа. Количество стоповых битов должно совпадать с количеством, выбранным на ЧПУ.
Биты данных - количество битов в каждом символе. Количество битов данных должно совпадать с количеством, выбранным на ЧПУ.
Четность - это механизм, используемый для отслеживания ошибок при передаче данных. Настройки четности должны совпадать с настройками на ЧПУ:
• Нет (None): отслеживание ошибок не производится.
• Чет (Even): после каждого символа отправляется один дополнительный бит.
• Нечет (Odd): после каждого символа отправляется один дополнительный бит.
• Маркер (Mark): бит четности всегда равен '1'. Ошибки не могут быть отслежены, если выбран этот тип четности.
• Пробел (Space): бит четности всегда равен '0'. Ошибки не могут быть отслежены, если выбрана такая четность.
Режим интерфейса RS-485 - иногда линия связи между компьютером и ЧПУ может быть очень длинной. В этом случае можно использовать стандарт подключения RS-485, в котором применяется двухжильная кабельная линия. В этом режиме программа не будет отправлять данные во время их приема (что допускается стандартом RS-232).
Очищать буфер при возникновении ошибки во время приема данных - когда вы только настраиваете станок, вам может понадобиться видеть все данные (даже если они содержат ошибки), которые поступают через последовательный порт. В таком случае вам следует отключить эту опцию. В обычном рабочем режиме это делать не обязательно. Поэтому по умолчанию эта опция отключена.
Управление потоком данных
Для настройки параметров порта перейдите на вкладку "Порт - Управление потоком данных" в окне настроек (рис. 3).

Рис. 3. Настройка контроля передачи данных.
Аппаратный контроль передачи данных используется в тех случаях, когда ЧПУ не может быстро обработать полученные данные. Чтобы предотвратить переполнение входного буфера, ЧПУ сообщает программе (DNC-серверу) о необходимости приостановить отправку данных.
Метод обмена сигналами между ЧПУ и DNC-сервером называется контролем передачи данных. Существует два метода контроля: программный (XOn/XOff) и аппаратный. Для аппаратного контроля передачи данных вам понадобится специальный кабель с проводами аппаратного управления потоком.
Программное управление потоком (XOn/XOff) - два байта, которые обычно не используются для передачи текста, назначаются специальным символам для приостановки (XOff) и возобновления (XOn) передачи данных. Когда ЧПУ хочет, чтобы DNC Precision приостановила отправку данных, он отправляет символ XOff (Отключить передачу). Когда буфер ЧПУ пуст, станок отправляет сигнал XOn (Включить передачу), что означает готовность снова принимать данные. По умолчанию для XOff используется символ ASCII 19, иногда также называемый DC3 (Device Control 3), а для XOn - ASCII 17 (DC1). Программное управление потоком XOn/XOff применяется только при передаче текста. Его нельзя использовать для передачи двоичных данных, поскольку двоичные файлы могут сами по себе содержать символы XOn или XOff.
Аппаратное управление потоком (RTS/CTS) - RTS/CTS является стандартной формой аппаратного контроля передачи данных. Компьютер сигнализирует по линии RTS (Request To Send - Запрос на отправку) о том, что он хочет отправить данные на ЧПУ, в то время как ЧПУ отправляет сигнал CTS (Clear To Send - Готов к приему), когда оно готово к приему данных.
Аппаратное управление потоком (DTR/DSR) - для контроля также могут использоваться сигналы DTR (Data Terminal Ready - Готовность терминала данных) и DSR (Data Set Ready - Готовность набора данных). DNC-сервер отправляет сигнал DTR, когда он готов отправлять и принимать данные, а ЧПУ использует для этого сигнал DSR.
Оба метода можно использовать одновременно. Настройки контроля передачи данных в программе должны совпадать с настройками на ЧПУ.
Символы XOn/XOff - некоторые станки используют нестандартные символы для XOn/XOff. В этом случае вы можете указать собственное значение кода для этих символов. Код символа указывается в шестнадцатеричном формате #XX, где XX - шестнадцатеричный код символа ASCII (его можно вычислить с помощью стандартного калькулятора Windows). Если вы не уверены, укажите значения по умолчанию: XOn = #11 и XOff = #13.
Высокий уровень RTS - если сигнал RTS не используется для аппаратного контроля передачи данных, он может иметь низкий или высокий уровень. По умолчанию (когда опция включена) установлен высокий уровень.
Высокий уровень DTR - если сигнал DTR не используется для аппаратного контроля, он может иметь низкий или высокий уровень. По умолчанию (когда опция включена) установлен высокий уровень.
Ведение журнала
Журналы помогут вам отслеживать и диагностировать ошибки, которые могут возникнуть в процессе настройки и использования программы.
Для настройки параметров журнала необходимо перейти на вкладку "Порт - Файлы протокола" в окне настроек (рис. 4).

Рис. 4. Настройки журнала.
В программе предусмотрено два типа файлов журнала:
Файлы протокола принятых данных - файлы этого типа используются для определения параметров конфигурации станка при настройке соединения. Этот файл позволяет узнать формат файла, используемого для передачи, и соответствующим образом настроить программу (DNCP).
Файлы протокола сообщений - во время работы программы могут появляться как обычные информационные сообщения, так и сообщения об ошибках или предупреждения. Вы можете настроить уровень детализации в журналах сообщений для каждого станка. Файл протокола может вестись непрерывно в одном файле или же может создаваться новый файл каждый день/час/месяц, что значительно облегчает поиск определенной информации в журнале по дате.
Для каждого типа файла журнала можно указать папку, в которой будут сохраняться все файлы.
Формат программы
Каждый станок (ЧПУ) может иметь индивидуальный формат программы ЧПУ. Формат программ может быть либо общим (т. е. его параметры применяются как для отправляемых, так и для получаемых программ), либо различаться для отправляемых и получаемых программ.
Общие настройки
Для изменения общих настроек необходимо открыть окно "Формат - Общие" (рис. 5).

Рис. 5. Общие настройки.
Заканчивать прием данных от NC после - если включить эту опцию и указать шестнадцатеричный код символа, DNC Precision остановит прием данных сразу после получения этого символа.
Ожидать/отправлять символ перед отправкой/приемом файла - эта опция позволяет DNC-серверу отправлять или получать данные на станок с ЧПУ только после получения заданного символа, и только если вы не используете программное управление потоком. В некоторых случаях эта опция может помочь DNC-серверу определить, что станок перешел в состояние приема, даже если работает аппаратное управление потоком.
Обмен данными
Для изменения этих настроек необходимо открыть окно "Формат - Обмен данными" (рис. 6).

Рис. 6. Настройки передачи данных.
Вы можете настроить формат передачи данных отдельно для каждого направления (отправка и прием). Направление передачи данных выбирается из выпадающего списка в верхней части диалогового окна. Если формат одинаков как для получаемых, так и для отправляемых данных, вы можете выбрать в списке пункт "Общий формат для приема и передачи данных".
После выбора направления передачи данных необходимо сначала настроить общий формат программы. Он характеризуется двумя параметрами:
Старт - параметр, указывающий на начало программы. Этот параметр представляет собой строку символов, которая может содержать как обычные символы ASCII (от 32 до 127), так и любые другие символы, код которых указывается в формате #XX, где XX - шестнадцатеричный код нужного символа. Все данные, полученные до этой последовательности байтов, считаются управляющим заголовком и обрабатываются соответствующим образом. Например, если вы введете последовательность символов %#0A, параметром начала программы будут два символа ASCII: % и LF.
Конец - параметр, указывающий на окончание программы. Все данные, полученные после этого параметра, игнорируются DNC Precision и сохраняются только в файле журнала принятых данных. Формат этого параметра такой же, как и у предыдущего. Если параметр "Конец" пуст, DNCP прекращает прием данных по истечении заданного времени ожидания после последнего полученного байта или символа (Задержки - Таймаут признака конца файла).
Префикс имени программы - именно по этому параметру DNC Precision пытается определить внутреннее имя программы ЧПУ в первых строках файла.
После настройки формата программы следует настроить формат каждой строки программы. Этот формат также характеризуется двумя параметрами:
Старт - параметр, сообщающий DNCP о том, что ЧПУ начинает отправку новой строки программы. Параметр вводится в том же формате, что и предыдущие параметры. Если этот параметр не указан, программа начинает прием данных с любого символа. В этом случае строка отделяется только параметрами конца строки.
Конец - параметр, сообщающий DNCP о том, что ЧПУ завершает отправку строки программы. Формат этого параметра такой же, как и у предыдущего. Если этот параметр не указан, разделить строки в общем потоке данных будет невозможно. Поэтому данный параметр является обязательным.
Пропуск строки, с началом - этот параметр определяет строки (отделенные вышеупомянутыми параметрами), которые не следует принимать или отправлять. Если строка имеет в начале указанную последовательность символов, она будет пропущена.
Игнорировать символы - в этом поле ввода указывается один или несколько символов. Если в строке, отделенной вышеупомянутыми параметрами, присутствует один из указанных символов, он будет удален из строки.
Начало/конец комментария - здесь можно задать символы которые ограничивают комментарий в теле программы, который может быть из нескольких строк.
Префикс локального комментария - признак начала одиночной строки с комментарием.
Префик/суффикс нумерации - задает формат нумерации строк программы ЧПУ если нумерация присутствует в них. Эти параметры используются при отправке отчетов в режиме сервера.
Символы начала программы хранятся в файле,
Символы окончания программы хранятся в файле - если включена эта опция, то DNC Precision считает, что программа для ЧПУ на диске уже содержит нужный признак начала или окончания программы и не будет добавлять его при отправке.
Добавлять символ конца строки к символам начала программы - если включить данную опцию, то символ начала программы будет визуально расположен на отдельной строке.
Пропускать пустые строки при обмене данными - если эта опция включена и при передаче данных встречается пустая строка (содержащая только параметры начала и конца строки), она будет пропущена.
Преобразование символов
При отправке и получении данных замена символов позволяет избавиться от символов, которые не нужны или нежелательны для DNC-сервера, недопустимы для отправки на станок или несовместимы с ним. Замена символов настраивается отдельно для каждого направления передачи данных (рис. 7).

Рис. 7. Настройка замены символов.
В поле "Направление" укажите настраиваемое направление. После этого в поле "Текущие действия" отобразятся правила замены символов, которые уже заданы для этого направления. Чтобы задать правило, выберите код символа в поле "Символ", а затем выберите нужное действие.
•Не изменять - выбранный символ не будет изменен. Это действие применяется по умолчанию для всех символов.
•Удаление символа - выбранный символ будет удален.
•Замена на - выбранный символ будет заменен на указанный.
Доступны следующие дополнительные опции:
Удалить всех ниже ASCII 32 - все символы с кодом меньше 32 будут удалены. Это означает удаление всех непечатаемых символов.
Удалить всех выше ASCII 127 - все символы с кодом больше 127 будут удалены. Это означает удаление всех символов, для кодировки которых требуется 8 бит данных.
Преобразование регистра - все символы в коде программы могут автоматически преобразованы в указанный регистр.
Задержки
Некоторым станкам требуется время на обработку полученных данных. Чтобы сэкономить время на анализ сигналов управления контролем передачи, вы можете задать предварительно установленные задержки, которые обеспечат качественную и надежную передачу данных.
Для изменения временных задержек необходимо открыть окно "Задержки" (рис. 8).

Рис. 8. Настройка задержек.
Передача
Таймаут передачи (с) - используйте это поле, чтобы указать временной интервал, по истечении которого DNC Precision вернется в нормальный рабочий режим.
Задержка перед передачей (мс) - используйте это поле, чтобы указать время ожидания DNC-сервера перед отправкой данных. Этот временной интервал будет выдерживаться либо при получении запроса от ЧПУ в режиме сервера, либо между файлами в циклическом режиме передачи файлов.
Задержка перед каждой строкой (мс) - используйте это поле, чтобы указать временной интервал, который должен выдерживаться перед отправкой каждой строки программы.
Задержка между байтами в строке (мс) - используйте это поле, чтобы указать временной интервал, который должен выдерживаться между отправкой каждого символа в строке.
Возврат к приему файлов (мс) - используйте это поле, чтобы указать временной интервал, который должен выдерживаться между переключениями сигнала RTS с высокого на низкий уровень.
Ожидание разрешение передачи (с) - наша программа поддерживает режим подкачки (drip feeding) большой программы в систему управления станка. В этом режиме DNCP отправляет порцию данных, пока станок их принимает. Когда станок больше не может принимать данные (память станка заполнена), он отправляет сигнал на ПК (с помощью линий аппаратного управления потоком или символа XOff), и ПК ожидает указанное время. Когда станок готов принять следующую порцию данных, он отправляет XOn или включает аппаратное управление потоком, и DNCP отправляет следующую порцию данных. Если эта задержка равна нулю, то программа будет ждать неограниченное время до получения сигнала со стороны станка.
Прием
Таймаут приема (с) - используйте это поле, чтобы указать временной интервал, по истечении которого DNCP вернется в нормальный рабочий режим, если данные вообще не получены.
Таймаут признака начала программы (с) - по истечении этого интервала DNCP вернется в нормальный рабочий режим, если признак начала программы (обычно %) не получен. Отсчет этого интервала начинается с момента получения любых байтов от станка с ЧПУ.
Таймаут признака конца программы (с) - по истечении этого интервала DNCP возвращается в нормальный рабочий режим и отбрасывает все полученные данные, если признак конца программы (обычно %) не получен. Отсчет этого интервала начинается с момента получения признака начала программы.
Возврат к приему файлов (мс) - используйте это поле, чтобы указать временной интервал, который должен выдерживаться между переключениями сигнала RTS с высокого на низкий уровень.
Ручной режим
Конфигурация
Ручной режим используется для отправки и приема файлов под управлением пользователя ПК. В зависимости от предоставленных прав пользователь может загружать файлы либо из указанной папки, либо из любой папки на диске. То же самое справедливо и для приема файлов.
Поведение пользователя и программы определяется настройками, заданными на вкладке "Ручной режим - Каталоги и файлы" (рис. 9).

Рис. 9. Ручной режим. Конфигурация.
Папка для файлов, отправляемых на станок,
Папка для файлов, принимаемых со станка - эти две папки определяют расположение на диске, которое будет использоваться по умолчанию для загрузки и выгрузки файлов. Если вы установите флажок "Не позволять пользователям сохранять/загружать файлы в другие папки / из других папок", пользователь сможет выбирать файлы только из папки, указанной в этом поле.
Не позволять пользователям сохранять файлы в другие папки,
Не позволять пользователям загружать файлы из других папок - эта опция ограничивает пользователя в выборе расположения файлов и предотвращает случайную потерю информации в результате ошибочных действий. Если эта опция включена, файлы всегда будут находиться в указанном месте.
При передаче файлов со станка на компьютер иногда случается так, что передаваемый файл уже существует на диске в указанной папке. В этом случае программа будет следовать инструкциям, указанным в группе "Копия" (резервная копия).
Режим - определяет, что должна делать программа, если обнаружит, что такой же файл уже существует на диске:
•Отключено - резервные копии не создаются. Старый файл заменяется новым.
•Копировать старые файлы в папку резервного копирования - файл, который уже существует в папке, указанной для сохранения, будет перемещен в другую папку (указанную ниже).
•Переименовать старый файл - файл, существующий в папке, не будет перемещен, а только переименован. К его имени будет добавлен идентификационный номер 1, 2, 3 и т. д.
•Переименовать новый файл - файлы, существующие в папке, останутся без изменений, а новый файл будет переименован. Переименование выполняется так же, как описано выше.
Если выбран режим №2, поле ввода "Папка" становится доступным для редактирования. Здесь вы можете указать расположение на диске, куда будут помещаться резервные копии файлов.
Автосоздавать папки - если эта опция включена, все указанные выше папки будут созданы автоматически. Это означает, что вам не придется создавать их перед запуском программы. Если папка уже существует, она останется без изменений.
Передача файлов со станка на компьютер
Для передачи файла в этом режиме необходимо выполнить следующие действия:
1.Выберите станок из списка в главном окне программы.
2.Нажмите кнопку "Прием".
3.Укажите или выберите имя файла и путь к нему. Если файл существует, появится диалоговое окно "Заменить файл?", в котором вы можете нажать "Да" для подтверждения действия.
4.Нажмите "ОК".
После этого программа перейдет в режим приема файлов. Затем вам следует быстро нажать кнопку PUNCH на самом станке. Если станок был настроен правильно, в журнале сообщений будет отображаться процесс приема файла. Последним сообщением будет информация об успешном приеме файла. В любом другом случае появится сообщение об ошибке.
Если по какой-либо причине вы решите отменить прием файла, нажмите кнопку "Стоп" на панели инструментов в главном окне программы.
Передача файлов с компьютера на станок
Для передачи файла в этом режиме необходимо выполнить следующие действия:
1.Выберите станок из списка в главном окне программы.
2.Нажмите кнопку "Передача".
3.Укажите или выберите имя файла и путь к нему.
4.Нажмите "ОК".
После этого программа перейдет в режим передачи файлов и будет ожидать готовности принимающего устройства. Затем вам следует нажать кнопку READ на самом станке. Если станок был настроен правильно, в журнале сообщений будет отображаться процесс отправки файла. Последним сообщением будет информация об успешной отправке файла. В любом другом случае появится сообщение об ошибке.
Если по какой-либо причине вы решите отменить отправку файла, нажмите кнопку "Стоп" на панели инструментов в главном окне программы.
Настройки
{Доступно только в полной версии Professional}
Это самый "продвинутый" и интеллектуальный режим работы программы. В этом режиме программа выполняет все действия автоматически, без необходимости вмешательства пользователя на ПК. При запуске программа автоматически переходит в режим приема информации со станка. Программа просматривает получаемые данные и реагирует одним из нескольких способов в зависимости от того, что она находит:
•передает файл программы на станок.
•принимает файл программы со станка.
•передает информацию о файлах, находящихся в указанной или запрошенной папке.
•удаляет файлы в указанной папке.
•переименовывает файлы, находящиеся в указанной папке.
Папки для приема и передачи файлов указываются так же, как и в предыдущем разделе "Ручной режим".
Команды от станка к компьютеру могут передаваться двумя способами:
•В виде команд в управляющем заголовке передаваемого блока данных - набор этих команд ограничен и напрямую зависит от производителя станка. На некоторых станках такие команды могут отсутствовать. Часто управляющий заголовок присутствует в станках с функцией загрузки программ с внешнего дисковода, работающих через интерфейс RS232.
•В виде команд, передаваемых в теле программы - это наиболее удобный способ передачи информации между станком и ПК. Данную форму можно использовать для передачи практически любого типа информации. Протокол сообщений, который принимает DNC-сервер, определяет формат данных, отправляемых в этом случае. Именно так оператор ЧПУ может запросить у DNC-сервера информацию (содержимое папок, файлы). Оператор ЧПУ отправляет в DNC Precision короткую программу с командами, на которые он хочет получить ответ.
Команды в заголовке
Команды извлекаются из заголовка в соответствии с параметрами, указанными на вкладке "Режим сервера/Формат команд ЧПУ" (рис. 10).

Рис. 10. Формат команд ЧПУ.
Если вы уверены, что ваш станок использует служебные команды в заголовке (например, посмотрев файл журнала), сначала необходимо включить этот режим в поле "Обработка команд из NC". После этого необходимо задать параметры, которые будут использоваться для извлечения команд из общего потока информации.
Искать команды в теле программы - если данная опция включена, то помимо служебного заголовка, до специальных символов начала программы ЧПУ), DNC Precision будет анализировать первые 100 строк программы ЧПУ, где в комментария можно указать любые поддерживаемые команды.
Основные настройки
Начало - параметр, указывающий на начало команды. Этот параметр представляет собой строку символов, и он может содержать как обычные символы ASCII от 32 до 127, так и любые другие символы, код которых указывается в формате #XX, где XX - шестнадцатеричный код нужного символа. Все данные, полученные до этой последовательности байтов, не считаются командами и игнорируются. Например, если вы введете последовательность символов "#1B#26", параметром начала команды будут считаться два символа ASCII - ESC (ASCII 27) и &.
Конец - параметр, указывающий на конец команды. Этот параметр представляет собой строку символов и может содержать обычные символы ASCII от 32 до 127. Формат этого значения идентичен предыдущему параметру. Все данные, полученные после этой последовательности байтов, игнорируются.
Первые N символов - это имя команды - после того как команда отделена от заголовка или тела программы с помощью указанных выше параметров, также необходимо определить ее имя и возможное значение. Для этого укажите, сколько первых символов составляют имя программы. В дополнение к этому можно указать ("Только буквы"), что имя программы может содержать только буквы. Таким образом, максимальный размер имени команды ограничивается, но если последние символы не являются буквами, они будут отрезаны от имени команды и добавлены в начало тела команды.
Имя команды и ее тело разделены символом - это поле позволяет указать разделитель между именем команды (H, FW и т. д.) и телом команды (имя файла, сообщение и т. д.).
Дополнительные настройки
Эти настройки позволяют раскрыть все возможности извлечения команд, но требуют дополнительных знаний в области регулярных выражений.
Использовать регулярные выражения - для отделения команд от служебного заголовка или от тела программы будут использоваться регулярные выражения в стиле Perl, широко применяемые для обработки текстовых данных. Указав одно или несколько регулярных выражений (каждое регулярное выражение указывается в отдельной строке), вы определите соответствующее количество правил для обработки входящих данных. При указании регулярного выражения в результате его работы вы должны получить два совпадения. DNC-сервер будет считать первое совпадение именем команды, а второе совпадение - телом команды.
Команды в теле программы
DNC-сервер может обрабатывать команды, передаваемые в теле программы. Для корректной идентификации команды необходимо соблюдение следующих условий:
1.Все команды, отправляемые в DNCP, должны передаваться в программе ЧПУ, имя которой указано в поле "Искать запросы только в программах с именем" (рис. 10).
2.Имя программы ЧПУ должно передаваться в первой строке и должно использовать формат, указанный в разделе "Формат программы".
3.Вы можете использовать диапазон имен управляющих программ в виде 8880-8889. При этом, вы можете использовать имя программы, как триггера для какой-то команды от ЧПУ (см. ниже).
Пример программы для ввода оператором ЧПУ:
O8888
N0010 (DIR=/VIPROS)
N0020 (PRG=0010)
%
В первой строке указывается имя программы. В настройках DNC для текущего станка это имя должно совпадать с именем, указанным в поле "Искать запросы только в программах с именем", поскольку DNCP будет искать запросы от ЧПУ только в программах с таким именем.
Вторая строка содержит команду DIR =/VIPROS, которая определяет папку для выполнения операции получения файла или содержимого папки.
Третья строка содержит команду PRG=0010, указывающую DNC-серверу отправить файл с именем 0010 на станок. Чтобы получить фактическое имя файла, DNC-сервер формирует его из префикса (он будет добавлен перед 0010), суффикса (он будет добавлен после 0010) и расширения (оно будет добавлено в конце и отделено от суффикса точкой). После этого он будет искать файл в указанной папке.
Последняя строка с символом % указывает на конец программы, и этот символ должен совпадать с тем, что указан в разделе "Формат программы".
После отправки запроса оператор ЧПУ должен переключиться в режим приема данных от DNC-сервера в течение 3 минут. Если он этого не сделает, DNC-сервер переключится обратно в режим ожидания запросов от ЧПУ. Результатом запроса будет либо файл, либо содержимое диска, либо статус выполнения операции.
Триггеры команд
Если все вышеперечисленные условия соблюдены, в результате процесса будет выявлена одна или несколько команд, которые DNC-сервер сможет выполнить. Теперь необходимо сопоставить идентифицированные имена команд с теми, которые поддерживает DNC-сервер. Это делается в списке "Имена команд NC". DNC-сервер поддерживает и может выполнять следующие команды:
Отправить файл - при получении этой команды DNC-сервер поставит файл в очередь на передачу, при этом имя файла передается в теле команды. Окончательное имя файла формируется из префикса, суффикса и расширения, указанных на вкладке "Каталоги и файлы" (рис. 11).
Список файлов - как только DNC-сервер получит эту команду, он поставит содержимое папки (или папок), указанной на вкладке "Каталоги и файлы" (рис. 11) в списке "Папка для файлов, отправляемых на станок", в очередь на отправку.
Установить относительный путь - имя папки, в которой DNC-сервер должен искать программы для отправки на станок. Имя папки определяется относительно папок, указанных на вкладке "Каталоги и файлы". Например, предположим, что в настройках DNC для текущего станка указано C:\NC, а тело полученной команды - VIPROS. В этом случае сервер будет искать файлы в папке C:\NC\VIPROS\. Если эта команда не указана, поиск файлов выполняется только в папке, указанной в настройках DNC для текущего станка.
Пропустить - если вы укажете это действие для команды, то команда с таким именем будет пропущена, а в журнал сообщений будет добавлена запись о том, что эта команда была проигнорирована.
Задать файл для операций - при выполнении этой команды имя файла, переданное в теле программы, будет запомнено и использовано для дальнейших операций (например, переименования). Если эта команда является последней в списке обрабатываемых команд, она будет означать запрос на отправку файла с этим именем.
Имя принятого файла - эта команда сообщает DNC-серверу, что тело команды представляет собой имя программы, которая в данный момент отправляется на DNC-сервер. В зависимости от этого имени сервер ищет команды в теле программы, поскольку имя программы, в которой следует искать команды, указано в настройках (рис. 10). В случае неслужебных программ это имя файла используется для сохранения файла программы на диск.
Удалить файл - удаляется файл, имя которого указано в теле команды. Файл удаляется из первой найденной папки, указанной в списке "Папка для файлов, отправляемых на станок" в настройках.
Переименовать в - файл, имя которого было задано ранее командой "Задать файл для операций", будет переименован в файл, указанный в теле команды. Переименование производится в первой найденной папке, указанной в списке "Папка для файлов, отправляемых на станок" в настройках.
Отменить текущую операцию в очереди - эта команда указывает DNC Precision немедленно отменить текущую команду. Эта команда используется, если вы хотите отменить текущую операцию подкачки данных и запросить новый файл.
Отменить все операции в очереди - эта команда указывает DNC Precision немедленно отменить текущую команду и очистить все команды в очереди. Эта команда используется, если вы хотите отменить операцию подкачки данных и запросить новый файл, но при этом у вас есть файлы, поставленные в очередь на отправку ранее.
Имя оператора - эта команда задает имя оператора. В дальнейшем имя оператора используется в мониторе станка. Если вы используете функцию монитора станка, вы можете проинструктировать своих операторов использовать эту команду в начале своей смены.
Поломка инструмента - эта команда частично запрашивает файл в случае поломки инструмента и остановки станка. Команда описана в следующем разделе.
Поломка инструмента: добавить до, Поломка инструмента: добавить после - эти команды используются совместно с командой поломки инструмента. Они описаны в следующем разделе.

Рис. 11. Каталоги и файлы.
Вы можете определить несколько папок с подпапками для поиска запрашиваемой программы. DNC Precision отправит первый найденный файл, который соответствует префиксу, суффиксу и расширению имени файла (см. рис. 11). Если ваши папки содержат файлы с разными расширениями, вы можете указать все ваши расширения в поле "Расширение". В этом случае все расширения разделяются точкой с запятой. Например, если в ваших папках содержатся файлы типа *.nc, *.ncp и *.iso, то строку расширений можно задать как "nc;ncp;iso" (без кавычек). В этом случае программа будет использовать все эти расширения для поиска.
Список файлов
{Доступно только в полной версии Professional}
В режиме сервера DNC-сервер может обрабатывать запрос на отправку списка файлов, расположенных в папке, которая указана в поле "Папка для файлов, отправляемых на станок" на вкладке "Режим сервера - Каталоги и файлы".
Получив запрос на передачу списка файлов, описанный в разделе "Команды в теле программы", DNC-сервер сформирует список файлов в виде псевдопрограммы в формате, заданном пользователем на вкладке "Режим сервера - Список файлов" (рис. 12). После этого сгенерированная псевдопрограмма готова к отправке на станок. Оператор ЧПУ, в свою очередь, должен переключить ЧПУ в режим приема данных. Как только это будет сделано, оператор ЧПУ получит программу со списком файлов в ее теле.

Рис. 12. Формат списка файлов.
Пример: Если оператор отправляет:
O8889
N0010 (PRG=DIRLIST)
%
DNC-сервер ответит:
:8889 feed
N1000 ( DIRECTORYLIST FOR COM2 )
N1010 ( ----------------------------)
N1020 (1111 28.01.2004 12:23:30 121)
N1030 (8888 28.01.2004 13:07:00 23)
N9999 ( END OF LISTING )
M30
%
Разрешить запрос списка файлов - эта опция позволяет DNC-серверу обрабатывать запросы на отправку списка файлов. Если эта опция отключена, запрос на чтение списка файлов будет проигнорирован. При включенной опции генерации отчета оператору ЧПУ будет отправлено сообщение об ошибке.
Идентификатор запроса списка - запросы на отправку списка файлов могут передаваться не только в теле программы запроса, как это описано в разделе "Команды в теле программы", но и в виде отдельной пустой программы запроса, имеющей собственное имя. Имя этой программы (указанное в ее первой строке) и является идентификатором. Получив программу с таким идентификатором, DNC-сервер формирует список файлов и сразу же его отправляет.
Вставить в начало списка, Вставить в конец списка - позволяет вам определить заголовок и нижний колонтитул (футер) списка файлов. Программа поместит фактическую таблицу со списком файлов между этим текстом. При заполнении этих полей можно использовать переменные типа $PORTNAME$, описывающие текущее состояние DNC-сервера. Полное описание переменных можно найти в разделе "Переменные".
Примечание: При отправке данных из этих полей программа попытается определить синтаксис введенных данных. Это означает, что номера строк и символы комментариев НЕ будут добавлены к следующим строкам:
•не имеющим символа % в начале.
•не начинающимся с префикса, установленного для имени программы в разделе "Формат".
•начинающимся с последовательности вида G50, которая является стандартным G-кодом.
Столбец 1..3 - эти раскрывающиеся списки определяют формат, в котором должна отображаться одна строка в списке файлов, описывающая один файл из папки. Возможны следующие значения:
•Нет - ничего не отображать в этом столбце;
•Имя файла без расширения - в столбце будет отображаться только имя файла. Пример: TESTFILE
•Имя файла - в столбце будет отображаться имя файла и его расширение. Пример: TESTFILE.NC
•Путь - в столбце будет отображаться путь к файлу. Пример: C:\NCPROGRAMS
•Имя и путь - в столбце будет отображаться путь к файлу и его полное имя. Пример: C:\NCPROGRAMS\TESTFILE.NC
•Размер файла - в столбце будет отображаться размер файла в байтах. Пример: 680
•Дата файла - в столбце будет отображаться дата создания файла. Пример: 12/12/2004
•Время файла - в столбце будет отображаться время создания файла. Пример: 12:12:04
•Дата и время файла - в столбце будет отображаться дата и время создания файла. Пример: 12/12/2004 12:12:04
Отправлять в комментариях - если эта опция включена, список файлов будет заключен в разделители комментариев, указанные в формате программы.
Отправлять с нумерацией строк - если эта опция включена, каждая строка списка файлов будет пронумерована. Нумерация строк начнется с 1000 с шагом 10.
Примечание: Если вы включите опции "Отправлять с нумерацией строк" и "Отправлять в комментариях", но хотите передать некоторые строки без изменений (без номеров и комментариев), поставьте символ '!' в начале строки (см. пример ниже).
Пример текста шаблона:
!:8889 feed
DIRECTORYLIST FOR $PORTNAME$
----------------------------
или
END LISTING
!M30
Отчеты
{Доступно только в полной версии Professional}
При передаче, приеме файлов и обработке запросов в автоматическом режиме иногда возникает необходимость проинформировать оператора о статусе выполнения операции. Это можно сделать с помощью отчетов. DNC-сервер может генерировать следующие типы отчетов:
•файл был успешно получен от ЧПУ;
•файл не был успешно получен от ЧПУ;
•запрос не был выполнен.
Для редактирования параметров отчета необходимо перейти на вкладку "Режим сервера - Отчеты" (рис. 13).

Рис. 13. Редактирование параметров отчетов.
Тип отчета - выбор типа отчета, параметры которого вы хотите отредактировать.
Включить отчет - если эта опция включена, текущий отчет будет сгенерирован и отправлен на станок.
Отправлять в комментариях - строки отчета, сгенерированного из шаблона, будут заключены в разделители комментариев.
Отправлять с нумерацией строк - строки отчета, сгенерированного из шаблона, будут пронумерованы, начиная с 1000, с шагом 10.
Текст отчета - шаблон текста отчета, который вы хотите отправить. В тексте отчета можно использовать специальные переменные, которые программа заменяет соответствующими значениями перед отправкой на станок.
Примечание: Если вы включите опции "Отправлять с нумерацией строк" и "Отправлять в комментариях", но хотите передать некоторые строки без изменений (без номеров и комментариев), поставьте символ '!' в начале строки (см. пример ниже).
Пример текста шаблона:
!:9997
SUCCESS!
TIME $TIMESTRIP$
DATE $DATESTRIP$
--------------------------------------------
RECEIVED PROGRAM $RECVPRGNAME$
SIZE $RECVFILESIZE$
FILENAME $RECVFILENAME$
DIRECTORY $RECVDIRNAME$
--------------------------------------------
!M30
Команда поломки инструмента
{Доступно только в полной версии Enterprise}
Эта команда используется для идентификации файла, который вы хотите загрузить частично. Данная страница конфигурации позволяет определить заголовок, тело и завершающую часть программы. Затем эти части будут собраны во временный файл и отправлены на станок, чтобы вы могли повторно выполнить ту часть программы, которая следовала после поломки инструмента. Оператор должен отправить в DNC Precision управляющую программу следующего вида:
%
O8888
(TOOLBREAK=N100)
(PRG=0010)
%
Эта программа содержит следующие команды:
TOOLBREAK=N100 - указывает строку поломки инструмента в программе и состоит из двух частей:
1. TOOLBREAK. Это имя команды. Данное имя команды должно быть определено в списке триггеров команд ЧПУ и назначено действию "Поломка инструмента" (Tool break). Вместо TOOLBREAK можно использовать любое другое слово. В этом случае необходимо внести соответствующие изменения в приведенную выше управляющую программу и в список триггеров команд ЧПУ.
2.N100. Это строка поломки инструмента. Здесь вы можете указать:
oЕсли ваша программа содержит нумерацию - номер строки программы, например "N100";
oЕсли ваша программа не содержит нумерации, то любой текст, который встречается в программе, например "X0.001Z100". DNC Precision найдет первую строку с этим текстом и будет использовать ее как строку поломки инструмента.
oВы можете указать любое число, например "100". DNC Precision будет использовать строку с этим номером в качестве строки поломки инструмента.
PRG=0010 - указывает имя программы для отправки. Эта команда ставит в очередь на отправку программу с таким именем. Перед отправкой этот файл будет предварительно обработан и сохранен как временный файл. DNC Precision будет использовать разделы заголовка и завершающей части (футера), а также правила в этих разделах для формирования временного файла.

Рис. 14. Команда поломки инструмента.
Заголовок поломки инструмента (вставляется в начало файла)
Это необязательное поле может содержать любой текст и специальные переменные (заключенные в символы $$), которые будут добавлены во временный файл. Текстовые строки будут добавлены без изменений. Все переменные будут заменены соответствующими значениями.
Переменные поломки инструмента
PROGNAME - имя программы. DNC Precision ищет в теле программы первое вхождение "Префикса имени программы" и использует эти символы в качестве имени программы.
FIRST - DNC Precision ищет первое вхождение указанного текста. Пример: FIRST:G#0+X+Y+Z:ROWSABOVE. Переменная состоит из трех частей:
1.FIRST - имя переменной;
2.G#0+X+Y+Z - условие поиска. Здесь можно задать любой текст (кроме символа $) или сложное условие поиска. Сложное условие поиска означает, что целевая строка должна соответствовать всем или одному из правил, определенных в этом сложном условии поиска. Сложное условие поиска может содержать условия "И" (AND) или "ИЛИ" (OR). Пример условия "И" - "G01+X+Y+Z". Это сложное условие предписывает DNC Precision искать строку, содержащую строки G01, X, Y и Z. Пример условия "ИЛИ" - "M03|M04". Это сложное условие предписывает DNC Precision искать строку, содержащую M03 или M04. Вы можете использовать условия "И" и "ИЛИ" одновременно. Следующий пример иллюстрирует условие "G01+X+Y|Z". Условие "И" имеет более высокий приоритет, чем условие "ИЛИ". Поэтому DNC Precision будет искать строку, содержащую G01 и X, а также Y или Z. Текст поиска может содержать специальный символ #, например G#0. Этот символ предписывает DNC Precision искать любой текст, который может содержать один или несколько нулей ("0") в этой позиции. Таким образом, условию G#0 могут соответствовать G0, G00, G000 и т. д. Условию M#3 могут соответствовать M3, M03, M003 и т. д.
3.ROWSABOVE - необязательные, один или несколько параметров переменной. Эти параметры разделяются запятой.
RECENT - DNC Precision ищет самое последнее вхождение указанного текста, начиная от строки поломки инструмента (не включая саму строку поломки инструмента). Это означает, что DNC Precision ищет текст в обратном направлении: от строки поломки инструмента к началу файла. Пример: RECENT:X. Формат этой переменной такой же, как у переменной "FIRST".
OPERATORDATA1, OPERATORDATA2 - эта переменная будет заменена текстом, который оператор отправляет в управляющей программе.
Параметры переменных
Примечание: Эти параметры применимы только к переменным FIRST и RECENT.
ROWSABOVE - DNC Precision копирует все строки, находящиеся выше найденной строки, во временный файл;
ROW - DNC Precision копирует найденную строку во временный файл;
ROWS### - DNC Precision копирует ### строк (где ### - любое положительное число) после найденной строки во временный файл;
SEEK - DNC Precision использует эту строку как временную строку поломки инструмента для следующей переменной FIRST или RECENT;
CS - поиск чувствителен к регистру символов. Если этот параметр не задан, то поиск выполняется без учета регистра;
RE - строка поиска является регулярным выражением (для продвинутого использования).
Опции
Разрешить оператору добавлять стартовые строки - если эта опция включена, OPERATORDATA1 может быть заменена текстом, который оператор может указать в управляющей программе. В противном случае эта переменная будет заменена пустой строкой.
Разрешить оператору добавлять завершающие строки - если эта опция включена, OPERATORDATA2 может быть заменена текстом, который оператор может указать в управляющей программе. В противном случае эта переменная будет заменена пустой строкой.
Перенумеровать все строки - если эта опция включена, то DNC Precision перенумерует все строки перед отправкой временного файла. В противном случае вы можете определить номера строк в шаблонах заголовка и завершающей части (футера).
Пример из реальной практики
Управляющая программа:
%
O8888
(PRG=100)
(TOOLBREAK=N000299) <-- Строка поломки инструмента
%
Шаблон заголовка:
%
$PROGNAME$
(TOOL BREAK)
(----------------------------)
$FIRST:G#0+X+Y+Z:ROWSABOVE$
$FIRST:G#0+X+Y+Z:ROW$
$RECENT:M#3|M#4$
$RECENT:X$ $RECENT:Y$
G01$FIRST:G#0+Z$$RECENT:F$
$RECENT:Z$
$OPERATORDATA1$
Шаблон завершающей части (футера):
$OPERATORDATA2$
(----------------------------)
%
Исходная программа:
%
O0100
N000001 G90 G80 G00 G17 G40 G54
N000002 G43 H1 Z80. S3000 M03
N000003 G00 X94.11 Y0.0 Z60. M08
N000004 Z15.
N000005 G01 Z10.8 F840
N000006 X111.61 F2800
N000007 X174.11
N000008 Y-7.025
N000009 X196.941
N000010 G02 X226.615 Y-2.599 I25.5 J-69.276
N000011 G01 X238.56
N000012 Y2.599
N000013 X226.491
N000014 G02 X197.014 Y7.024 I-3.984 J73.849
N000015 G01 X174.11 Y7.023
N000016 Y0.0
N000017 X161.61
N000018 Y-19.525
N000019 X199.276
N000020 G02 X226.245 Y-15.099 I23.166 J-56.776
N000021 G01 X251.06
N000022 Y15.099
N000023 X226.139
N000024 G02 X199.343 Y19.524 I-3.631 J61.349
......
N000205 Z12.6
N000206 G01 Z8.4 F840
N000207 X111.61 F2800
N000208 X194.836
N000209 X174.11
N000210 Y-0.339
N000211 X215.562
N000212 X218.886 Y-0.105
N000213 X224.072 Y-0.133
N000214 X238.56
N000215 Y0.134
N000216 X224.401
N000217 X218.883 Y0.105
N000218 X215.562 Y0.339
N000219 X194.836
N000220 Y12.839
N000221 X161.61
N000222 Y-12.839
N000223 X216.002
N000224 X219.291 Y-12.607
N000225 X224.072 Y-12.633
N000226 X251.06
N000227 Y12.633
N000228 X224.335 Y12.634
N000229 X219.289 Y12.607
N000230 X216.002 Y12.839
N000231 X194.836
N000232 Y25.339
N000233 X149.11
N000234 Y-25.339
N000235 X216.442
N000236 X219.697 Y-25.11
N000237 X224.072 Y-25.133
N000238 X263.56
N000239 Y25.133
N000240 X224.27 Y25.134
N000241 X219.696 Y25.11
N000242 X216.442 Y25.339
N000243 X194.836
N000244 Y37.839
N000245 X136.61
N000246 Y-37.839
N000247 X216.881
N000248 X220.103 Y-37.612
N000249 X224.072 Y-37.633
N000250 X275.349
N000251 X276.06 Y-36.943
N000252 Y36.824
N000253 G02 X275.261 Y37.633 I29.106 J29.569
N000254 G01 X224.204 Y37.634
N000255 X220.103 Y37.612
N000256 X216.881 Y37.839
N000257 X194.836
N000258 Y50.339
N000259 X125.412
N000260 X124.11 Y49.841
N000261 Y-49.848
N000262 X125.399 Y-50.339
N000263 X217.321
N000264 X220.51 Y-50.114
N000265 X224.072 Y-50.133
N000266 X281.298
N000267 X281.83 Y-49.329
N000268 X284.328 Y-46.338
N000269 X286.495 Y-44.235
N000270 X288.56 Y-42.606
N000271 Y42.63
N000272 G02 X281.165 Y50.133 I16.606 J23.764
N000273 G01 X224.138
N000274 X220.51 Y50.114
N000275 X217.321 Y50.339
N000276 X194.836
N000277 X199.836 Y57.839
N000278 G03 X194.836 Y62.839 I-5. J0.0
N000279 G01 X123.082
N000280 X119.926 Y61.62
N000281 X117.146 Y60.612
N000282 X116.77 Y60.532
N000283 X112.002 Y60.27
N000284 X111.951 Y59.889
N000285 X111.673 Y56.807
N000286 X111.61 Y53.651
N000287 Y-53.651
N000288 X111.672 Y-56.807
N000289 X111.95 Y-59.888
N000290 X112.001 Y-60.261
N000291 X116.77 Y-60.566
N000292 X117.215 Y-60.667
N000293 X119.926 Y-61.627
N000294 X123.082 Y-62.839
N000295 X217.76
N000296 X220.916 Y-62.617
N000297 X224.072 Y-62.633
N000298 X288.016
N000299 X291.871 Y-56.807
N000300 X293.503 Y-54.852
N000301 X294.741 Y-53.651
N000302 X296.036 Y-52.629
N000303 X296.659 Y-52.25
N000304 X301.06 Y-50.783
N000305 Y50.792
..............
M30
%
Итоговая программа (результат):
%
O0100 <--- Переменная PROGNAME
N00010 (TOOL BREAK) <--- скопировано командой $FIRST:G#0+X+Y+Z:ROWSABOVE$
N00020 (----------------------------) <--- $FIRST:G#0+X+Y+Z:ROWSABOVE$
N00030 G90 G80 G00 G17 G40 G54 <--- $FIRST:G#0+X+Y+Z:ROWSABOVE$
N00040 G43 H1 Z80. S3000 M03 <--- $FIRST:G#0+X+Y+Z:ROWSABOVE$
N00050 G00 X94.11 Y0.0 Z60. M08 <--- $FIRST:G#0+X+Y+Z:ROW$
N00060 M03 <--- $RECENT:M#3|M#4$
N00070 X288.016 Y-62.633 <--- $RECENT:X$ $RECENT:Y$
N00080 G01Z60.F2800 <--- G01$FIRST:G#0+Z$$RECENT:F$
N00090 Z8.4 <--- $RECENT:Z$
N000299 X291.871 Y-56.807
N000300 X293.503 Y-54.852
N000301 X294.741 Y-53.651
N000302 X296.036 Y-52.629
N000303 X296.659 Y-52.25
N000304 X301.06 Y-50.783
N000305 Y50.792
..............
M30
%
Переменные
Даты
$DATE$ - Дата в формате, установленном на компьютере. Пример: 29/04/04
$TIME$ - Время в формате, установленном на компьютере. Пример: 13:12:02
$DATETIME$ - Дата и время в формате, установленном на компьютере. Пример: 29/04/04 13:12:02
$DATESTRIP$ - Дата в формате, установленном на компьютере, но только цифры. Пример: 290404
$TIMESTRIP$ - Время в формате, установленном на компьютере, но только цифры. Пример: 131202
$DATETIMESTRIP$ - Дата и время в формате, установленном на компьютере, но только цифры. Пример: 290404 131202
$DATECLEAN$ - Дата в формате, установленном на компьютере, но только символы, которые можно использовать в имени файла. Пример: 29-04-04
$TIMECLEAN$ - Время в формате, установленном на компьютере, но только символы, которые можно использовать в имени файла. Пример: 13-12-02
$DATETIMECLEAN$ - Дата и время в формате, установленном на компьютере, но только символы, которые можно использовать в имени файла. Пример: 29-04-04 13-12-02
$DATEA$ - аббревиатура текущего дня недели
$DATEAA$ - полное название текущего дня недели
$DATEB$ - аббревиатура текущего месяца
$DATEBB$ - полное название текущего месяца
$DATED$ - номер текущего дня (01 - 31).
$DATEJ$ - порядковый номер текущего дня в году (001 - 366).
$DATEM$ - номер текущего месяца (01 - 12).
$DATEU$ - номер текущей недели в году, где воскресенье - первый день недели (00 - 53).
$DATEW$ - номер текущего дня недели (0 - 6; воскресенье = 0).
$DATEWW$ - номер текущей недели в году по стандарту ISO, где понедельник - первый день недели (00 - 53).
$DATEY$ - текущий год, две последние цифры в виде числа (00 - 99).
$DATEYY$ - текущий год полностью.
$TIMEH$ - Текущий час в 24-часовом формате (ISO) (00 - 23).
$TIMEI$ - Текущий час в 12-часовом формате (01 - 12).
$TIMEM$ - Текущая минута (00 - 59).
$TIMEP$ - индикатор am/pm (до/после полудня) для 12-часового формата.
$TIMES$ - текущая секунда (00 - 59).
Имя программы
$RECVONO$ - номер принятой программы с префиксом. Пример: O12
$RECVONO4$ - 4-значный номер принятой программы с префиксом. Пример: O0012
$RECVONO6$ - 6-значный номер принятой программы с префиксом. Пример: O000012
$RECVONO8$ - 8-значный номер принятой программы с префиксом. Пример: O00000012
Путь
$ORGPATH$ - имя последнего отправленного или принятого файла и путь к нему. Пример: C:\MILL\Mould.nc
$ORGNAME$ - имя последнего отправленного или принятого файла. Пример: Mould.nc
$ORGNAMENOEXT$ - имя последнего отправленного или принятого файла без расширения. Пример: Mould
$ORGEXT$ - расширение последнего отправленного или принятого файла. Пример: nc
$ORGDIR$ - путь к последнему отправленному или принятому файлу. Пример: C:\MILL
Станок
$PORTNAME$ - имя последовательного порта. Пример: COM1
$MACHINENAME$ - имя станка в конфигурации. Пример: Стандартный станок с ЧПУ (Generic CNC Machine)
$MACHINEDESC$ - описание станка в конфигурации. Пример: Левый верхний угол цеха 1
$OPERATOR$ - логин оператора станка, полученный от станка с помощью команды "Имя оператора" (Operator name).
Переменные отчета
$RECVPRGNAME$ - имя (номер) последней принятой программы. Пример: 5643
$RECVFILESIZE$ - размер в байтах последнего принятого файла программы. Пример: 604
$RECVFILENAME$ - полное имя последнего принятого файла программы на диске. Пример: TEST.NC
$RECVDIRNAME$ - имя папки, в которой был сохранен последний принятый файл программы. Пример: C:\MILL\
$RECVPATH$ - полное имя последнего принятого файла программы и путь к нему. Пример: C:\MILL\TEST.NC
$RECVERRTEXT$ - краткое описание на английском языке ошибки, возникшей при приеме последнего файла. Пример: File not found.
$RECVBYTES$ - количество принятых байтов
$RECVLINES$ - количество принятых строк
$RECVERRORS$ - количество ошибок, возникших в процессе приема
$RECVLPS$ - скорость приема данных (строк в секунду)
$RECVCPS$ - скорость приема данных (символов в секунду)
Настройки
{Доступно только в полной версии Enterprise}
Функция монитора станка в DNC Precision использует функции Fanuc Macro-B для пассивного мониторинга событий "Начало цикла", "Остановка цикла", "Смена инструмента" и других событий, которые может генерировать ваш станок. Ниже описано, как это настроить.
Если в вашей системе управления Fanuc есть функция "Пользовательский макрос B" (User Macro B), вы можете использовать инструкции POPEN, DPRNT и PCLOS. Однако не все системы Fanuc имеют эту опцию, поэтому мы используем и другой метод. На любой системе управления Fanuc, если вы перейдете в режим редактирования (EDIT), введете: POPEN и нажмете INSERT, системы ЧПУ, у которых есть эта опция, отобразят слово точно так, как оно показано. Если же между буквами будут вставлены пробелы, вот так:
P O P E N
значит, система ЧПУ не распознает ключевое слово POPEN, и эта опция у вас отсутствует.
Вставьте команду вызова макроса (Macro Call Command) в начале программы ЧПУ, сразу после "O<номер>", и еще одну команду вызова макроса в конце, непосредственно перед "M30". Эти базовые макросы используют инструкцию DPRNT для передачи короткой строки символов из последовательного порта ЧПУ. В начале всех программ ЧПУ вставьте следующий вызов макроса:
O9010 (CYCLE START MACRO)
POPEN
DPRNT[(***CYCLESTART***)]
PCLOS
M99
O9010 (CYCLE STOP MACRO)
POPEN
DPRNT[(***CYCLESTOP***)]
PCLOS
M99
Если вы используете для этих макросов определенные номера O, вы также можете назначить пользовательский G-код или M-код для их автоматического вызова. В некоторых случаях вам вообще не придется изменять свои программы. Например, если все ваши программы имеют определенный G-код в начале (скажем, "G20" для программирования в дюймах), вы можете просто прописать число "20" в параметре, чтобы "G20" всегда вызывал макрос 9010. Аналогично, вы можете настроить систему управления на вызов макроса "CYCLESTOP" по команде M30. Расположение этих настроек в параметрах различается для каждой модели системы управления Fanuc, поэтому вам придется найти их в руководстве пользователя.
На стороне DNC просто держите порт открытым и ожидайте слово "CYCLESTART" или "CYCLESTOP" (за которым следует перевод строки), а затем записывайте это событие в файл с переменными даты и времени из внутренних часов ПК. Впоследствии вы сможете проанализировать все эти события и вычислить количество циклов, среднее время цикла, среднее время загрузки и т. д. Мы даже связываем это с нашей программой автоматического пейджинга и рассылки по электронной почте, чтобы ответственный сотрудник мог получить сообщение на пейджер или по электронной почте, если станок простаивает более (x) минут.
Для станков, в которых НЕТ опции "Пользовательский макрос B", вы можете попробовать другой метод мониторинга запуска/остановки цикла:
Вы можете использовать небольшое реле и подключить его к сигналу, питающему лампочку или светодиод "В цикле" (in cycle) на панели оператора. Это реле затем будет включать одну из неиспользуемых линий контроля передачи данных в кабеле RS232 (скажем, контакт № 8, или CD). Наша программа DNC просто отслеживает этот сигнал и определяет, что система ЧПУ находится в цикле, если сигнал есть, и вне цикла, если он отсутствует. В этом случае вы не сможете использовать триггеры активности и сможете использовать только мониторинг запуска/остановки цикла. Эту функцию можно включить на вкладке "Дополнительные опции".

Рис. 15. Триггеры активности ЧПУ.
Основные и дополнительные настройки очень похожи на настройки режима сервера. Здесь вы можете определить правила, которые наша программа будет использовать для извлечения информации о вашей активности. Обратите внимание: если вы используете режим сервера, вам следует использовать другой формат активностей, поскольку имена ваших триггеров активности могут конфликтовать с командами ЧПУ в режиме сервера.
Значения по умолчанию:
Начало активности: (***
Конец активности: ***)
Таким образом, ваша активность будет иметь вид (***A=1234***) или будет представлять собой программу с активностью внутри:
O9010 (CYCLE STOP MACRO)
POPEN
DPRNT[(***A=1234***)]
PCLOS
M99
Это только пример, и вы можете определить свои собственные правила и триггеры активности. Вы можете использовать множество встроенных имен триггеров и их интерпретаций или определить новые. Например, вы можете определить триггер с именем "A" и интерпретацией "Перекур" (Smoking), и программа экспортирует этот текст в файл журнала.
Итак, вы определили триггеры активности. Если вы не определили имя триггера, то триггер с этим именем не будет экспортироваться.
Список триггеров активности не ограничивается командами запуска/остановки цикла. Вы можете определить несколько макросов или вызвать DPRINT в вашей основной программе. Ниже приведены некоторые примеры:
При выполнении команды запуска шпинделя (M03 или M04) вызывается этот макрос:
O9xxxx
POPEN
DPRNT[TOOLCHANGE=#4120[40]]
PCLOS
M99
Программа DNC запишет эту активность и номер инструмента в файл журнала.
При выполнении команды остановки шпинделя (M05) вызывается этот макрос:
O9xxxx
POPEN
DPRNT[TEXTMSG=Punch beginning]
PCLOS
M99
Программа DNC запишет ваше пользовательское сообщение в файл журнала.
Дополнительные опции
{Доступно только в полной версии Enterprise}
Эта страница будет активна, если на предыдущей странице вы установили флажок "Протоколировать действия машины".

Рис. 16. Дополнительные опции.
Экспорт события "Начало/Завершение отправки данных" - программа будет записывать текстовое сообщение в файл журнала при начале и остановке отправки программы на станок в режиме сервера. Это поможет вам отслеживать действия оператора.
Экспорт события "Начало/Завершение приема данных" - программа будет записывать текстовое сообщение в файл журнала при начале и остановке приема программы со станка в режиме сервера. Это поможет вам отслеживать действия оператора.
Экспорт событий обработки команд - будут протоколироваться все события обработки команд от ЧПУ в режиме сервера. Например, запрос файла, переименование, выгрузка файла и т.п..
Контролировать сигнал контакта №8 (CD) - вы можете использовать небольшое реле, подключив его к сигналу, питающему лампочку или светодиод "В цикле" (in cycle) на панели оператора. Это реле затем будет включать одну из неиспользуемых линий в кабеле RS232 (скажем, контакт №8, или CD). Наша программа DNC просто отслеживает этот сигнал и определяет, что система ЧПУ находится в цикле, если сигнал есть, и вне цикла, если он отсутствует, а затем записывает соответствующую строку в файл журнала.
•Интервалы подавления дребезга - этот интервал поможет вам исключить незначительные события (ложные срабатывания), которые может генерировать реле. 0 - не использовать интервал подавления дребезга.
•Инвертировать сигнал CD - зависит от схемы подключения вашего реле.
•Игнорировать сигнал CD во время отправки данных - некоторые станки отключают сигнал "В цикле" при получении данных по интерфейсу RS232. В этом случае данная опция поможет вам исключить незначительные события.
Экспорт данных мониторинга
{Доступно только в полной версии Enterprise}
Эта страница будет активна, если на странице "Настройки" вы установите флажок "Протоколировать действия машины".
Наша программа может экспортировать данные мониторинга во множество форматов с помощью плагинов экспорта данных. Все цели экспорта перечислены в списке "Экспорт данных". Вы можете скачать плагин экспорта данных для ваших нужд с нашего сайта и установить его. Большинство плагинов бесплатны для зарегистрированных пользователей. Перед экспортом данных необходимо назначить значение для каждого столбца в целевом документе (Excel, таблице базы данных и т. д.). Это можно сделать с помощью таблицы "Колонки". Просто выберите описание данных из раскрывающегося списка.
После назначения столбцов вы можете активировать цель экспорта данных в списке и настроить ее, нажав кнопку "Настройка". Опции настройки плагина описаны в файле справки, который поставляется вместе с соответствующим модулем плагина, и вы можете открыть этот файл, нажав кнопку "Справка".

Рис. 17. Экспорт данных мониторинга.
Практический пример
В этом практическом примере описывается станок, оснащенный измерительным щупом для проверки деталей после их механической обработки.
Станок имеет 25-контактный порт RS232, который мы подключили к ноутбуку с помощью 9-контактного кабеля RS232, и смогли успешно получать данные.
Вам потребуется программа DNC Precision с включенной функцией монитора станка. Параметр порта ввода-вывода на странице НАСТРОЙКИ (SETTINGS), вызываемой кнопкой СМЕЩЕНИЯ (OFFSETS), необходимо установить на 0 (ноль), чтобы направить вывод на порт RS232.
Введите и запустите приведенную ниже демонстрационную программу. Обратите внимание, что команды POPEN и PCLOS находятся в самом конце программы.
%
O1919(DPRINT TEST)
#4=4444.
#5=5555.
#18=18.18
#1=111.1
#25=25.25
#28=28.28
#29=29.29
#137=137.137
#138=138.138
#139=139.139
#143=143.143
POPEN
DPRNT[(***COMPONENT=#121[60]***)]
DPRNT[(***FEATURE=#122[40]***)]
DPRNT[(***PCDFEATURE=#147[30]***)]
DPRNT[(***INCX=#4[44]***)]
DPRNT[(***ACTUALX=#28[44]***)]
DPRNT[(***INCY=#5[44]***)]
DPRNT[(***ACTUALY=#29[44]***)]
DPRNT[(***PCD=#18[44]***)]
DPRNT[(***ACTUALPCD=#137[44]***)]
DPRNT[(***DEVPCD=#142[34]***)]
DPRNT[(***ANG=#1[44]***)]
DPRNT[(***ACTUALANG=#139[44]***)]
DPRNT[(***DEVANG=#144[34]***)]
DPRNT[(***SIZEY=#25[44]***)]
DPRNT[(***ACTUALSIZE=#138[44]***)]
DPRNT[(***TOL=#11[24]***)]
DPRNT[(***DEVSIZE=#143[34]***)]
PCLOS
M30
%
Сканер штрих-кодов
{Доступно только в полной версии Enterprise}
Сканер штрих-кодов может упростить процесс запроса программы ЧПУ (NC) с DNC-сервера. В этом случае оператору станка не нужно отправлять запрос с самого станка с ЧПУ. Он может просто отсканировать штрих-код с именем программы, и DNC Precision добавит эту программу в очередь на отправку.
Сканер заменяет команду ЧПУ "Отправить файл" в режиме сервера.
Требования: сканер штрих-кодов должен иметь COM-порт, либо USB-сканер должен эмулировать COM-порт в Windows. Большинство USB-сканеров позволяют выбрать режим работы в своих настройках.
Вы можете добавить новый сканер штрих-кодов, используя пункт меню "Файл - Добавить сканер штрих-кодов". Настройки COM-порта аналогичны настройкам подключенных станков.

Рис. 18. Настройки сканера штрих-кодов.
Целевая машина - если вы выберете здесь опцию "Все машины", один сканер штрих-кодов сможет обрабатывать запросы для двух или более близко расположенных станков. В этом случае оператор должен отсканировать два штрих-кода - с идентификатором целевого станка (первый) и именем программы ЧПУ (второй).
Если вы выберете в списке конкретное имя станка, оператору нужно будет сканировать только штрих-код с именем программы ЧПУ.
Штрих-код должен содержать имя файла без расширения. DNCP ищет файл программы ЧПУ, используя настройки для режима сервера или ручного режима, в зависимости от текущего режима работы целевого станка.
Разделять значения по - этот режим позволяет DNCP правильно разделять два последовательно отсканированных штрих-кода:
•Таймаут - DNCP ожидает указанное количество секунд после последнего полученного байта перед вторым штрих-кодом.
•Специальный символ - каждый штрих-код заканчивается специальным символом. Как правило, это символ ASCII <LF> или <CR>. Обычно вы можете включить этот символ в настройках сканера. Символ завершения позволяет быстро отсканировать два кода без задержки.
Декодировать значения штрих-кода с помощью текстового файла
Если имя станка или программы слишком длинное для штрих-кода, вы можете назначить этим именам уникальные идентификаторы и закодировать их в штрих-код. После этого вы можете указать текстовый файл, в котором определяется соответствие между идентификатором и именем программы, например:
CODE1=Длинное имя программы 1
CODE2=Длинное имя программы 2
...
или
MACHINE1=Вертикально-фрезерный станок в цехе 1
MACHINE2=Вертикально-фрезерный станок в цехе 2
...
Если DNCP не может найти идентификатор в файле, DNC Precision обрабатывает этот идентификатор как имя станка или имя программы. Таким образом, вы можете комбинировать идентификаторы и реальные имена в штрих-кодах.
Например, если вы не хотите использовать сканер штрих-кодов, закрепленный только за одним конкретным станком, процесс будет следующим:
1.Отсканируйте штрих-код с идентификатором станка.
2.Подождите 2 секунды.
3.Отсканируйте штрих-код с именем программы.
4.Переключите станок с ЧПУ в режим "ЧТЕНИЕ" (READ) и получите запрошенную программу ЧПУ.
Удаленное управление
{Вам потребуется полная версия Enterprise для компьютера-сервера}
{Вам потребуется лицензия Professional для любого клиентского компьютера}
Используя функцию удаленного управления, вы можете установить и использовать DNC Precision в режиме сервера на сервере без монитора с ограниченным доступом. Операторы или пользователи могут установить клиентское приложение DNC Precision на другие компьютеры или рабочие станции, подключиться к серверу и выполнять разрешенные операции:
•Отправлять или принимать файлы.
•Запускать или приостанавливать операции со станком.
•Изменять настройки.
Удаленное клиентское приложение имеет такой же интерфейс, как и основная программа, но администратор сервера может ограничить некоторые функции для оператора в настройках сервера (Опции - Настройка - Удаленное управление, рис. 19).
Вы можете добавить неограниченное количество учетных записей клиентов с различными правами доступа.
Логин - имя пользователя (логин) оператора.
Пароль - пароль оператора.
Редактировать/Добавить/Удалить - удаленный оператор может редактировать, добавлять или удалять станки в списке.
Старт/Стоп - оператор может запускать или останавливать режим сервера для всех станков.
Отправить/Принять - оператор может отправлять или принимать программы ЧПУ для всех станков.

Рис. 19. Настройки удаленного управления.
Чтобы запустить программу в клиентском режиме, необходимо установить DNC Precision с помощью обычного установочного пакета и вручную отредактировать ярлык на рабочем столе. Вам следует добавить параметр командной строки "/client" к имени исполняемого файла.
При запуске клиент запрашивает IP-адрес удаленного сервера, логин и пароль, а после первого успешного подключения - сохраняет их. В следующий раз вам достаточно будет ввести только пароль.
Служба Windows 2000+
Службы Windows 2000+ позволяют вам:
•Автоматически запускать службу до входа пользователя в систему.
•Автоматически запускать службу вместе с Windows.
•Настраивать действия для экстренного восстановления службы в случае сбоя, например, автоматический перезапуск службы или компьютера (только на компьютерах с Windows 2000 или более поздними версиями).
Примечание: Для изменения конфигурации или любого управления службой (запуск, остановка, пауза, продолжение) вы должны войти в систему с правами администратора.
Чтобы включить режим службы, перейдите в окно программы "Главное меню - Опции - Настройка... - Служба Windows" (рис. 20) и включите опцию "Использовать программу как службу".

Рис. 20. Настройки службы.
После этого вы можете выбрать режим запуска службы:
1.Автоматически - служба будет запускаться автоматически вместе с Windows, до входа пользователя в систему.
2.Вручную - вам необходимо запускать службу вручную через панель управления "Службы".
3.Отключена - служба временно отключена.
Отображать окно программы при запуске службы - если эта опция включена, служба помещает свой значок в область уведомлений (рис. 21). Эта функция доступна не во всех версиях Windows, выпущенных после Windows Vista.
![]()
Рис. 21. Значок службы в области уведомлений.
Если вы используете базы данных или другие служебные приложения, которые должны запускаться до DNC Precision, вы можете выбрать их в списке "Запускать службу после выбранных служб" (рис. 20). После настройки режима службы перезагрузите компьютер или запустите службу вручную в панели управления "Службы" (рис. 22).

Рис. 22. Панель управления службами.
Когда служба работает в фоновом режиме, в Диспетчере задач появляются два процесса: dncprecisesrv.exe и dncprecise.exe (рис. 23). В отличие от утилиты "srvany.exe", наша служба надежно сохраняет все настройки при остановке службы и перезагрузке компьютера.

Рис. 23. Список процессов.
Для настройки режима службы вам следует запустить программу с повышенными правами администратора (щелкните правой кнопкой мыши по значку программы и выберите "Запуск от имени администратора"). Вы также можете использовать следующие параметры командной строки с файлом "dncprecisesrv.exe" для управления состоянием службы:
•/? - краткая справка.
•/I - установить службу с режимом запуска вручную.
•/A - установить службу с режимом автоматического запуска.
•/D - установить службу в состоянии "отключена".
•/R - удалить службу с вашего компьютера.
Отправка файлов из других приложений
Наша программа имеет встроенный DDE-сервер. Вы можете использовать этот сервер для передачи файлов из других приложений.
Следующая запись в реестре Windows поможет вам определить местоположение DNC Precision:
SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\DNC Precision_is1,
Значение: Inno Setup: App Path
Следующая запись в реестре Windows поможет вам определить настроенные станки:
SOFTWARE\AGG Software\DNC Precision\Machines
Вы можете найти запущенный экземпляр DNC Precision по имени класса
"TfrmDNCPrecise" (без кавычек).
Следующий код позволяет определить, что приложение запущено, все настройки загружены, а программа инициализирована.
DNCP_IsStarted_Message = WM_USER+0x313;
SendMessageTimeout(windowHandle, DNCP_IsStarted_Message, 0, 0, SMTO_NORMAL, 300, msg_res);
Результат: msg_res > 0 - если все в порядке.
Интерфейс DDE
Параметры DDE-сервера:
Служба (Service): dncprecise
Раздел (Topic): DNCPDDEServer
Отправьте (Poke) строковое значение "%d||SEND||%d||%s" (без кавычек) в элемент DDE "Commands", где
1.%d - идентификационный номер DDE-клиента
2.SEND - имя команды
3.%d - индекс станка (начиная с нуля)
4.%s - имя файла с полным путем к файлу программы ЧПУ
Если вы хотите проверять статус передачи, вам следует периодически отправлять следующее сообщение Windows:
DNCP_GetState_Message = WM_USER+0x314;
if ( !SendMessageTimeout(windowHandle, DNCP_GetState_Message, 0, 0, SMTO_NORMAL, 300, msg_res) )
{
msg_res = 0x80000000;
}
Flag1 = msg_res & 0x80000000;
Flag2 = msg_res & 0x40000000;
tranferred_bytes = msg_res & $3FFFFFFF; // количество переданных байтов
Если Flag1 не установлен, значит передача завершена/прервана.
Если Flag2 изменяется, значит DNCP передает файл.
Если передача завершена/прервана, то вы можете запросить строку статуса из элемента "Status". Этот элемент DDE возвращает указатель на строку статуса:
%d||%s, где
%d - код статуса
%s - сообщение статуса
Данные не получены на стороне ЧПУ
Проблема: При попытке отправки данных от DNC к ЧПУ данные не принимаются.
Проверьте журнал порта
Если данные не отправляются из-за того, что файл пуст или не существует, файл журнала станка может дать подсказку о том, что пошло не так. Для использования этой функции необходимо включить запись сообщений журнала в настройках станка. Затем выберите станок из списка в главном окне, и теперь вы сможете просматривать журнал в нижней части окна.
Проверьте поле со списком журнала, чтобы убедиться, что сервер действительно отправляет какие-либо данные. Если данные не отправляются, проверьте статус порта. В некоторых случаях сервер может ожидать сигнала начала передачи от ЧПУ. В этом случае статус порта покажет это.
Убедитесь, что вы используете правильный последовательный порт
Откройте диалоговое окно конфигурации и убедитесь, что выбран правильный последовательный порт.
Проблема с контролем передачи данных
Убедитесь, что вы используете правильный метод контроля передачи данных. Если аппаратный контроль не включен, попробуйте выбрать Высокий уровень RTS и/или Высокий уровень DTR в диалоговом окне настройки последовательного порта. Некоторые станки используют нестандартные символы программного контроля передачи данных. В таком случае измените Символ XOn / Символ XOff в настройках последовательного порта. Для получения дополнительной информации обратитесь к разделу "Последовательный порт".
ЧПУ требуется символ начала передачи
Некоторым станкам требуется определенный символ перед началом сохранения файла. Сверьтесь с руководством к станку. Многим станкам требуется символ % в начале программы, некоторым нужны нули (пустая перфолента), а другим - код конца блока (CR/LF). Если это так, вам следует указать это в поле Начало программы в диалоговом окне конфигурации. Для получения дополнительной информации обратитесь к разделу "Формат программы".
Проблема с запуском цикла
Многим станкам требуется, чтобы программа отправлялась на них сразу после нажатия кнопки пуска цикла (Cycle start). Выберите программу для передачи на DNC перед нажатием пуска цикла. Для этого ПК должен начать отправку, когда он обнаружит высокий уровень на линии аппаратного контроля передачи данных или когда получит сигнал XOn (для программного контроля передачи данных). Если используется программный контроль, попробуйте включить опцию Ожидать символ XOn перед отправкой данных в настройках передачи порта. Для получения дополнительной информации обратитесь к разделу "Формат программы".
Проверьте кабель
Убедитесь, что ваш кабель распаян правильно. Для получения информации о распайке стандартного последовательного кабеля обратитесь к разделу Обзор кабелей для последовательных портов. Некоторым станкам требуется специальный нестандартный последовательный кабель. Для получения дополнительной информации обратитесь к справочному руководству вашего ЧПУ.
Попробуйте другой последовательный порт
Попробуйте использовать другой последовательный порт на случай, если текущий порт неисправен.
Данные не получены на стороне DNC-сервера
Проблема: При попытке отправки данных от ЧПУ к DNC данные не принимаются.
Проверьте журнал порта
Если допустимое имя программы не найдено, журнал порта может дать подсказку о том, что пошло не так. Для использования этой функции необходимо включить запись сообщений журнала в настройках станка. Затем выберите станок из списка в главном окне, и теперь вы сможете просматривать журнал в нижней части главного окна.
Убедитесь, что вы используете правильный последовательный порт
Проверьте поле со списком журнала, чтобы убедиться, что сервер действительно получает какие-либо данные. Если нет, откройте диалоговое окно конфигурации и убедитесь, что выбран правильный последовательный порт.
Проблема с контролем передачи данных
Убедитесь, что вы используете правильный метод контроля. Если аппаратный контроль не включен, попробуйте выбрать Высокий уровень RTS и/или Высокий уровень DTR на вкладке настроек последовательного порта. Некоторые станки используют нестандартные символы программного контроля передачи данных. В таком случае измените Символ XOn / Символ XOff в диалоговом окне настройки последовательного порта. Для получения дополнительной информации обратитесь к разделу "Последовательный порт".
Получены искаженные данные
Проблема: при попытке передачи данных между DNC и ЧПУ полученные данные отображаются некорректно (искажены).
Скорее всего, это вызвано неверными настройками скорости передачи или битов данных.
Убедитесь, что вы используете правильную скорость передачи
Для получения дополнительной информации обратитесь к руководству по эксплуатации вашего ЧПУ.
Убедитесь, что вы используете правильное количество битов данных
Для получения дополнительной информации обратитесь к руководству по эксплуатации вашего ЧПУ.
Убедитесь, что вы используете правильное количество стоповых битов
Для получения дополнительной информации обратитесь к руководству по эксплуатации вашего ЧПУ.
Станок использует коды EIA
Настройте станок на использование ASCII/ISO или выберите EIA в конфигурации порта. Для получения дополнительной информации обратитесь к руководству по эксплуатации вашего ЧПУ.
Данные получены одной длинной строкой
Проблема: При попытке передачи данных между DNC и ЧПУ данные принимаются в виде одной длинной строки.
Скорее всего, это вызвано неверным значением в настройке "Конец строки программы".
Отправка данных с ЧПУ
Сначала включите двоичные файлы журнала. Для получения дополнительной информации обратитесь к разделу "Ведение журнала". Попробуйте отправить данные с ЧПУ на DNC-сервер, затем просмотрите файл (откройте этот файл в двоичном режиме с помощью любого HEX-редактора) и посмотрите, какие символы ЧПУ отправляет в качестве перевода строки. Определив правильный символ(ы) перевода строки, измените конфигурацию порта соответствующим образом. Для получения дополнительной информации обратитесь к разделу "Формат программы".
Вы можете попробовать получить небольшую программу (2-3 строки) с аппарата. Это поможет найти правильные настройки.
1.Щелкните правой кнопкой мыши по аппарату и выберите «Показать переданные данные».
2.Попробуйте получить небольшую программу с аппарата в ручном режиме. Начните прием в программе и запустите процедуру отправки на стороне аппарата.
3.Вы увидите входящие данные в окне "Переданные данные", включая все системные заголовки и нижние колонтитулы, а также непечатные символы.
Станок использует коды EIA
Настройте станок на использование ASCII/ISO. Для получения дополнительной информации обратитесь к руководству по эксплуатации вашего ЧПУ.