Подключение SIEMENS SINUMERIK

Материал из DPA
Перейти к навигации Перейти к поиску

Подключение станков с ЧПУ

840D sl
840D pl
828D sl
810D
808D
802D sl pro/plus/base
802D

Подключение

Есть два варианта подключения станков Siemens Sinumerik к системе DPA, каждый вариант реализован в виде отдельного драйвера:

  • Siemens (Step 7) - чтение данных по TCP/IP протоколу S7.
  • Siemens (DDE) - чтение данных через механизм взаимодействия приложений в операционных системах Microsoft Windows, для этого драйвера необходимо предварительно установить Агент DPA

Если HMI работает под управлением ОС Windows (как правило это Windows XP) и в диспетчере задач среди запущенных процессов присутствует процесс ncdde.exe это однозначно говорит о том, что необходимо использовать драйвер Siemens (DDE), во всех остальных случаях подойдет драйвер Siemens (Step 7). На текущий момент встречался только один тип ЧПУ, который подключается через DDE - это 840D.

Siemens (Step 7)

Siemens (DDE)

Предварительно необходимо установить Агент DPA

При создании драйвера необходимо выбрать тип Siemens (DDE). Единственное поле, которое необходимо заполнить это IP-адрес (IP адрес на HMI можно сконфигурировать стандартными средствами ОС Windows). В поле порт можно оставить значение по умолчанию 5505 (агент использует этот порт, если не произовидилась какая-либо кастомизация при установке и настройке агента). Поля Service и Topic заполнять не нужно.

NewDriverSiemensDDE.png

Настройка снапшотов

Механизм расширенной настройки драйвера описан в статье Добавление снапшотов, состояний и событий, в текущем разделе рассказывается только о настройке снапшотов для SIEMENS SINUMERIK

Различия драйверов

На текущий момент есть два вариант подключения станков Siemens:

  • Через протокол S7.
  • Через агента (Siemens 840D advanced)

Основным различием при создании новых снапшотов является то, что у драйвера, который работает через агента есть дополнительные поля:

  • Тип данных (по умолчанию: Auto)
  • service (по умолчанию пусто)
  • topic (по умолчанию пусто)

NewSiemensDDESnapshot.png NewSiemensS7Snapshot.png

эти поля можно не заполнять оставив значения по умолчанию.

Список параметров

Каждый параметр снапшота имеет свое наименование и адрес по которому располагаются данные на станке. После заполнения этих полей, необходимо нажать кнопку Добавить. В одном снапшоте можно указать несколько параметров которые будут прочитаны за один запрос, после ввода данных о каждом параметре необходимо нажимать кнопку Добавить. По завершению формирования списка необходимо нажать кнопку Создать.

Поле, в которое вводится адрес параметра поддерживает автозаполнение – просто начните писать путь и система сама предложит вам дальнейшие варианты.

Внимание! Все пути для чтения параметров начинаются с символа /

Примеры параметров

Номер инструмента на первом канале /Channel/State/acMeasTNumber[u1,1]
Идентификатор инструмента на первом канале /Channel/State/actToolIdent[u1]
Чтение R регистра 502 /Channel/Parameter/R[u1, 502]
Чтение AC_TIMER таймера 12 /Channel/State/acTimer[12]

Учет времени выпуска

Для учета времени работы УП или подпрограммы или какой-либо части программы можно использовать программные таймеры. Для этого в тело программы необходимо добавить следующий код:

$AC_TIMER[n]=0

где параметр n - любой номер свободного таймера.

Сразу после выполнения данной строчки кода инициализируется новый таймер, который будет хранить время в секундах (дробное число) с момента инициализации таймера. Этот таймер можно использовать в любых расчетах или логических выражениях внутри тела программы. Так же можно записать текущее значение таймера, например, в R-регистр:

R123=$AC_TIMER[n]

при исполнении данной строчки в R-регистр с номером 123 запишется время прошедшее с начала инициализации таймера до момента исполнения данной строчки кода. Когда таймер больше не нужен его можно деактивировать, вызвав следующую строчку кода:

$AC_TIMER[n]=-1

или перезапустить:

$AC_TIMER[n]=0

Чтение текущего значения таймера можно реализовать через чтение соответствующей переменной в снапшоте драйвера:

/Channel/State/acTimer[12]

или через чтение R-регистра, в который предварительно было записано значение таймера:

/Channel/Parameter/R[123]