Подключение SIEMENS SINUMERIK
Подключение
Есть два варинта подключения станков Siemens Sinumeric к системе DPA, каждый вариант реализован в виде отдельного драйвера:
- Siemens (Step 7) - чтение данных по TCP/IP протоколу S7.
- Siemens (DDE) - чтение данных через механизм взаимодействия приложений в операционных системах Microsoft Windows, для этого драйвера необходимо предварительно установить Шаблон:Агент DPA
Siemens Advanced
aaa
S7
ббб
Настройка снапшотов
Механизм расширенной настройки драйвера описан в статье Добавление снапшотов, состояний и событий, в текущем разделе рассказывается только о настройке снапшотов для 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]