Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭМС.doc
Скачиваний:
35
Добавлен:
15.06.2014
Размер:
5.73 Mб
Скачать

Программа работы

  1. Написать программу для перемещения каретки линейного привода с заданными скоростями и ускорениями, с использованием G-кода.

  2. Перевести значения скоростей и ускорений из процентного отношения к максимальным, заданным в программной части, в единицы СИ.

  3. Подключить к свободным входам координатного контроллера SPC200устройства формирования единичного сигнала, а к дискретным выходам – сигнальную аппаратуру.

  4. Написать программу позиционирования каретки линейного привода, используя сигналы с дискретных входов координатного контроллера SPC200. Результатом написанной программы должно быть перемещение каретки линейного привода в заданную позицию, сопровождающееся появление сигнала на соответствующем дискретном выходе контроллера.

Методические указания

Откройте созданный в лабораторной работе №1 проект и создайте новую программу. Напишите программу для позиционирования каретки линейного привода, воспользовавшись командами из ПРИЛОЖЕНИЯ 2. Каждому студенту задается индивидуальные значения перемещений и скоростей каретки линейного привода. Рассчитайте скорость, а также ускорение и замедление, соответствующие процентному отношению к максимальной скорости и ускорению, заданным в закладке Application Parameters.

Выполните проверку кода программы Syntax Check и скомпилируйте проект. Загрузите проект в контроллер. Проверьте выполнение программы в пошаговом режиме Execute step и при выполнении цикла Start Continues Run. Для остановки выполнения программы нажмите Stop Axis.

Запишите 4 позиции каретки линейного привода в регистры позиций Po_1, Po_2, Po_3 и Po_4, воспользовавшись командами G-кода.

Используя сигналы с дискретных входов, напишите программу для позиционирования каретки линейного привода. При достижении кареткой определенной позиции должен поступать сигнал на один или несколько дискретных выходов. Причем при наличии сигнала, соответствующего перемещению в определенную позицию, каретка должна находиться в этой позиции до тех пор, пока сигнал не исчезнет. Значения сигналов на дискретных входах представлены в табл. 4.1:

Таблица 4.1

I0.1

I0.0

Позиция

0

0

Po_1

0

1

Po_2

1

0

Po_3

1

1

Po_4

Выполните проверку кода программы Syntax Check и скомпилируйте проект. Загрузите проект в контроллер. Проверьте выполнение программы в пошаговом режиме Execute step и при выполнение цикла Start Continues Run. Для остановки выполнения программы нажмите Stop Axis.

Контрольный вопросы

  1. Как задать скорость каретки привода при перемещении ее в определенную позицию?

  2. Чем определяется диапазон скоростей, характерный для шагового двигателя?

  3. Чем определяется диапазон, в пределах которого может перемещаться каретка линейного привода?

  4. В каких случаях необходимо использовать ускорение?

  5. Исходя из каких условий задается максимальное время, за которое каретка линейного привода разгоняется до нужной скорости?

  6. Исходя из каких условий задается минимальное время, за которое скорость каретки линейного привода уменьшается до нуля?

  7. Как в программе подать сигнал на определенный выход? Как сбросить значение сигнала с выхода?

  8. Как с помощью команд G-кода проверить значения сигналов на дискретных входах контроллера SPC200?

  9. В чем преимущества записи значений позиций в регистры позиций?

  10. С помощью каких устройств можно получить сигналы на дискретных входах контроллера?

  11. Какие устройства можно подключать к дискретным выходам контроллера?

ПРИЛОЖЕНИЕ 1

Технические характеристики двигателя

В данной системе управления используется шаговый двигатель MTR-ST57-48S-AA, имеющий номинальные данные, представленные в табл. П.1.

Таблица П.1

Параметры

Номинальные значения

Номинальное напряжение, В

48

Номинальный ток, А

3,1

Момент удержания, Н∙м

1,27

Шаг двигателя, о

1,85 %

Сопротивление обмоток, Ом

110 %

Индуктивность обмоток, мГн

3,820 %

Момент инерции вала, кг∙см2

0,48

Радиальная нагрузка вала, Н

71

Аксиальная нагрузка вала, Н

71

ПРИЛОЖЕНИЕ 2

Команды для программирования координатного контроллера

Таблица П.2

G00

Позиционирование с максимальной скоростью

Структура

Nn G00 (G90|G91) Xn|X@n

Параметр

Xn Позиция, мм;

X@nРегистр позиции.

Действие

Каретка линейного привода перемещается с максимальной скоростью и ускорением, заданными в Application Parametersс текущей позиции на позицию, определенную в команде (в абсолютной или относительной системе отсчета, см.G90/G91).

Пример

N000 G00 G91 X100Перемещение вправо на

100 мм относительно текущей позиции;

N001 G00 G90 X@2 Перемещение на позицию, оп-ределенную регистром 2 по осиX.

Окончание табл. П.2

Замечания

В начале работы системы автоматически устанавлива-ется абсолютная система отсчета (G90). Команды по-зиционированияG00запоминаются и остаются актив-ными, пока не будет написана другая команда пози-ционирования (G01илиG02).

Пример:

N000 G00 X100

N001 X200

N002 G01 X300

Таблица П.3

G01

Позиционирование с заданной скоростью

Структура

Nn G01 (G90|G91) Xn|X@n FXn [Y...,Z...]

Параметр

Xn Позиция, мм;

X@nРегистр позиции;

FXn Скорость позиционирования в %

от максимальной скорости.

Действие

Каретка линейного привода перемещается с заданной скоростью и ускорением, определенным командами G08иG09, с текущей позиции на позицию, определенную в команде (в абсолютной или относительной системе отсчета, см. командыG90/G91).

Пример

N000 G01 X100 FX10Перемещение вправо на

100 мм со скоростью 10 % от максимальной;

N001 G00 X@2 FX30 Перемещение на позицию, определенную регистром 2 по осиXсо скоростью 30 % от максимальной.

Замечания

В начале работы системы автоматически устанавливает-ся абсолютная система отсчета (G90), ускорение (G08) и отрицательное ускорение (G09), равные максимально-му ускорению.

Команды позиционирования G01запоминаются и остаются активными, пока не будет написана другая команда позиционирования (G00илиG02).

Пример:

N000 G01 X100 FX10

N001 X200

N002 G00 X300

При использовании команды позиционирования G01 скорость постепенно возрастает, пока не достигнет значения скорости, указанного в параметре FX. Непосредственно перед достижением позиции скорость позиционирования постепенно уменьшается. Величина ускорения определяется командами G08 и G09 в процентном отношении к максимальному ускорению, заданному в закладке Application Parameters. Если же команды G08 и G09 не используются, то величина ускорения будет равна ускорению, заданному в закладке Application Parameters.

Таблица П.4

G02

Позиционирование с заданной частотой

Структура

Nn G02 (G90|G91) Xn|X@n FXn [Y...,Z...]

Параметр

Xn Позиция, мм;

X@nРегистр позиции;

FXn Параметр должен быть задан,

но использоваться не будет.

Действие

Каретка линейного привода перемещается с заданной частотой Start-stop frequence, определенной в закладкеApplication Parameters, с текущей позиции на позицию, определенную в команде.

Пример

N000 G02 X90 FX10Перемещение на позицию

100 мм с заданной частотой;

N001 G00 X@2 FX30 Перемещение на позицию, определенную регистром 2 по осиX с заданной часто-той.

Замечания

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

Ускорение и замедление в случае задания их с помощью команд G08иG09также использоваться не будут.

В случае если система отсчета не определена, по умолчанию используется абсолютная система. Команда G02имеет продолжительное действие, и будет использоваться до тех пор, пока не будет задано позиционирование с помощью командG00иG01.

Таблица П.5

G04

Время ожидания

Структура

Nn G04 n

Параметр

n Время ожидания, 10 мс.

Действие

Выполнение следующей команды начинается после того, как время ожидания истечет.

Пример

N010 G00 X100Перемещение вправо на 100 мм;

N011 G04 250Ожидание 2,5 секунды;

N012 G00 X200 Перемещение на позицию 200 мм.

Таблица П.6

G08

Ускорение

Структура

Nn G08 Xn [Y...,Z...]

Параметр

Xn Величина ускорения в % от

максимального ускорения.

Действие

В случаях, когда позиционирование осуществляется с помощью команды G01, будет использоваться величина ускорения, заданная данной командой.

Пример

N020 G08 X50 Ускорение 50% от максима-льного;

N021 G01 X80 FX50 Перемещение на позицию

80 мм;

N022 G08 X0Ускорение максимальное.

Замечания

Команда G08запоминается и остается активной, пока не будет задано другое значение ускорения.

Таблица П.7

G09

Отрицательное ускорение

Структура

Nn G09 Xn [Y...,Z...]

Параметр

Xn Величина ускорения в % от

максимального ускорения.

Окончание табл. П.7

Действие

В случаях, когда позиционирование осуществляется с помощью команды G01, будет использоваться величина отрицательного ускорения, заданная данной командой.

Пример

N020 G09 X50 Отрицательное ускорение

50 % от максимального значения;

N021 G01 X80 FX50 Перемещение на позицию;

80 мм

N022 G09 X0Отрицательное ускорение

максимальное.

Замечания

Команда G09запоминается и остается активной, пока не будет задано другое значение отрицательного ускорения.

Таблица П.8

G28

Запись значения позиции в регистр позиции

Структура

Nn G28 @n Xn [Y...,Z...]

Nn G28 @n X@n [Y...,Z...]

Параметр

@n Регистр позиции;

Xn Значение позиции, мм;

X@n Используемый регистр позиции.

Действие

Записывает позицию каретки линейного привода в регистр позиции и далее данный регистр может использоваться в командах позиционирования.

Пример

N010 G28 @0 X10 Запись позиции 10 мм в ре-гистр позиции 0;

N011 G28 @1 X@99 Запись значения из регистра позиции 99 в регистр позиции 1.

Замечания

Регистры позиции не стираются в случае ошибки питания системы. Каждый линейный привод имеет свои регистры позиции. Значения регистров позиций хранятся в листе позиций Positon List.

Таблица П.9

G29

Добавления значения позиции в регистр позиции

Структура

Nn G29 @n Xn [Y...,Z...]

Nn G29 @n X@n [Y...,Z...]

Параметр

@n Регистр позиции

Xn Значение позиции, мм

X@n Используемый регистр позиции

Действие

Суммирует значение позиции и значении, содержащиеся в регистре позиции, и перезаписывает регистр.

Пример

N010 G29 @10 X10.5 Добавление значения 10,5 мм в регистр 10 (значение 20). В регистре будет теперь записано значение 30,5 мм

Замечания

Регистры позиции не стираются в случае ошибки питания системы. Каждый линейный привод имеет свои регистры позиции. Значения регистров позиций хранятся в листе позиций Positon List.

Таблица П.10

G74

Задание реперной точки

Структура

Nn G74 X [Y...,Z...]

Параметр

X Тип реперной точки.

Действие

Команда, по которой каретка линейного привода осуществляет перемещение в реперную точку.

Пример

N000 G74 X0Принять текущею позицию за начало отсчета.

Замечания

Таким образом, реперная точка задает начало отсчета, от которого отсчитываются значения всех позиций. Автоматически при отключении питания устанавливается тип реперной точки, указанный в Application Parameters.

Таблица П.11

Тип

Описание

0

Принять текущую позицию каретки линейного привода началом отсчета.

1

Начальное перемещение каретки линейного привода влево до датчика REFи принятие этой позиции началом отсчета.

2

Начальное перемещение каретки влево до датчика LIM-и принятие этой позиции началом отсчета.

3

Начальное перемещение каретки линейного привода вправо до датчика REF и принятие этой позиции началом отсчета.

4

Начальное перемещение каретки вправо до датчика LIM+и принятие этой позиции началом отсчета.

На рис. 37 цифрой 1 обозначена начальная позиция каретки линейного привода, цифрой 2 − позиция, принимаемая началом отсчета, цифрой 3 – диапазон переключения датчиков.

Рис. П.1. Типы реперной точки

Таблица П.12

G90

Абсолютная система отсчета

Структура

Nn G90 Xn|X@n [Y...,Z...]

Параметр

Xn Позиция, мм;

X@n Регистр позиции.

Действие

Переключение на абсолютную систему отсчета координат и перемещение на заданной скорости и с заданным ускорением на позицию, заданную в абсолютной системе отсчета. Все последующие позиции в программе будут также интерпретироваться как абсолютные. Данная команда остается активной до тех пор, пока не будет задан другой способ позиционирования (например, G91).

Пример

N000 G00 G90 X200Переместиться на максималь-ной скорости на абсолютную позицию 200 мм.

Замечания

Изначально устанавливается абсолютная система отсчета. Команда остается активной пока не будет написана команда относительного позиционирования G91.

Таблица П.13

G91

Относительная система отсчета

Структура

Nn G91 Xn|X@n [Y...,Z...]

Параметр

Xn Позиция в мм

X@n Регистр позиции

Действие

Переключение на относительную систему отсчета координат и перемещение на заданной скорости и с заданным ускорением на позицию, заданную в относительной системе отсчета. Все последующие позиции в программе будут также интерпретироваться как относительные. Данная команда остается активной до тех пор, пока не будет задан другой способ позиционирования (например, G90).

Окончание таблицы П.13

Пример

N000 G00 G91 X50Переместиться на максимальной

скорости на 50 мм вправо относительно текущей пози-ции.

Замечания

Изначально устанавливается абсолютная система отсчета. Команда остается активной пока не будет написана команда относительного позиционирования G91.

Таблица П.14

M30

Конец программы и повтор

Структура

Nn M30

Параметр

нет

Действие

Данная команда должна использоваться для обозначения конца программы. В результате чего происходит повтор алгоритма программы с записи N000.

Пример

N008 M30 Конец программы.

Замечания

нет

Таблица П.15

E05

Безусловный переход

Структура

Nn E05 n

Параметр

n Номер строки.

Действие

Выполнение программы продолжается со строки, на которую происходит перемещение посредством данной команды.

Пример

N005 G00 X100 Перемещение на позицию 100 мм;

N006 X200 Перемещение на позицию 200 мм;

N007 E05 5 Переход наN005.

Замечания

нет

Под однобитными операндами будем понимать свободные выходы и входы, а также флаги.

Таблица П.16

#S

Побитное управление выходами и установка флагов

Структура

Nn #S <Операнд>

Параметр

<Операнд> В качестве операндов можно ис-пользовать свободные выходы и флаги.

Действие

Если в качестве операнда используется выход, то на нем появляется сигнал, т.е. выход становится активным.

Пример

N010 #SQ0.0 Появляется сигнал на выходеQ0.0.

Замечания

В качестве операндов могут использоваться все доступ-ные выходы, а также флаги.

Таблица П.17

#R

Сброс однобитного операнда

Структура

Nn #R <Операнд>

Параметр

<Операнд> Можно использовать любые одно-битные операнды, кроме входов.

Действие

Если указанный в команде выход был активен, но сигнал на нем пропадает. Значения флагов становятся равными нулю.

Пример

N010 #RQ0.0 Пропадает сигнал на выходеQ0.0.

Замечания

В команде используются определенные выходы, кото-рые были установлены в программе, и флаги.

Таблица П.18

#T

Проверка однобитного операнда на наличие единичного сигнала

Структура

Nn #T <Операнд> <Номер строки>

Окончание таблицы П.18

Параметр

<Операнд> Можно использовать любые однобитные операнды.

Действие

Если тестируемый операнд содержит единичный сигнал, то выполнение программы переходит на указанную в команде строку.

Пример

N005 #TI0.0 7 Если на входеI0.0есть сигнал, то программа продолжает выполняться с 7 строки.

Замечания

В команде можно указывать все свободные входы и выходы, а также флаги.

Таблица П.19

#TN

Проверка однобитного операнда на наличие нулевого сигнала

Структура

Nn #TN <Операнд> <Номер строки>

Параметр

<Операнд> Можно использовать любые однобитные операнды.

Действие

Если тестируемый операнд содержит нулевой сигнал, то выполнение программы переходит на указанную в команде строку.

Пример

N005 #TNI0.0 7 Если на входеI0.0нет сигнала, то программа продолжает выполняться с 7 строки.

Замечания

В команде можно указывать все свободные входы и выходы, а также флаги.

Соседние файлы в предмете Мехатроника