Подключение SIEMENS SINUMERIK
- 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)
Настройка сводится к тому, что в HMI необходимо выставить опцию S7 и установить корректный IP адрес. После этого можно подключать станок к системе DPA.
Встречаются станки, на которых HMI работает под управлением ОС Windows и в нем присутствует два сетевых интерфейса: один - внутренняя сеть станка, второй - сеть предприятия. При таком сценарии HMI общается с контроллером через внутреннюю сеть и протокол S7 не доступен из сети предприятия. Для того, чтобы подключить такой станок к системе DPA предварительно необходимо сделать проброс порта с сетевой карты станка которая подключена к сети предприятия на 102 порт контроллера, который подключен ко второй сетевой карте. Это можно сделать штатными средствами ОС Windows.
Siemens (DDE)
Предварительно необходимо установить Агент DPA
При создании драйвера необходимо выбрать тип Siemens (DDE). Единственное поле, которое необходимо заполнить это IP-адрес (IP адрес на HMI можно сконфигурировать стандартными средствами ОС Windows). В поле порт можно оставить значение по умолчанию 5505 (агент использует этот порт, если не произовидилась какая-либо кастомизация при установке и настройке агента). Поля Service и Topic заполнять не нужно.
Настройка снапшотов
Механизм расширенной настройки драйвера описан в статье Добавление снапшотов, состояний и событий, в текущем разделе рассказывается только о настройке снапшотов для SIEMENS SINUMERIK
Различия драйверов
На текущий момент есть два вариант подключения станков Siemens:
- Через протокол S7.
- Через агента (Siemens 840D advanced)
Основным различием при создании новых снапшотов является то, что у драйвера, который работает через агента есть дополнительные поля:
- Тип данных (по умолчанию: Auto)
- service (по умолчанию пусто)
- topic (по умолчанию пусто)
эти поля можно не заполнять оставив значения по умолчанию.
Список параметров
Каждый параметр снапшота имеет свое наименование и адрес по которому располагаются данные на станке. После заполнения этих полей, необходимо нажать кнопку Добавить. В одном снапшоте можно указать несколько параметров которые будут прочитаны за один запрос, после ввода данных о каждом параметре необходимо нажимать кнопку Добавить. По завершению формирования списка необходимо нажать кнопку Создать.
Поле, в которое вводится адрес параметра поддерживает автозаполнение – просто начните писать путь и система сама предложит вам дальнейшие варианты.
Внимание! Все пути для чтения параметров начинаются с символа /
Примеры параметров
Номер инструмента на первом канале | /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]