Подключение SIEMENS SINUMERIK: различия между версиями
Строка 55: | Строка 55: | ||
===Учет времени выпуска=== | ===Учет времени выпуска=== | ||
− | Для учета времени работы УП или подпрограммы или какой-либо части программы можно использовать | + | Для учета времени работы УП или подпрограммы или какой-либо части программы можно использовать программные таймеры. Для этого в тело программы необходимо добавить следующий код: |
$AC_TIMER[n]=0 | $AC_TIMER[n]=0 | ||
− | где | + | где параметр n - любой номер свободного таймера. |
− | Сразу после выполнения данной строчки | + | Сразу после выполнения данной строчки кода инициализируется новый таймер, который будет хранить время в секундах (дробное число) с момента инициализации таймера. |
Этот таймер можно использовать в любых расчетах или логических выражениях внутри тела программы. | Этот таймер можно использовать в любых расчетах или логических выражениях внутри тела программы. | ||
Так же можно записать текущее значение таймера, например, в R-регистр: | Так же можно записать текущее значение таймера, например, в R-регистр: | ||
Строка 68: | Строка 68: | ||
при исполнении данной строчки в R-регистр с номером 123 запишется время прошедшее с начала инициализации таймера до момента исполнения данной строчки кода. | при исполнении данной строчки в R-регистр с номером 123 запишется время прошедшее с начала инициализации таймера до момента исполнения данной строчки кода. | ||
− | Когда таймер больше не нужен его можно деактивировать вызвав следующую строчку кода: | + | Когда таймер больше не нужен его можно деактивировать, вызвав следующую строчку кода: |
$AC_TIMER[n]=-1 | $AC_TIMER[n]=-1 | ||
Строка 76: | Строка 76: | ||
$AC_TIMER[n]=0 | $AC_TIMER[n]=0 | ||
− | Чтение текущего значения таймера можно | + | Чтение текущего значения таймера можно реализовать через чтение соответствующей переменной в снапшоте драйвера: |
/Channel/State/acTimer[12] | /Channel/State/acTimer[12] | ||
− | или через чтение R- | + | или через чтение R-регистра, в который предварительно было записано значение таймера: |
/Channel/Parameter/R[123] | /Channel/Parameter/R[123] |
Версия 21:29, 1 июня 2020
- 840D sl
- 840D pl
- 828D sl
- 810D
- 808D
- 802D sl pro/plus/base
- 802D
Содержание
Настройка снапшотов
Механизм расширенной настройки драйвера описан в статье Добавление снапшотов, состояний и событий, в текущем разделе рассказывается только о настройке снапшотов для 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]