Вы находитесь на странице: 1из 82

В.Ю.

ЛАВРОВ

ПРОГРАММИРОВАНИЕ
СИСТЕМ
ПОЗИЦИОНИРОВАНИЯ,
УПРАВЛЯЕМЫХ
КОНТРОЛЛЕРОМ
SPC200 ФИРМЫ FESTO,
В ПАКЕТЕ WINPISA
Министерство образования и науки Российской Федерации
Балтийский государственный технический университет «Военмех»

В.Ю. ЛАВРОВ

ПРОГРАММИРОВАНИЕ СИСТЕМ
ПОЗИЦИОНИРОВАНИЯ,
УПРАВЛЯЕМЫХ
КОНТРОЛЛЕРОМ SPC200
ФИРМЫ FESTO,
В ПАКЕТЕ WINPISA

Учебное пособие

Санкт-Петербург
2008
УДК 681.583.318.2 : 004.35 : 004.42(075.8)
Л13

Лавров, В.Ю.
Л13 Программирование систем позиционирования, управ-
ляемых контроллером SPC200 фирмы FESTO, в пакете
WinPISA: учебно е по собие / В.Ю. Лавров; Балт. гос. техн.
ун-т. – СПб., 2008. – 81 с.
ISBN 978-5-85546-421-4
Приводится описание методов программирования систем позицио-
нирования, управляемых контроллером SPC200, в среде пакета WinPISA,
управление проектами, их планирование и редактирование, ввод систем в
действие, а также язык программирования, примеры.
Предназначено для студентов технических специальностей и специ-
альностей промышленного менеджмента.
УДК 681.583.318 : 004.35 : 004.42(075.8)

Р е ц е н з е н т ы : кафедра «Теория механизмов и робототехниче-


ские системы» ПГУПС (зав. каф. д-р техн. наук, проф.
К.Н. Войнов); канд. техн. наук, доц. СПбТЭИ Б.Г. Семилетенко

Утверждено
редакционно-издательским
советом университета

Лавров Валентин Юрьевич

Программирование систем позиционирования, управляемых


контроллером SPC200 фирмы FESTO, в пакете WinPISA

Редактор Г.В. Никитина


Корректор Л.А. Петрова
Подписано в печать 29.12.2008. Формат 60×84/16. Бумага документная.
Печать трафаретная. Усл. печ. л. 4,7. Тираж 200 экз. Заказ № 3 .
Балтийский государственный технический университет
Типография БГТУ
190005, С.-Петербург, 1-я Красноармейская, д. 1

ISBN 978-5-85546-421-4  БГТУ, 2008


 В.Ю. Лавров, 2008
ПРЕДИСЛОВИЕ

Данное учебное пособие содержит основную информацию о


программировании контроллера SPC200 с помощью пакета
WinPISA. Приводятся скоординированный и автономный спосо-
бы, а также описание команд.
В создаваемой программе должна быть определена после-
довательность позиций и управления по осям позиционирования
системы.
Процедуры для создания пользовательских программ выпол-
няются в соответствии со спецификациями DIN 66025.
Изучение данного пособия позволит Вам освоить: создание
новых пользовательских программ; открытие пр огр аммы и ее ре-
дактирование; управление списком позиций; проверку и исправле-
ние синтаксиса программ; компилирование программ для SPC200;
загрузку программ и списка позиций в SPC200 или чтение их из
SPC200.
При создании пользовательских программ для SPC200 пакет
WinPISA поддерживает логическое управление программ и создает
дружественную среду программирования.
Информацию о программировании с пульта управления типа
SPC200-MMI-1 можно найти в руководстве пользователя для
SPC200.

3
1. ОБЩЕЕ ОПИСАНИЕ

1.1. Системы позиционирования, управляемые контроллером


SPC200
SPC200 – это универсальный, модульно-структурированный
контроллер, позволяющий управлять пневматическими и электри-
ческими осями * и использовать полевые шины.
В зависимости от состава оборудования к контроллеру может
быть подсоединено до четырех осей (рис. 1.1, где 1 – цепь интер-
фейса первой оси, 2 – дополнительная цепь интерфейса второй оси,
3 – интерфейс оси, 4 – внешний модуль ввода-вывода).

Рис. 1.1. Подсоединение пневматических осей и внешних модулей ввода-вывода

*
В документации по SPC200 используется термин «Axis», что переводится как
«ось», хотя в данном случае имеется в виду устройство для прямолинейного пе-
ремещения каретки по направляющим, снабженное пневматическим или электри-
ческим приводом.
4
Пневматические и электрические оси могут использоваться
совместно. SPC200 может связываться с компонентами пневмати-
ческих осей и внешними модулями ввода-вывода максимум через
две ветви интерфейса с одним кабелем каждая.
Контроллер SPC200 может функционировать независимо, но
мы рассматриваем его применение в соединении с компьютером
более высокого уровня PLC/IPC. В этом варианте на PLC/IPC не-
обходимо установить пакет WinPISA, который создает удобную
среду программирования и работы программ.
Структура контроллера. SPC200 имеет модульную конструк-
цию. Модули устанавливаются в корпус (рис. 1.2, где 1 – корпус,
2 – модули, 3 – монтажная плата внутри корпуса). Главный про-
цессор и память контроллера находятся на монтажной плате, рас-
положенной на задней стороне корпуса. Корпус с этой монтажной
платой называется базовым элементом.

Рис. 1.2. Контроллер SPC200

Существуют базовые элементы с четырьмя и шестью посадоч-


ными местами (слотами) для обеспечения различных вариантов
комплектации контроллера.
В соответствии с требованиями задач позиционирования в ба-
зовый элемент устанавливают необходимые модули.
5
Базовые модули (рис. 1.3, где 1 – модуль питания типа SPC200-
PWR-AIF, 2 – модуль диагностики типа SPC200-MMI-DIAG,
3 – модуль входов-выходов типа SPC200-DIO) – это минимальный
набор модулей, при наличии которых SPC200 уже обеспечивает
управление пневматическими осями.

Рис. 1.3. Базовые модули

Модуль питания служит для подключения питания и ветви


осевого интерфейса, модуль диагностики – для присоединения па-
нели управления и подключения к PC. Модуль входов-выходов
предоставляет входы-выходы для управления в различных режи-
мах работы.
Система, укомплектованная этими элементами, дает возмож-
ность:
• управлять одной или двумя пневматическими осями;
• подключать измерительные системы различных типов при
помощи соответствующего осевого интерфейса;
• работать независимо или под управлением внешнего компь-
ютера PLC/IPC через входы-выходы;
• программировать и управлять от PC или панели управления.
Для расширения системы используются дополнительные мо-
дули. Их описание приведено в соответствующей документации.
6
1.2. Схема работы

Положением пневматической оси управляет контроллер


SPC200. Пропорциональный клапан и измерительная система под-
ключаются к контроллеру через осевой интерфейс, расположенный
непосредственно у привода. Осевой интерфейс присоединяется к
SPC200 при помощи одного кабеля, образуя часть ветви осевого
интерфейса.
Для подключения пневматической оси требуются следующие
элементы: 1 – измерительная система типа MLO-POT-…-TLF или
MME-MTS-…TLF-AIF; в цилиндрах типа DGPI(L)-…-…-…-AIF
измерительная система встроена, 2 – осевой интерфейс SPC-AIF-…,
3 – контроллер SPC200, 4 – пропорциональный клапан типа
MPYE-5-…-01B, 5 – блок подготовки воздуха с фильтром 5 мк, 6 –
цилиндр с механической направляющей, питание 24 V (рис. 1.4).
Рекомендуется устанавливать устройство для аварийного останова.

Рис. 1.4. Подключение пневматической оси к SPC200

Специализированный контроллер SPC200 предназначен, глав-


ным образом, для выполнения следующих задач:
• задания исходных координат, регулирующих положение
осей;
7
• сравнения заданного и фактического положения и управле-
ния положением при помощи соответствующего пропорциональ-
ного клапана;
• оптимизации управления при помощи задания параметров
управления;
• управления периферийными устройствами при помощи циф-
ровых входов/выходов; управления очередностью.
Осевой интерфейс, клапан, цилиндр и измерительная система
объединены таким образом, что образуют цепь управления с об-
ратной связью (рис. 1.5, где 1 – положение каретки, задаваемое ре-
гулирующим клапаном, 2 – фактическое положение, 3 – напряже-
ние клапана (выходной сигнал), 4 – ветвь осевого интерфейса,
5 – контроллер SPC200). Положением каретки или поршня в этой
цепи управляет регулирующий клапан. Таким образом, в данном
случае имеет место управление по положению.

Рис. 1.5. Схема управления положением системы при использовании


пневматических элементов

Измерительная система непрерывно отслеживает положение


каретки и посылает его значения в осевой интерфейс в виде элек-
трического сигнала, а затем в контроллер SPC200. Контроллер
сравнивает заданное положение с фактическим и формирует сиг-
нал для пропорционального клапана, который управляет кареткой
подавая давление в одну и сбрасывая давления в другой камере
цилиндра. В нейтральных положениях расход блокируется так, что
каретка обычно сохраняет текущее положение.
8
1.3. Структура ветви осевого интерфейса

SPC200 с измерительной системой и пропорциональным кла-


паном связан через осевой интерфейс,
присоединяемый к SPC200 ветвью. В
базовой комплектации SPC200 может
управлять двумя пневматическими
осями, т.е. к ветви о севого интерфейса
можно подключить два осевых интер-
фейса и две пневматические оси. Осе-
вой интерфейс второй оси присоединя-
ется к осевому интерфейсу первой
(рис. 1.6, где 1 – осевой интерфейс оси
X, 2 – осевой интерфейс оси Y). Оси
обозначаются автоматически: первая
ось – X, вторая – Y.
Рис. 1.6. Назначение
К SPC200 можно подключать не обозначения осей
более двух ветвей осевого интерфейса
и, следовательно, до четырех пневматических осей (X, Y, Z, U).
Вторая ветвь осевого интерфейса присоединяется через модуль
дополнительного контроллера SPC200-SCU-AIF, управляющего
позиционированием дополнительных осей.

1.4. Режимы работы SPC200

Контроллер SPC200 может работать в двух различных режи-


мах: Start/Stop и режиме выбора строки, что позволяет выбрать
более подходящий к конкретной задаче. Функционирование циф-
ровых входов-выходов SPC200 зависит от установленного режима.
В режиме Start/Stop SPC200 может управлять простыми зада-
чами позиционирования как автономно, так и с помощью компью-
тера PLC/IPC более высокого уровня. Для этой цели используются
свободно программируемые входы и выходы. Программа выпол-
нения позиционирования может быть запущена и остановлена как
с панели управления, так и PLC/IPC. При жесткой связи с PLC/IPC
можно использовать команду M00 (Программный останов). Эта
команда позволяет синхронизировать выполнение программы
SPC200 с внешними отслеживаемыми процессами.
9
Режим выбора строки предполагает тесную взаимосвязь
SPC200 с PLC/IPC, которая полностью контролирует последова-
тельность выполнения команд программы. PLC/IPC посылает ко-
манды позиционирования в виде номеров строк программы, изна-
чально сформированной в PLC/IPC, а затем загруженной в SPC200
через цифровые входы-выходы. При использовании модулей вхо-
дов-выходов через пять цифровых входов можно посылать номера
строк 0…31 активной программы. То есть PLC/IPC может иметь
доступ к 32 позициям. При работе с полевой шиной максимально
доступное количество NC-команд равно 1000.

1.5. Применение SPC200 для систем с несколькими осями

Контроллер SPC200 имеет возможность запуска программ па-


раллельных процессов и управления несколькими осями. Под
управлением SPC200 могут находиться до четырех осей и обеспе-
чиваться режимы работы: согласованный и автономный.
В согласованном режиме обычно запускают одну программу
для всех параллельных процессов. И в ней задаются все NC-коман-
ды выполнения позиционирования для всех осей. Если, например,
команда позиционирования относится ко всем осям, то она счита-
ется выполненной после завершения работы по каждой оси.
Системы с несколькими осями можно разделить на две группы
(рабочие станции), функционирующие независимо. Это позволяет
более экономично использовать две системы при одном SPC200.
В автономном режиме запускаются две программы параллельно,
каждая из которых содержит команды позиционирования только
для своей рабочей станции.

1.6. Панель управления

Задать необходимые параметры и запрограммировать SPC200


можно двумя способами: с панели управления SPC200-MMI-1, с
помощью программного комплекса WinPISA.
Съемная панель управления SPC200-MMI-1 (рис. 1.7, где 1 –
экран, 2 – сенсорная клавиатура, 3 – интерфейс связи с SPC200 на
задней панели) имеет двухстрочный LCD-экран, длина строки –
16 символов. Она может быть установлена непосредственно на
контроллере SPC200.
10
На панели управления расположено шесть кнопок, при помо-
щи которых можно получить доступ
ко всем функциям через меню на-
стройки, программирования, диагно-
стики и прямого управления кон-
троллером. Можно также изменять
регистры позиций и программы.
После сборки системы можно
использовать функции обучения,
позволяющие переместить рабочий
орган в нужное положение и сохра-
нить это положение в регистре
позиций. Рис. 1.7. Панель управления
Мы рассматриваем только про- SPC200-MMI-1
граммирование с помощью про-
граммного комплекса WinPISA.

1.7. Старт пакета WinPISA

Для старта пакета WinPISA:


1. Запустите Microsoft Windows.
2. Дважды щелкните на пиктограмме WinPISA или с
помощью клавиатуры выберите изображение WinPISA и нажмите
клавишу ENTER.
На экране появится окно WinPISA (рис. 1.8).

Рис. 1.8. Интерфейс пользователя WinPISA


11
1.8. Установка каталогов *

Имя файла проекта WinPISA имеет расширение (*.pta). Для ус-


тановки каталога и маршрута для хранения проекта выполните
следующие действия.
1. Дайте команду Directories в меню Options.
2. На панели Select directory for. окна диалога Directories
(рис. 1.9) укажите путь на директорию, в которую Вы желаете ус-
тановить проект.

Рис. 1.9. Установка директорий

3. Установите нужный путь на панели Directories или Disc


drives. Выбранные варианты будут показаны на панели Select
directory for.
4. При необходимости повторите шаги 2, 3 для других дирек-
торий.
5. Для подтверждения установок нажмите кнопку Ok.

*
В последнее время вместо терминов "каталоги" и "директории" стал более
употребителен термин «папка».
12
Для выбора директорий предлагаются соответствующие окна
диалога (рис. 1.10).

Рис. 1.10. Пример каталога проекта

1.9. Работа в пакете WinPISA

Принцип работы и интерфейс пользователя WinPISA соответ-


ствуют обычному стандарту Windows.
В рабочей области (рис. 1.11, где 1 – панель инструментов,
2 – окно проекта, 3 – окно программы, 4 – строка статуса, 5 – рабо-
чая область, 6 – свернутое окно) Вы работаете с окнами
WinPISA.
На панели инструментов (Toolbar) расположены кнопки для
доступа к часто используемым командам.
Окно проекта используется для управления и конфигурирова-
ния всех элементов Вашей системы позиционирования.
В окне программы производится ввод и редактирование про-
грамм, управляющих процессом позиционирования.
13
Рис. 1.11. Интерфейс рабочей области WinPISA

1.10. Диалоговый режим (Online mode)

Для того чтобы связать WinPISA с контроллером SPC200, не-


обходимо активизировать диалоговый режим. При этом открыва-
ется связь между компьютером (PC) и SPC200 по последователь-
ному интерфейсу RS232.
Для связи соедините SPC200 со свободным последователь-
ным портом на Вашем компьютере (рис. 1.12, где 1 – SPC200,
2 – диагностический модуль SPC200-MMI-DIAG, 3 – диагности-
ческий интерфейс RS232 (X4)) диагностическим кабелем
KDI-PPA-3-BU9.
14
Рис. 1.12. Диагностический интерфейс

2. УПРАВЛЕНИЕ ПРОЕКТАМИ

Укрупнённо процесс создания проекта состоит из следующих


этапов:
1. Создание проекта как объекта в компьютере.
2. Подсоединение к проекту нужного оборудования.
3. Формирование списка тех позиций, которые должны в про-
цессе работы занять рабочий орган.
4. Создание программ, управляющих последовательностью
операций.
5. Проверка и тестирование программ.
6. Сохранение проекта.
7. Выполнение главной программы.

2.1. Создание проекта

Для каждой новой системы позиционирования нужно созда-


вать новый проект. Для этого выполните следующие действия.
1. Выберите в меню File пункт New project или на
панели инструментов щелкните кнопку Create new
project (см. рис. 1.11).
15
2. В окне диалога Determine project file (рис. 2.1) в поле File
name введите имя нового файла проекта. Расширение .PRJ добав-
ляется автоматически. Файлам проектов рекомендуется давать
имена, совместимые с работой под управлением DOS *. Файлы про-
ектов имеют расширение .PRJ.

Рис. 2.1. Создание файла проекта

3. Если Вы хотите создать проект в другом каталоге, то изме-


ните путь в поле Directories или Folder и поле Drives.
4. Подтвердите задание, щелкнув кнопку Ok.
5. После этого открывается диалоговое окно Details on project
(рис. 2.2), в котором в поле Title введите название программы
(до 20 символов) и в поле Description – краткий комментарий для
нее (до 128 символов).

Рис. 2.2. Ввод имени проекта и коментария

*
Только латинские буквы и цифры, длина имени – до 8 символов.
16
6. Подтвердите вход в проект, щелкнув кнопку Ok. После этого
открывается окно проекта (рис. 2.3), где Вы можете редактировать
проект.

Рис. 2.3. Окно проекта

2.2. Открытие и закрытие проекта

Для открытия проекта выполните следующие опера-


ции:
1. Выберите команду Open project в меню File или
щелкните кнопку Open project на панели инструментов.
2. Выберите файл проекта в диалоговом окне Open project
(рис. 2.4) и подтвердите выбор нажатием кнопки Ok.
Последние четыре открытых проекта запоминаются в списке
меню File (см. рис. 1.11) и могут быть открыты непосредственно из
этого меню.
Для закрытия проекта в активном окне проекта дайте коман-
ду Close в меню File. Если Вы изменяли проект и модификации
еще не были сохранены, то будет выдано сообщение и указаны из-
мененные компоненты. Если на запрос Вы ответите Yes, то все по-
казанные компоненты будут сохранены, при ответе No модифика-
ции будут утеряны.
17
Рис. 2.4. Открытие проекта

2.3. Сохранение проекта

Для сохранения проекта есть два пути.


1. Сохранить проект, используя команду Save project в меню
File (см. рис. 1.11). При этом запоминаются все изменения, сделан-
ные в проекте.
2. Активизировать окно проекта. Выбрать команду
Save в меню File или щелкнуть кнопку Save active win-
dow на панели инструментов.
Во втором варианте будут сохранены только изменения, сде-
ланные в активном окне проекта.

2.4. Сохранение проекта под другим именем

Для сохранения проект под новым именем следует:


1) сделать активным окно проекта;
2) выбрать команду Save as в меню File;
3) вести новое имя для файла проекта и новый каталог проекта
в диалоговом окне Project save as;
4) подтвердить операцию нажатием кнопки Ok.
Новый проект будет показан в окне проекта. Если в открытом
окне редактора были сделаны изменения (в редакторе программ
18
или списке позиций), то появится запрос: сохранить. Пр и ответе
Yes изменения сох р няются
а в новом пр о кте;
е в случае ответа
No изменения теряются, ответ Cancel – отказ от операции сохра-
нения.

2.5. Загрузка проектов из SPC200 (Upload)

Необходимость в этой операции возникает в следующих слу-


чаях:
• Вы создали новую систему позиционирования и хотите ис-
пользовать конфигурацию аппаратных средств в новом проекте;
• Вы хотите отредактировать систему позиционирования, для
которой есть проект.
При выполнении этой операции из SPC200 загружается теку-
щая конфигурация аппаратных средств, имеющиеся там програм-
мы пользователя и список позиций. Если в WinPISA уже открыт
проект, то сначала он будет закрыт.
Для загрузки проектов из SPC200 следует:
1. Активизировать режим Online, используя ко-
манду Online mode в меню Online или щелкнув кнопку
Online mode on на панели инструментов.
2. Выбрать команду Project из меню Online Upload.
3. Ввести имя каталога нового файла проекта в окне диалога
Determine project file аналогично тому, как Вы это делаете при
создании нового проекта.
4. Подтвердить операцию, нажав кнопку Ok.
5. В поле Title диалогового окна Details on project ввести на-
звание проекта (до 20 символов) и комментарий (до 128 символов)
в поле Description. Подтвердить операцию, нажав кнопку Ok.
6. Подтвердить успешную передачу, нажав кнопку Ok.

2.6. Загрузка проектов в SPC200 (Download)

Проект нужно загружать в SPC200, если работаете в режиме


Start/Stop и Вы модифицировали проект и хотите загрузить новую
версию в SPC200, Вы хотите загрузить в SPC200 полный проект,
который Вы создали автономно.
19
Для загрузки проекта в SPC200 необходимо выполнение сле-
дующих условий:
•проект должен быть скомпилирован и не содержать ошибок,
•конфигурация аппаратных средств в проекте должна соответ-
ствовать фактической конфигурации аппаратных средств SPC200.
После загрузки проекта любые программы, имевшиеся в
SPC200, будут удалены, если их нет в проекте.
Для загр узки пр оекта в SPC2 00 выполните следу ющие дейст-
вия:
1. Активизируйте режим Online, меню Online, ко-
манда Online mode или кнопка Online mode on на пане-
ли инструментов.
2. Выберите пункт Project из меню Online Download.
3. Подтвердите успешную передачу нажатием кнопки Ok.

2.7. Редактирование проекта в окне проекта

Редактирование проекта включает:


• установку конфигураций аппаратных средств;
• конфигурирование компонентов системы;
• редактирование списка позиций;
• создание и редактирование программ.
Проекты в WinPISA показываются в окне проекта (см.
рис. 2.3), где в удобной форме можно просматривать и редактиро-
вать все компоненты проекта. Окно устроено в виде структуры де-
рева.
Области Hardware (Аппаратные средства) и Software (Про-
граммное обеспечение) подчинены изображению проекта. Компо-
ненты системы находятся в области Hardware, список позиций и
программы расположения – в области Software.
Отдельные объекты в дереве проекта представлены в окне
проекта следующими пиктограммами:

Проект. Все компоненты в дереве располагаются под ним.

Hardware (аппаратные средства). Все элементы аппарат-


ных средств проекта: SPC200, приводов, модули ввода-
вывода – находятся здесь.
20
Котроллер SPC200-CPU-4 или ...-CPU-6. Располагается за
SPC200. Может иметь четыре или шесть гнезд для уста-
новки различных модулей.
Одна или две ветви интерфейса оси с одним кабелем каж-
дая.

Интерфейс шагового двигателя (Step motor).

Axis (Ось). Располагается за приводом позиционирования.


Оси обозначаются X-, Y-, Z-, U-. Обозначение обычно оп-
ределяет тип оси.

SPC-FIO-2E/2A или CP-. Стоит за модулем функций вво-


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

Software (Программное обеспечение). Под этим значком


располагаются список позиций и программы позициониро-
вания, имеющиеся в проекте.
Position list (Список позиций). Список позиций для
проекта.

1: DIN "NAME. Такое обозначение имеют программы с


порядковыми номерами. Ниже значка показывается имя
программы.
При создании нового проекта значки Hardware и Software ав-
томатически располагаются под значком проекта. Список позиций
будет расположен под изображением программного обеспечения.
Эти элементы – обязательные компоненты для каждого проекта и
не могут быть удалены. Другие элементы системы позиционирова-
ния предстоит еще спроектировать.

21
2.7.1. Редактирование раздела аппаратных средств (Hardware)

В проекте необходимо указать требуемые аппаратные средст-


ва. Делается это в окне пр о екта вставкой су ществующих компо-
нентов системы.
Все связанные аппаратные средства будут обнаружены и про-
верены, когда Вы включите SPC200. Конфигурация аппаратных
средств существующей системы может быть загружена из SPC200
в режиме Online (см. подразд. 2.5).
Отдельные компоненты всегда вставляются в соответствую-
щий пункт на структуре дерева окна проекта.
Для вставки компонента Hardware в текущий проект следует:
1. Выбрать в окне проекта пиктограмму объекта, для которого
предназначен новый компонент. Это могут быть пиктограмма
Hardware при добавлении SPC200 и пиктограммы цепи интерфей-
са оси или интерфейса шагового двигателя, которая может быть
дополнена осью или модулем ввода-вывода.
2. Дать команду Insert object в меню Edit. После этого откро-
ется диалоговое окно Insert hardware (Вставка аппаратных
средств, рис. 2.5).

Рис. 2.5. Вставка аппаратных средств

3. В этом диалоговом окне в блоке Component selection вы-


брать компонент, который нужно вставить. Подтвердите операцию
нажатием кнопки Ok. В зависимости от типа компонента откроется
соответствующее окно диалога, в котором выбранный компонент
определяется более подробно.
Для удаления компонента аппаратных средств из текущего
проекта:
1. Выбрать пиктограмму компонента в окне проекта.
22
2. Дать команду Delete object в меню Edit.

Внимание! Когда Вы удаляете SPC200, то будут удалены и отно-


сящиеся к нему оси и модули ввода-вывода со всеми настройками.

3. Подтвердить операцию удаления, ответом Yes на контрольный


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

2.7.2 Редактирование раздела программного обеспечения

Управлять NC-программами и списком позиций системы мож-


но в области Software (программное обеспечение) дерева окна
проекта.
В зависимости от задач системы позиционирования можно
создавать до 100 NC-программ (с номерами от 0 до 99). Список
позиций является неотъемлемой частью каждого проекта, и поэто-
му его создавать не требуется, а удалить невозможно. Редактиро-
вание программ приведено в разд. 4.
Для вставки пользовательской NC-программы в текущий про-
ект следует:
1. Выбрать пиктограмму Software в окне проекта.
2. Дать команду Insert object в меню Edit. Откроется окно
диалога New program (Новая программа, рис. 2.6).

Рис. 2.6. Новая программа


23
3. Здесь в поле Title ввести название программы, а в поле Pro-
gram no. – её номер, он должен быть уникален в пределах проекта.
В поле Description можно ввести краткий (до 128 символов)
комментарий к программе.
4. Подтвердить операцию, нажав кнопку Ok.
Имя файла новой программы будет показано в поле File:
"PROG_00.DIN", “PROG_01. DIN”, и т.д.
Сохранение программы или списка позиций. Сохранять содер-
жание соответствующего окна редактора необходимо после
модификации программы или списка позиций. Для сохра-
нения окна редактора выберите пункт Save в меню File или
щелкните кнопку Save active window на панели инструментов.
Изменение имени программы, её описания и номера. Сущест-
вующей программе можно присвоить любой номер (в пределах
допустимого) или изменить ее название или описание. Для этого
необходимо:
1. Открыть окно редактора программы.
2. Выбрать Configure из меню Edit или щелкнуть на
кнопке Configure на панели инструментов.
3. В открывшемся диалоговом окне Program ввести требуемые
изменения.
4. Щелкнуть кнопку Ok для подтверждения ввода.
Удаление NC-программы из текущего проекта:
1. Выбрать пиктограмму удаляемой программы в окне
проекта.
2. Дать команду Delete object в меню Edit.
3. Подтвердить стирание программы ответом Yes на контроль-
ный запрос. Если Вы передумали удалять компонент – ответьте No.

3. ПЛАНИРОВАНИЕ ПРОЕКТА

WinPISA поддерживает выбор подходящих комбинаций


«цилиндр-клапан» для пневматических осей или комбинаций
«ось-двигатель» для электрических осей прямолинейного движения.
Для этих целей в WinPISA имеются файлы с расширением
имени *.PTA, которые содержат уже готовые спецификации пара-
метров осей и прикладных параметров для систем осей, поддержи-
ваемых SPC200.

24
3.1. Выбор готовых осей

Для загрузки PTA-файла поступите следующим образом:


1. Откройте окно диалога Parameter set for the ..-axis (Уста-
новка параметров ...-оси) для оси, спецификацию которой Вы же-
лаете загрузить.
2. Нажмите кнопку Select. На экране появится диалоговое окно
Axis selection (Выбор оси, рис. 3.1), в котором перечислены
доступные готовые спецификации, имеющиеся в каталоге для
PTA-файлов.

Рис. 3.1. Выбор пневматической оси

3. Выберите нужную ось из списка Projected axes. Будет пока-


зано соответствующее имя PTA-файла и другая информация об
оси. С помощью кнопки Search можно искать нужные оси в дру-
гих каталогах.
4. Подтвердите выбранную спецификацию нажатием кнопки
Ok.

25
3.1.1. Выбор пневматической оси
Тип цилиндра, диаметр, длина, тип клапана и система измере-
ния показываются под надписью Planned axes. Выберите исполь-
зуемую систему измерения для комбинации «клапан-цилиндр».
Если список не содержит оси нужной длины, то выберите
ось с ближайшей меньшей минимальной длиной. Под надписью
Cylinder type (Тип цилиндра) приведен диапазон длин, а длина,
указанная в спецификации, соответствует минимальной длине для
комбинации «клапан-цилиндр».
Пример. Вам нужна ось диаметром 40 мм, длиной 600 мм.
В этом случае выбираете из списка под надписью Projected
axes ось "DGP-40-250 ... 850; Ø40; L250; MPYE-5-1/8HF-010B".

3.1.2. Выбор электрической оси


Тип привода линейной оси, диаметр, длина, двигатель и, если
применяются зубчатые механизмы, оси показываются под надпи-
сью Projected axes (рис. 3.2). Выберите используемую Вами ком-
бинацию «ось-двигатель». После этого введите нужную длину оси
в окне диалога Parameter set for the ..-axis (Установка параметров
..-оси).

Рис. 3.2. Выбор электрической оси


26
3.2. Изменение параметров оси
В выбранной спецификации имеются параметры, заложенные в
нее по умолчанию. Эти параметры и будут переданы в Ваш проект.
Проверьте ось и ее прикладные параметры. При необходимости из-
мените те величины, которые должны иметь другие значения в Ва-
шей системе позиционирования. Будьте при этом внимательны. Не-
правильные параметры могут привести к серьезным последствиям.

4. ПРОГРАММИРОВАНИЕ
4.1. Редактор программ

Редактор программ в пакете WinPISA – инструмент для созда-


ния и редактирования пользовательских программ.
Когда Вы открываете программу, то её содержание появляется
в окне редактора программы в пределах окна WinPISA (рис. 4.1).
Можно открыть любое количество программ и показывать их од-
новременно в окне WinPISA.

Рис. 4.1. Окно редактора программы

Для переключения между программами, откройте меню [Win-


dow] (см. рис. 1.11). Все открытые окна будут показаны как пункты
меню. Выберите нужный пункт для перемещения в нужное окно.
Программа пишется как обычный текст.
Команды меню. Редактор имеет все обычные функции для ре-
дактирования программ, аналогичные «Windows Notepad» (Блок-
нот Windows). Команды редактирования Cut (Вырезать), Copy
(Копировать), Paste (Вставить), Search (Поиск), Replace (Заме-
нить) и Delete (Удалить) находятся в меню Edit.
Undo (откат). В процессе редактирования программы можно
отменять некоторые действия, возвращаясь к предыдущему со-
стоянию. Для команд Cut, Paste, Delete, Replace и Number отме-
27
нены могут быть только последнее действие, а также заменен вы-
деленный текст в виде последовательности символов.
Numbering (Нумерация строк программы). Строки программы
можно в любое время автоматически перенумеровывать. Это эко-
номит много времени по сравнению с нумерацией вручную. При
этом номера записей, указанные в операторах Go To в качестве ме-
ток, будут обновляться автоматически.
Для перенумерации строк программы:
1. Выбрать команду Number из меню Edit в активном окне
программы.
2. На панели Settings окна диалога Number ввести значения,
требуемые для нумерации (рис. 4.2).

Рис. 4.2. Перенумерация

3. Щелкнуть Ok для подтверждения выполнения операции.


Смысл установок на панели Settings окна Number указан в
табл. 4.1
Т а б л и ц а 4.1
Поле Описание
From record num- Номер записи, с которого должна начаться нумерация.
ber (От номера Если верхний номер введен по умолчанию, то программа
записи) будет пересчитываться от первой записи
Up to record Num- Номер записи, до которого должна выполняться нуме-
ber (До номера рация. По умолчанию стоит значение"99999", в этом
записи) случае программа будет перенумеровываться так, чтобы
сделать запись N99999 последней в программе
Step width (Шаг) Шаг приращения номеров записи. Например, для шага
10, номера строк будут: N010, N020, N030, и т.д.
Starting with no Введите здесь номер записи, с которого должен на-
(Старт с номера) чаться процесс

28
4.2. Список позиций и регистр

При программировании значение позиций осей в операторах


программы можно задавать или в абсолютных величинах, или
ссылками на значения, хранящиеся в регистре позиций. Например,
запись X100 может означать перемещение оси X на 100 мм.
Запись же X@1 является ссылкой на 1-ю позицию, указанную
в регистре.
На экран регистр позиций можно вывести через блок Position
list окна проекта (рис. 4.3).

Рис. 4.3. Окно проекта, область программного обеспечения

Окно списка позиций (рис. 4.4). В регистре позиций, кроме ин-


декса, для каждой позиции можно задать символическое имя
(столбец Symbol) и в пр огр аммах можно использовать это имя
вместо индекса регистра позиции, что делает программу более на-
глядной. Например, записи "X@PICK_2" и "Y@ PICK_2" равно-
сильны соответственно X@3 и Y@3.
В окне Position list различные позиции показаны в виде строк
таблицы. Каждая строка соответствует одной позиции и может со-
держать значения, характеризующие позицию для осей X, Y, Z и U.
Описание колонок приведено в табл. 4.2.

29
Рис. 4.4. Список позиций

Т а б л и ц а 4.2
Колонка Содержание
Индекс позиции. Соответствует номеру, указанному в регистре
Index
позиций
Символический идентификатор позиции. Может использоваться
в программе вместо позиции в абсолютных величинах. Макси-
Symbol мальная длина идентификатора – 20 знаков, нельзя использовать
никакие специальные символы, зарезервированные для команд
программы, первый символ не должен быть цифрой
Axis X Значение позиции для оси X
Axis Y Значение позиции для оси Y
Axis Z Значение позиции для оси Z
Axis U Значение позиции для оси U
Comment Комментарий

Для редактирования поля в списке позиции:


1. Переместить маркер (рамку) в поле, которое Вы хотите из-
менить.
2. Нажмите клавишу ENTER. Поле перейдет в режим редакти-
рования.
3. Введите нужное значение.
4. Подтвердите ввод, нажатием клавиши ENTER. Поле выйдет
из режима редактирования.
Для сохранения внесенных в список позиций измене-
ний дайте команду Save в меню File или щелкните на
кнопке Save active window на панели инструментов при активном
окне списка позиций.
30
При вводе значений в списке позиций в качестве разделителя
используйте десятичную точку (например, 300.05). Вводите не бо-
лее двух знаков после неё.
Задание позиций методом обучения. В дополнение к прямому
вводу с клавиатуры можно определять позиции в списке позиций,
используя функцию Teach (Обучение).
Предостережение. При активизации этой функции оси систе-
мы начнут двигаться. Удостоверьтесь в безопасности работы.
Для выполнения операции требуются сигналы «1» на входах
ENABLE, STOP и READY. Для принятия позиции оси в список
позиций следует:
1. Активизировать режим Online, командой Online
mode из меню Online или щелкнуть кнопку Online mode
on на панели инструментов.
2. Дать команду Teach position из меню Edit
3. Прочитать выданное предупреждение. По команде
Continue, процесс принятия позиции продолжится. Команда
Cancel – отказ от операции
4. В окне диалога Teach position (рис. 4.5) на панели Symbol
name выбрать позицию, для которой Вы желаете задать положение
оси. Текущие значения для всех осей в списке позиций показаны
на этой панели справа.

Рис. 4.5. Задание позиции методом обучения


31
5. Выбрать ось, для которой Вы хотите задать положение.
6. Переместить ось в требуемое положение, используя кнопки
на панели Procedure. Текущее положение показывается на этой
панели. Ось можно переместить и вручную при отключенном дав-
лении.
Описание команд приведено в табл. 4.3.
Т а б л и ц а 4.3
Кнопка Перемещение выбранной оси …
<< ... непрерывно в отрицательном направлении
< ... на 2 шага в отрицательном направлении
> ... на 2 шага в положительном направлении
>> ... непрерывно в положительном направлении

7. Чтобы определить относительное положение, переместите


ось в начальное положение, относительно которого отсчитывается
позиция, установите флажок в check box Relative на панели Sym-
bol name. На панели Procedure будет показано значение «0.00».
Положения оси при дальнейших ее движениях будут выдаваться
относительно этой позиции.
8. Для принятия установленного положения в список позиций
нажать кнопку Enter в диалоговом окне Teach position.
После определения нужной позиции щелкните кнопку Exit,
чтобы закрыть окно диалога.
Имейте в виду, что операция Teach position изменяет только
сам список позиций. Далее нужно загрузить новый список пози-
ций в SPC200 или занести позицию в регистр позиций, используя
команду Optimize position из меню Online, чтобы изменить значе-
ния в регистре позиций.

4.3. Общие замечания о программировании


При создании NC-программы необходимо учитывать следую-
щее:
а) режим работы, в котором будет работать контроллер
SPC200 (см. подразд. 1.4). В режиме Start/Stop поддерживаются
все NC-команды. В режиме выбора строки – только команды пози-
ционирования, условий позиционирования и качества пози-
ционирования;
б) количество специфицированных стартовых программ.
32
Если проектируется система для одной оси или несколько осей
управляются от SPC200, то обычно специфицируется только одна
стартовая программа. Если же система управляется двумя незави-
симыми рабочими станциями, то каждая рабочая станция должна
иметь собственную специфицированную стартовую программу
(автономное функционирование двух рабочих станций).

4.3.1. Параллельная обработка программ

SPC200 имеет программу параллельной обработки, позволяю-


щую обеспечить более эффективный путь взаимодействия двух
автономных рабочих станций. Две программы, которые могут вы-
полняться параллельно и специфицируемые как задача A (Task A)
и задача B (Task B), должны быть определены как стартовые про-
граммы для параллельных процессов.
В этом случае каждая задача, а потому и каждая стартовая
программа и подпрограммы могут содержать только команды для
соответствующей рабочей станции, например:
• program 0 (стартовая программа задачи A) для осей X и Y;
• program 1 (стартовая программа задачи B) для осей Z и U.

4.3.2. Режимы для систем с несколькими осями

В Co-ordinated mode (Скоординированный режим) программа


параллельной обработки для координации работы нескольких осей
обычно не используется. В качестве стартовой устанавливается
только одна программа, в которой и программируются задачи
движения для всех осей.
На рис. 4.6 приведен пример для системы с двумя осями, где
1 – задача A (task A), 2 – старт программы для задачи A, 3 – под-
программы, 4 – задание на перемещение оси X, 5 – задание на пе-
ремещение оси Y, 6 – рабочая станция (две скоординированные
оси).
Если команда относится ко всем осям, например, движение
должно быть закончено только тогда, когда все оси достигли за-
ключительной позиции, то перемещение всех осей синхронизиру-
ется. Кроме того, стартовая программа может использоваться для
контроля функций.
33
Рис. 4.6. Скоординированные операции

В Autonomous Mode (Автономный режим) один SPC200


управляет двумя независимыми рабочими станциями. В этом слу-
чае нужно определить две различные стартовые программы, кото-
рые будут обрабатываться независимо друг от друга (параллельно)
(рис. 4.7, где 1 – задача A (task A), 2 – старт программы для задачи
A, 3 – подпрограммы для задачи A, 4 – задание перемещения для
оси X, 5 – задача B (task B), 6 – старт программы для задачи B, 7 –
подпрограммы для задачи B, 8 – задание перемещения для оси Y,
9 – рабочая станция A (ось X), 10 – рабочая станция B (ось Y)).

Рис. 4.7. Автономные операции для двух рабочих станций (пример)


34
Эти две программы, выполняющиеся параллельно, имеют об-
щий вывод Ready и вводы Enable, Stop и Start/Reset.
В автономном режиме программы для обеих рабочих станций
обрабатываются раздельно. Каждой осью можно управлять неза-
висимо через свободно программируемый ввод-вывод в режиме
Start/Stop или командами ввода-вывода в режиме выбора строки.
При использовании параллельной обработки для систем с не-
сколькими осями необходимо иметь в виду следующее:
• cтартовые программы не должны вызываться как подпро-
граммы;
• подпрограммы, содержащие команды позиционирования
должны вызываться только из одной стартовой программы;
• каждая задача, а следовательно, и все используемые про-
граммы могут содержать команды позиционирования только для
одной рабочей станции, например:
задача A управляет только осью X, задача B – только осью Y.

4.4. Синтаксис команд

Рассмотрим некоторые ограничения при программировании


SPC200.
Одна программа может содержать до 1000 NC-записей, т.е. до
1000 строк программы.
Общая емкость контроллера SPC200 до 2000 NC-записей.
Для пневматических осей класс точности позиционирования
(1 ... 6) задается в прикладных параметрах.
Коэффициенты скорости, ускорения и массовые коэффициен-
ты нагрузки изначально установлены в 100%. Эти значения дейст-
вуют по умолчанию и вступают в силу после включения SPC200 и
переустановки программы.

4.4.1. Структура программы


NC-запись состоит из номера записи и соответствующих пара-
метров, например,

N0010 G01 G90 X100.00 FX10 Y100.00 FY80


Здесь N0010 – номер записи, G01 – NC-команда, G90 – тип
позиционирования (дополнительно), X100.00 – позиция оси X,
35
FX10 – параметр позиции оси X, Y100.00 – позиция оси Y, FY80 –
параметр позиции оси Y.
Записи в WinPISA нумеруются произвольно, но в возрастаю-
щем порядке. Для автоматической нумерации используйте коман-
ду [Number] из меню [Edit].
Обратите внимание, что номера NC-записей загружаются и
сохраняются в SPC200, начиная с номера N000 с шагом 1, т.е.
N000, N001, N002 .... Команды перехода на указанные номера за-
писей адаптируются к новым номерам при компиляции программ.
Обращайте внимание на определения операторов перехода в реги-
страх (команды E05, #T, #TN, #TR).
Перечень идентификаторов, используемых при программиро-
вании NC-команд SPC200 дан в табл. .4.4.
Т а б л и ц а 4.4

Идентификатор Описание
N Идентификатор номера записи
Команда позиционирования или команда задания усло-
G
вий позиционирования
M Вспомогательная функция
E Безусловный переход
L Вызов подпрограммы
# Единичный бит и многобитовые операции
X, Y, Z, U Идентификаторы осей: Ось X, Ось Y, и т.д.
F Скорость движения
Идентификатор регистра позиции
@
Символическое задание позиции через регистр позиций
; Начало комментария распространяется до конца строки
. Десятичный разделитель

При программировании в WinPISA в качестве десятичного


разделителя используют точку, например, X300.50.
Адресация. Назначение диапазона адресов ввода-вывода зави-
сит от конфигурации SPC200. Если установлена полевая шина, то
диапазон адресов 0.0...0.9 не используется. Назначение адресов
ввода-вывода для конфигураций при наличии полевой шины и без
нее показано в табл. 4.5.

36
Т а б л и ц а 4.5

Конфигурация без Конфигурация с


Максимальный диапазон адреса
полевой шины полевой шиной
Первый модуль
* I0.0…I0.9* Q0.0…Q0.7*
ввода-вывода
Модуль ввода-вывода на первой
I1.0…I1.15 Q1.0…Q1.15
трассе интерфейса оси
Второй модуль Первый модуль
I2.0…2.9 Q2.0…Q2.7
ввода-вывода ввода-вывода
Модуль ввода-вывода на второй
I3.0…I3.15 Q3.0…Q3.15
трассе интерфейса оси
Третий модуль Второй модуль
I4.0…I4.9 Q4.0…Q4.7
ввода-вывода ввода-вывода
Четвертый мо- Третий модуль
I5.0…I5.9 Q5.0…Q5.7
дуль ввода-вывода ввода-вывода
Модуль полевой
** I10.0…I13.15** Q10.0…Q13.15**
шины
* Диапазон адресов не доступен при использовании полевой шины.
** Диапазон адресов не доступен без полевой шины.

Управляющие входы и выходы сохраняют свои функции, опи-


санные в руководстве по SPC200. Диапазоны адресов операндов
приведены в табл. 4.6.

Т а б л и ц а 4.6
Операнд Описание Диапазон адресов Диапазон значений
F Флаг* F0…F63 0/1
R Регистр* R0…R99 –32767...+32767
Регистр
Описание Номер Диапазон значений
позиции
Регистр до 100
@ @0 ... @99 –9999.98...+9999.99**
позиций на ось*

* Эти операнды сохраняются и при отказе питания.


** Значение -9999.99 резервируется как маркер для неиспользуемых регист-
ров позиций.

При пояснении синтаксиса для краткости в таблицах будут ис-


пользоваться символы, перечисленные в табл. 4.7.

37
Т а б л и ц а 4.7
Идентификатор Описание
n Групповой символ для числовых значений
<Операнд> Групповой символ для операндов (например, Q0.0)
Параметры в скобках определяются как альтернатив-
[]
ные или дополнительные*
Параметры, разделенные вертикальными линиями,
|
являются альтернативами
* Идентификаторы осей будут обозначаться в упрощенной форме: [Y.., Z.., U..].
Дополнительные параметры при этом опускаются.

Все NC-команды поддерживаются только в режиме Start/Stop.


В приводимых далее описаниях NC-команды, которые поддержи-
ваются в режиме выбора строки, помечаются следующим образом:
x Record selection (Режим выбора строки)
Пометка делается также тогда, когда описание относится к оп-
ределенным типам осей, например, Pneu. axis – команды, относя-
щиеся только к пневматическим осям, Step. axis – только к осям с
шаговыми двигателями. Если не дано никакого идентификатора
особого типа оси, то описание команды имеет силу для обоих ти-
пов осей.

4.4.2. Описание NC- команд для контроллера SPC200 *

Пневматическая ось
Движение в позицию с максимально возможной
G00
скоростью (от точки к точке)
x Режим выбора строки
Структура команды Nn G00 [G90|G91] Xn|X@n [X..,Y..,Z..,U..]
Xn Позиция в мм; n = ± 9999.99
Параметры
X@n Регистр позиций; n = 0...99
Указанные пневматические оси движутся от те-
кущих положений с максимальной скоростью до
указанных позиций, ссылки на которые даются в
абсолютных или относительных координатах (см.
Действие описания команд G90/G91).
Автоматически генерируемые значения скорости
и ускорения во избежание возникновения колеба-
ний ограничены максимальными величинами, оп-
ределенными при идентификации (см. рис. 4.8)

* Описание всех команд для удобства работ приведено в табличной форме.


38
N000 G00 G91 X100; Переместить ось X на 100 мм
; в положительном направлении.
N001 G00 G90 X@2; Переместить ось X в позицию,
; указанную в регистре 2.
N003 G00 X100 Y-100; Переместить ось X на100 мм
; в положительном направлении
Примеры ; и ось Y в отрицательном
; направлении.
N004 G00 X@5 Y@1; Переместить оси X и Y
; в позиции, указанные для оси X
; в регистре 5 и в регистре 1
; для оси Y

В начале выполнения команды будет установлен


режим позиционирования в абсолютных координатах
(G90).
Команда G00 остается зарезервированной пока не
будет отменена командой G02 или G01.
Пример: N000 G00 X100
N001 X200
Примечания
N002 G01 X300
При программировании в WinPISA позиции могут
быть определены и символически. Для этой цели зна-
чения положений и их имена вводятся в список пози-
ций.
Пример: N006 G00 X@ABHOL_POS
N007 X@ABLAGE_POS

Для выполнения команды G00 контроллером SPC200 форми-


руются законы изменения перемещения, скорости и ускорения,
обеспечивающие быстрый и безударный подход к позиции
(рис. 4.8, где 1 – график скорости; 2 – идентифицированная макси-
мальная скорость; 3 – максимальная скорость при выполнении ко-
манд G01, G02; 4 – график перемещения; 5 – график ускорения; 6 –
идентифицированное максимальное ускорение; 7 – максимальное
ускорение при выполнении команд G01, G02).

39
Рис. 4.8. Зависимости для выполнения команды G00 (пневматические оси)

Указанные максимальная скорость и ускорение принимаются к


исполнению только при позиционировании командами G01 и G02.

Шаговый двигатель
Движение в позицию с максимально возможной
G00
скоростью (от точки к точке)
x Режим выбора строки
Структура команды Nn G00 (G90|G91) Xn|X

Xn Позиция в мм; n = ± 9999.99


Параметры
X@n Регистр позиций; n = 0 ... 99
Шаговый двигатель перемещает оси от текущего
положения до заданного с максимальной скоростью и
максимальным ускорением. Позиции могут быть за-
Действие даны в абсолютных или относительных величинах,
см. описание команд G90/G91.
Примеры и примечания см. выше в описании ко-
манды G00 для пневматических осей

По команде G00 ось с шаговым двигателем перемещается сна-


чала с увеличением скорости до максимального значения, указан-
ного в прикладных параметрах, потом с постоянной скоростью.
При подходе к заданной позиции скорость уменьшается до нуля.
40
Интенсивность разгона и торможения определяется максимальным
ускорением, установленным в прикладных параметрах (рис. 4.9,
где 1 – график изменения скорости, 2 – максимальная скорость,
3 – график перемещения, 4 – график изменения ускорения,
5 – максимальное ускорение).

Рис. 4.9. Зависимости перемещения, скорости и ускорения для выполнения


команды G00 (оси с шаговыми двигателями)

G01
Движение в позицию с заданной скоростью
x Режим выбора строки
Структура команды Nn G01 [G90|G91] Xn|X@n FXn [Y..,Z..,U..]
Xn Позиция в мм; n = ± 9999.99
X@n Регистр позиций; n = 0 ... 99
FXn Скорость перемещения в % от
Параметры
максимальной специфици-
рованной скорости n = 0 ... 99
0 = 100%, 1 = 1 % ... 99 = 99%
Движение оси с указанной скоростью и ускоре-
нием от текущего положения до указанного, кото-
рые могут быть заданы в абсолютных или относи-
тельных величинах. Принятые зависимости для
изменения скорости показаны на рис. 4.10.
Действие
Для пневматических осей значения, указанные
для скорости и ускорения, автоматически ограни-
чиваются максимальными величинами, опреде-
ленными в течение динамической идентификации,
во избежание поломок.
41
G01
Движение в позицию с заданной скоростью
x Режим выбора строки
N000 G01 X100 FX10 ;Переместить ось X
; в позицию со скоростью
; 100 % от заданной
Примеры N001 G01 X@2 FX30; Переместить ось X
; в позицию, указанную
; в регистре 2, максимальная
; скорость 30 % от указанной
Время позиционирования:
при разгоне: t1 = v/a1, s1 = a1/(2t12), где v – ско-
рость, a1 – ускорение разгона, s1 – перемещение
при разгоне;
при торможении: t2 = v/a2, s2 = a2/(2t22), где a2 –
ускорение торможения, s2 – перемещение при
торможении;
движение с постоянной скоростью: s3 = s0 – (s1 +
+s2), t3 = s3/v, где s0 – общее перемещение пози-
ционирования.
В начале выполнения команды будут установлены:
– режим позиционирования в абсолютных ко-
ординатах (G90),
Примечания – ускорение разгона – 100% от максимального
(G08),
– ускорение торможения – 100% от максималь-
ного (G09).
Команда G01 остается зарезервированной пока
не будет отменена командой G00 или G02.
При программировании в WinPISA позиции мо-
гут быть определены и символически. Для этой
цели значения позиций и их имена вводятся в
список позиций.
Пример:
N005 G01 x@ABHOL_POS FX20
y@ABHOL_POS FY30
N006 x@ABLAGE_POS

Для команды G01 рекомендованы функции изменения скоро-


сти, показанные на рис. 4.10. Разгон производится до достижения
максимальной скорости движения, запрограммированной в FX или
FY. Перед достижением заданного положения происходит тормо-
жение. Крутизна скатов разгона и торможения определяется мак-
симально возможным для данной системы ускорением. Их наклон
может быть установлен программно независимо от друг друга ко-
мандами G09 и G08.
42
Рис. 4.10. Зависимости, формируемые для выполнения команды G01:
1 – график скорости, 2 – максимально возможная скорость, 3 – запро-
граммированная скорость, 4 – график перемещения, 5 – график уско-
рения, 6 – максимально возможное ускорение, 7 – запрограммирован-
ное ускорение для ската разгона (команда G08), 8 – запрограммиро-
ванное ускорение для ската торможения (команда G09)

Пневматическая ось

G02 Сглаженное движение в позицию


с заданной скоростью
x Режим выбора строки

Структура команды Nn G02 [G90|G91] Xn|X@n FXn [Y..,Z..,U..]


Xn Позиция в мм; n = ± 9999.99
X@n Регистр позиций; n = 0 ... 99
FXn Скорость позиционирования в %
Параметры
от максимальной специфициро-
ванной n = 0 ... 99
0 = 100%, 1 = 1 % ... 99 = 99%
В этом режиме пневматические оси разгоняются до
указанной скорости и тормозятся по так называемо-
му безударному закону, когда на графике ускорения
нет скачков (рис. 4.11). Позиции могут быть заданы
Действие
в абсолютных или относительных величинах. Мак-
симальное значение скорости автоматически огра-
ничивается предельным значением, установленным
при динамической идентификации

43
Пневматическая ось
Сглаженное движение в позицию
G02
с заданной скоростью
x Режим выбора строки
N010 G02 X90 FX0 ;Переместить ось X в позицию
;X90, максимальная скорость
;100% от указанной.
Примеры N011 G02 X@2 FX30;Переместить ось X в позицию,
; указанную в регистре 2,
;максимальная скорость 30%
;от указанной
Этот режим позволяет уменьшить вибрации в
процессе движения ползуна при разгоне и торможе-
нии.
В начале выполнения команды будет установлено:
– позиционирование в абсолютных координатах
(G90),
– ускорение разгона – 100% от максимального
(G08),
– ускорение торможения – 100% от максимально-
го (G09).
Примечания Команда G02 остается зарезервированной, пока не
будет отменена командой G00 или G01.
При программировании в WinPISA позиции могут
быть определены и символически. Для этой цели
значения позиций и их имена вводятся в список по-
зиций.
Пример:
N10 G02 x@ABHOL_POS FX20 x@ABHOL_POS
FY30
Расчет времени позиционирования был дан при
описании команды G01.

Команда G02 использует функции ускорения при разгоне и


торможении в виде кривых синусоидальной формы (рис. 4.11). Это
уменьшает резкие изменения в функциях перемещения и, следова-
тельно, вибрации ползунов. Как и команда G01, G02 увеличивает
скорость в соответствии с представленными графиками до дости-
жения скоростью заданного значения. Запрограммированные зна-
чения ускорения для разгона и торможения являются средними
величинами. Для достижения того же времени позиционирования,
44
что и при использовании команды G01, пиковые величины ускоре-
ния должны быть выше раза в два.

Рис. 4.11. Зависимости, формируемые командой G02: 1 – формируемая


функция скорости, 2 – максимально возможная скорость, 3 – запрограммирован-
ная скорость, 4 – формируемая функция перемещения, 5 – формируемая функция
ускорения, 6 – максимально возможное ускорение, 7 – запрограммированное
ускорение для ската разгона (команда G08), 8 – запрограммированное ускорение
для ската торможения (команда G09)

Шаговый двигатель
G02 Движение в позицию с частотой Start/Stop
x Режим выбора
строки
Структура команды Nn G02 [G90|G91] Xn|X@n FXn [Y..,Z..,U..]
Xn Позиция в мм; n = ± 9999.99
X@n Регистр позиций; n = 0 ... 99
Параметры FXn Зарезервировано, n = 0 ... 99
параметр должен быть специфици-
рован, но будет игнорироваться
Движение оси с шаговым двигателем с заданной
частотой Start/Stop от текущего положения до указан-
Действие
ного. Позиции могут быть заданы в абсолютных или
относительных величинах.
45
Шаговый двигатель
G02
Движение в позицию с частотой Start/Stop
x Режим выбора
строки
N010 G02 X90 FX0 ;Переместить ось X в позицию
;X90 с частотой Start/Stop.
N011 G02 X@2 FX30;Переместить ось X в позицию,
;указанную в регистре 2,
Примеры
;с частотой Start/Stop.
N012 X100 ; Переместить ось X в
; позицию 100 с частотой
;Start/Stop
Параметр F...n должен быть определен без синтак-
сических ошибок. Иначе его значение будет игнори-
роваться, поскольку движение осуществляется с час-
тотой start/stop. Параметры разгона и торможения,
определенные в командах G08 и G09, тогда также
будут игнорироваться.
В начале выполнения команды будет установлено:
позиционирование в абсолютных координатах (G90).
Примечания Команда сохраняется до тех пор, пока не отменяет-
ся командой G00 или G01.
При программировании в WinPISA позиции могут
также быть определены символически. Для этой цели
значения позиций и их имена вводятся в список пози-
ций.
Пример:
N10 G02 x@ABHOL_POS FX20 x@ABHOL_POS FY30

G04 Задержка времени

Структура команды Nn G04 Xn


Параметры n Время задержки в 10 мс; n = 1 … 9999
Переключение к операции, заданной в следующей
Действие NC-записи, произойдет только по истечении указан-
ного времени.
N010 G00 X100 ;Перейти в позицию X100
Пример N011 G04 250 ;Ждать 2,5 с
N012 G00 X200 ; Перейти в позицию X200

46
G08
x Режим выбора Ускорение разгона. Для команд G01 и G02
строки
Структура команды Nn G08 Xn [Y..,Z..,U..]
Xn Ускорение в % от определенного
Параметры максимального
n = 0 ... 99, 0 = 100 %, 1 = 1 % ...99 = 99 %
При выполнении указанных ниже команд позицио-
нирования разгон будет производиться с указанным
Действие здесь максимальным ускорением.
Для пневматических осей: G01 и G02
Для осей с шаговыми двигателями: G01
N020 G08 X50 Y50 ;Скат разгона = 50 %
N021 G01 X80 FX50 ;Движение в позицию X80
N022 G08 X0 ;Скат разгона – с
;максимальным ускорением
Пример
Здесь при перемещении в позицию X80 ось X сна-
чала будет иметь ускор ение в 5 0 % от заданного, за-
тем ускорение оси X будет переключено на макси-
мальное значение
Эта команда сохраняется и останется активной, по-
Примечание
ка не будут заданы новые параметры ската.

G09
x Режим выбора Ускорение торможения. Для команд G01 и G02
строки
Структура команды Nn G09 Xn [Y..,Z..,U..]
Xn Ускорение в % от определенного
Параметры максимального,
n = 0 ... 99, 0 = 100%, 1 = 1% ...99 = 99%
При выполнении указанных ниже команд позицио-
нирования торможение будет производиться с указан-
Действие ным здесь максимальным ускорением.
Для пневматических осей: G01 и G02
Для осей с шаговыми двигателями: G01
N000 G09 X50 ;Скат торможения = 50 %
N001 G01 X100 FX50 ;Движение в позицию X100
Пример N002 G01 X150 FX50 ;Движение в позицию X150
N003 G09 X0 ;Скат торможения – с
;максимальным ускорением
Примечание Эта команда сохраняется и останется активной, пока
не будут заданы новые параметры ската.

47
Переход на следующую строку программы в зави-
G25
симости от положения
Структура команды Nn G25 Xn [Y..,Z..,U..]
n Величина перемещения в % от пути
позиционирования, когда должен
Параметры
срабатывать данный переключатель,
0 = 100 %, 1 = 1 % ...99 = 99 %
Если ось, для которой запрограммирован такой
переключатель перемещается, то передача управле-
ния на следующую NC-запись будет выполнена
только тогда, когда путь оси достиг указанного про-
цента. После этого SPC200 будет обрабатывать сле-
дующие NC-записи уже для остальной части пути к
позиции назначения.
После этого могут использоваться все NC-
команды. Однако команды позиционирования не
должны требовать изменения направления.
Для осей с шаговыми двигателями: если сама
Действие команда G25 относится к оси с шаговым двигателем,
то следующие не должны относиться к той же самой
оси с шаговым двигателем.
Для систем с несколькими осями: программно
можно задавать значение для нескольких осей в
одной NC-записи. Эти величины для отдельных
осей будут иметь силу до тех пор, пока команда
позиционирования для соответствующей оси не
выполнена и значение не достигнуто.
Дальнейшие условия переключения нескольких
осей могут быть связаны командой позиционирова-
ния (см. ниже, пример 4).
Примеры См. ниже примеры 1 … 4.
Эта команда позволяет:
• для пневматических осей в процессе движения
в нужных положениях переключать скорость и ус-
корение;
• для оптимизированных по времени систем с
двумя осями обходить преграды.
Примечания
Если остановка произошла тогда, когда указанное
значение превышено и передано следующей NC-
записи, то будет достигнута позиция назначения.
Если остановка произошла прежде, чем достигну-
то указанное значение, то ось будет доведена до
позиции, указанной в данной команде

48
Замечания к переключению скорости/ускорения для пнев-
матических осей. Переход к новой скорости производится с теку-
щими значениями, установленными для ускорения разгона и тор-
можения. Автоматический контроль ускорения торможения и его
ограничение не осуществляется.
Предостережение. Нереально высокие значения ускорения
могут привести к большим колебаниям и повредить оси. Если Вы
используете команду G25, то удостоверьтесь, что устанавливаете
осуществимые значения ускорения для используемой оси и остав-
шейся части пути.

Если оставшейся части пути позиционирования не достаточно


для прибытия в пункт с заданной величиной ускорения торможе-
ния, то автоматически будет вызвана остановка (ошибка
nnn03x06). В этом случае передвиньте условие переключения или
установите более крутой скат торможения.
При использовании команды позиционирования G02 автома-
тическая остановка может быть вызвана тогда, когда условие для
переключения находится на стадии торможения. В этом случае
следует использовать команду G01 (формулы для вычисления см. в
руководстве пользователя по SPC200).
Пример 1. Изменение скорости (только пневматические оси).
N000 G00 X0
N001 G25 X60
N002 G01 X500 FX75
N003 G01 X500 FX50
На рис. 4.12 показан график изменения скорости в процентах
от установленной максимальной скорости, где Х = 300 мм – пози-

Рис. 4.12. Пример переключения скорости


(только для пневматических осей)
49
ция переключения для оси X. SPC200 уменьшает скорость от 75 до
50% от указанной максимальной скорости после покрытия 60%
расстояния от позиции 0 к позиции 500.
Пока система движется, переключение к самой высокой воз-
можной скорости NC-командой G00 не разрешается.
Пример 2. Переход, оптимизированный по времени (рис. 4.13).
N010 G00 X100 Y100
N011 G25 X50
N012 G00 X400
N013 G00 Y300

Рис. 4.13. Переход с оптимизацией по времени


X = 250 мм – перемещение оси Х, при котором
срабатывает переключатель

Здесь после преодоления 50% расстояния от позиции X100 к


позиции X400 контроллер оси передает управление процессам, за-
программированным в следующих NC-записях. Ось Y поэтому на-
чинает двигаться в позицию Y3 0 0 ,х отя о сь X еще не закончила
движение позиционирования.
Пример 3. Переключение на следующую запись в зависимо-
сти от события:

N010 G00 X0
N011 G25 X1
N012 G01 X500 FX60
N013 #TNI0.0 13
N014 G01 X500 FX10

50
Здесь после прохождения 1% пути позиционирования от X0 до
X500 SPC200 передает управление на NC-запись N013. По команде
в этой записи пауза длится до тех пор, пока не произойдет событие
(здесь это сигнал 1 на вх оде I0.0). Переключение осуществляется
только или по этому сигналу, или в том случае, когда в пр оцессе
позиционирования произошел переход к следующей задаче пози-
ционирования (здесь понижение скорости).
Если событие происходит после того, как была достигнута по-
зиция назначения, то следующая команда позиционирования в
этом пр имере не будет иметь никакого смысла, поскольку запро-
граммирована та же самая позиция назначения (X500).
Пример 4. Переключение по связанным условиям
N010 G01 X0 FX0 Y0 FY0 Z0 FZ0
N011 G25 X10 Y10 Z10
N012 G01 X100 FX10
N013 #SQ0.0
N014 G01 Y100 FY10 Z100 FZ10
N015 .......
В этой программе по команде N011 SPC200 сохраняет ука-
занные значения* для о сей X, Y и Z. По следующей NC-команде
перемещается только ось X. Когда она достигнет значения
preselect, указанного в команде N011, то будет установлен выход
Q0.0.
NC-запись N014 перемещает оси Y и Z. Переключатель к сле-
дующей NC-записи срабатывает, когда обе оси достигают значений
preselect, указанных в команде N011 (Логическое соединение «И»).
Если в дополнение к оси, для которой было установлено зна-
чение preselect, другие оси должны быть перемещены той же самой
NC-командой, то значение preselect на 100 % будет относиться и к
этим осям.
N015 G01 X0 FX0 Y0 FY0
N016 G25 X50
N017 G01 X200 FX0 Y200 FY0
N018 #SQ0.0

*
В оригинале эти значения называют preselect – предустановленные или зара-
нее установленные.
51
N019 .......
Здесь выход Q0.0 будет установлен тогда, когда ось Y достиг-
нет положения Y200, а ось X – указанного значения preselect (здесь
это X100).

G26, G27 Зарезервированы для следующих версий.

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


Nn G28 @n Xn [Y..,Z..,U..]
Структура команды или
Nn G28 @n X@n [Y..,Z..,U..]
@n Целевой регистр позиции; n = 0 ... 99.
Параметры Xn Позиция в мм; n = ± 9999.99.
X@n Исходный регистр позиции; n = 0 ... 99
Загружает значения позиции или регистра в целевой
Действие
регистр позиции
N010 G28 @0 X10 Y10 ; Загрузить значение 10
;в регистр позиций 0
;для осей X и Y
Пример
N011 G28 @1 X@99 ;Загрузить в регистр 1 для оси X
; значение из регистра позиций 99
; для оси X
Регистры позиций сохраняются в случае отказа пита-
ния. В конфигурации каждой оси имеются ее собствен-
Примечание
ные записи регистра позиций. Они хранят позиции, со-
держащиеся в списке позиций

G29 Добавление значения положения к значению в регистре


Nn G29 @n Xn [Y..,Z..,U..]
Структура команды или
Nn G29 @n X@n [Y..,Z..,U..]
@n Целевой регистр позиции; n = 0 ... 99.
Параметры Xn Позиция в мм; n = ± 9999.99.
X@n Исходный регистр позиции; n = 0 ... 99
Формирует сумму значения позиции и значения, уже
Действие имеющегося в регистре, или значений двух регистров и
хранит результат в целевом регистре
(Register @X10=20)
N010 G29 @10 X+10.5
Пример Величина 10.5 суммируется со значением, имеющим-
ся в регистре 10 оси X (здесь 20) и результат (30.5) за-
писывается в регистр позиции 10 оси X
Примечание Регистры позиций сохраняются в случае отказа пита-

52
ния. В конфигурации каждой оси имеются ее собствен-
ные записи регистра позиций. Они хранят позиции, со-
держащиеся в списке позиций
Пневматическая ось Установка режима точного останова (рис. 4.14,
где 1 – требуемое значение позиции, 2 – пределы
G60 допуска, 3 – продолжительность периода контро-
ля по длине цилиндра, 4 – истечение периода кон-
x Режим выбора строки троля, 5 – период контроля, 6 – MC-сигнал на
точный останов)
Структура команды Nn G60 X [Y, Z, U]
Параметры X Обозначение оси
Переключает на режим точного останова (класс
качества 3). Посылается MC-сигнал, если по исте-
Действие
чении времени наблюдения указанная ось все еще
находится в пределах допуска
N000 G60 X ; Активизация режима точного
; останова,
N001 X100 ; Движение в позицию X100
Например, если допуск равен 0.2 мм, то в про-
Пример
цессе движения к позиции 100 мм будет послан
сигнал MC при условии, что ось X в течение дли-
тельного времени остается в пределах допуска
(99.8 ... 100.2 мм)
Эта команда сохраняется и останется дейст-
вующей, пока командой G62 не будет установлен
Примечание
режим быстрого останова или командой G61 –
другой класс точности

53
Рис. 4.14. Установка режима точного останова
Пневматическая ось
G61 Установка класса точности.
x Режим выбора строки
Структура команды Nn G61 Xn [Yn]
Параметры Xn Класс точности, n = 0 … 6
MC-сигнал (движение выполнено) будет выдан
Действие только тогда, когда ось выполнила требуемые кри-
терии для заданного класса точности (см. рис. 4.14).
N005 G61 X1 ; Класс точности = 1, быстрый
;останов
N006 G00 X100 ; Перемещение в позицию 100 мм
N007 G60 X ; Установка режима точного
Пример ;останова
При перемещении в позицию X100 MC-сигнал
будет послан, когда ось входит в пределы допуска
(быстрый останов), тогда произойдет переключение
на режим точного останова
Эта команда сохраняется и останется действую-
Примечание щей, пока не будет установлен другой класс точно-
сти. Различные классы качества описаны в табл. 4.8

Т а б л и ц а 4.8
Класс
Тип точности Описание
Переключение набора прикладных параметров на
Задание 0
класс точности позиционирования (1...6)
Быстрый останов без контроля времени торможе-
1 ния. MC-сигнал посылается тогда, когда оси попада-
Быстрый ют в пределы допуска (рис. 4.15)
останов Быстрый останов с контролем времени торможе-
2 ния. MC-сигнал посылается тогда, когда оси попада-
ют в пределы допуска и истекло время торможения
Точный останов без контроля времени торможения.
3 MC-сигнал посылается тогда, когда оси попадают в
пределы допуска в течение времени контроля
Точный останов с контролем времени торможения.
MC-сигнал посылается тогда, когда оси попадают в
4 пределы допуска в течение времени контроля и пе-
Точный
риода торможения
останов Точный останов с контролем скорости окончания
процесса. MC-сигнал посылается тогда, когда указан-
5 ная ось попадает в пределы допуска и останавливает-
ся там в течение времени контроля
Точный останов с контролем скорости окончания
6
процесса. MC-сигнал посылается тогда, когда указан-
54
ная ось попадает в пределы допуска и останавливается
там в течение времени контроля и периода торможения
Длительность времени торможения и времени контроля опре-
деляется автоматически SPC200.

Пневматическая ось
Быстрый останов (рис. 4.15, где 1 – требуемое
G62 значение для позиции, 2 – пределы допуска, 3 –
достижение предела допуска, 4 – MC-сигнал на
x Режим выбора быстрый останов).
строки
Структура команды Nn G62 X [Y, Z, U]
Параметры X Обозначение оси
Переключает на режим быстрого останова. MC-
сигнал (движение выполнено) выдается, если ука-
Действие
занная ось попадает в пределы допуска первый раз
(см. рис 4.15).
N000 G60 X ; Активизация режима точного
;останова.
N001 G00 X200 ; Движение в позицию X200.
N002 G62 X ;Активизация режима быстрого
;останова.
N003 G00 X100 ;Движение в позицию X100.
Пример
N004 G00 X300 ;Движение в позицию X300.
При перемещении в позицию X100 MC-сигнал
(движение выполнено) будет послан тогда, когда
ось войдет в переделы допуска. После этого
SPC200 немедленно готов двигаться в позицию
X300.
Команда сохраняется и останется действующей,
Примечание пока не будет установлен режим точного останова
или другой класс точности.

55
Рис. 4.15. Быстрый останов
Шаговый двигатель Старт движения к опорной точке со ссылкой на
G74 режим (рис. 4.16, где 1 – стартовая позиция, 2 –
позиция, установленная как опорная точка, 3 –
x Режим выбора строки область переключения концевого и опорного пе-
реключателя)
Структура команды Nn G74 X [Y..,Z..,U..]
Параметры Xn Режим движения к опорной точке; n = 0 ... 4
Старт движения к опорной точке в указанном
Действие
режиме (см. рис. 4.16 и табл. 4.9)
N000 G74 X0 ; Установка текущей позиции
Пример
; в качестве опорной точки
Все позиции косвенно обращаются к опорной
точке. Точное положение точки переключения, на
Примечание
которую ссылается переключатель, зависит от
выбранного режима движения (табл. 4.9)

56
Рис. 4.16. Режим движения к опорной точке

Т а б л и ц а 4.9

Режим Описание

0 Установка текущей позиции в качестве опорной точки

Движение к указанной точке в отрицательном направлении до


1 срабатывания выключателя (REF) * с установкой её в качестве
опорной точки
Движение к указанной точке в положительном направлении до
2 срабатывания концевого выключателя (LIM) с установкой её в
качестве опорной точки
Движение к указанной точке в положительном направлении до
3 срабатывания выключателя (REF) с установкой её в качестве
опорной точки
Движение к указанной точке в положительном направлении до
срабатывания концевого выключателя, установленного на поло-
4
жительном направлении (REF) с установкой её в качестве опор-
ной точки

Подробные инструкции по выполнению перемещения к опор-


ной точке можно найти в руководстве по модулю шагового двига-
теля типа P.BE-SPC200-SMX-.

G90
x Режим выбора Установка режима абсолютных координат
строки
Структура
Nn G90 Xn|X@n [Y..,Z..,U..]
команды
Xn ; Позиция в мм, n = ± 9999.99
Параметры
X@n ; Регистр позиции, n = 0 … 99
Переключение на режим позиционирования в абсо-
лютных координатах и перемещение с текущей скоро-
стью и, если задано, с текущими параметрами разгона-
Действие торможения в указанную в абсолютных координатах
позицию. Все последующие позиции в программе будут
интерпретироваться как заданные в абсолютных коор-
динатах. Режим остается в силе, пока не будет установ-

*
О выключателях REF и LIM см. разд. 6 документации по контроллеру
SPC200.
57
лен другой (см. также описания команд G00, G01, G02)

G90
x Режим выбора Установка режима абсолютных координат
строки
N000 G00 G90 X200 ; Перемещение с максимально
; возможной скоростью в позицию
; X200, заданную в абсолютных
; координатах.
N001 X100 ; Перемещение с максимально
; возможной скоростью в позицию
; X100, заданную в абсолютных
; координатах.
Пример
N002 X@5 Y@1 ; Перемещение в позицию,
; указанную в регистре 5 и
; регистре 1.
N003 G90 Y100 ;Перемещение в позицию Y100,
; заданную в абсолютных
; координатах.
N004 G91 X100 ;Перемещение на 100 мм в
; положительном направлении
По умолчанию для позиций устанавливается режим
абсолютных координат.
Действие команды G90 останется в силе пока не бу-
дет отменено командой G91.
Пример: N010 G90 X100
N011 X200
Примечание
N012 G91 X300
При программировании в WinPISA позиции могут
быть определены и символически. Для этой цели значе-
ния позиций и их имена вводят в список позиций.
Пример N010 G00 x@ABHOL_POS y@ABHOL_POS
N011 x@ABLAGE_POS

G91
x Режим выбора Установка режима относительных координат
строки
Структура команды Nn G91 Xn|X@n [Y..,Z..,U..]
Xn ; Позиция в мм, n = ± 9999.99
Параметры
X@n ; Регистр позиции, n = 0 … 99
Переключение на режим позиционирования в отно-
сительных координатах и перемещение с текущей
Действие скоростью и, если задано, с текущими параметрами
разгона-торможения в указанную позицию. Все по-
следующие позиции в программе будут интерпрети-
58
роваться как относительные. Режим остается в силе,
пока не будет установлен другой (см. также описания
команд G00, G01, G02).
N000 G00 G91 X200 ; Относительное перемещение
; с максимально возможной
; скоростью на 200 мм.
N001 X100 ; Относительное перемещение
; с максимально возможной
; скоростью на 100 мм.
Пример N002 G90 X@5 Y@ ; Перемещение в позицию,
; указанную в регистре 5 и
; регистре 1
N003 G91 X-100 ;Перемещение на 100 мм
; в отрицательном направлении
N004 X200 ;Перемещение на 200 мм в
; положительном направлении
По умолчанию для позиций устанавливается режим
абсолютных координат
Действие команды G91 останется в силе пока не
будет отменено командой G90.
Пример: N010 G91 X100
N011 X200
Примечание
N012 G90 X300
При программировании в WinPISA позиции могут
быть определены и символически. Для этой цели зна-
чения позиций и их имена вводят в список позиций.
Пример: N013 G91 x@ABHOL_POS
N014 x@ABLAGE_POS

Программный останов работы (рис. 4.17, где 1 –


M00 внешне управляемый процесс, 2 – программный ос-
танов, 3 – продолжение работы программы)
Структура команды Nn M00

Параметры Нет
По команде M00 выполнение программы останав-
ливается и будет продолжено только после получения
Действие синхронизирующего сигнала. В режиме start/stop
ниспадающий фронт сигнала на входе SYNC_IA/IB
интерпретируется как синхронизирующий сигнал
N005 M00 ; Ждать SYNC сигнал
Пример
N006 G00 X100 ; Движение в позицию X100

59
В режиме start/stop эту команду используют для
Примечание синхронизации работы программы с другими устрой-
ствами

Рис. 4.17. Программный останов

M02 Конец подпрограммы

Структура команды Nn M02


Параметры Нет
Эта команда отмечает конец подпрограмм. Если
программа вызвана как главная, то эта команда будет
Действие
выполнена однажды. В этом случае программа долж-
на быть вызвана повторно.
Пример См. описание команды L и последующие примеры.
Примечание См. также описание команды M30.

M10 Активизация аналогового входа (рис. 4.18)

Структура команды Nn M10 Xn [Y..,Z..,U..]


Xn Коэффициент масштабирования в мм/В;
Параметры
n = 0.1...9999.9
Активизируется вход для ввода аналоговых вели-
чин. Различают пять режимов спецификации величин
аналогового входа. Нужный способ задается коман-
Действие
дой M13. По умолчанию устанавливается режим 0
(непрерывное отслеживание положения).
Использование коэффициента масштабирования
60
(мм/В) позволяет задать диапазон вводимых величин
(0 ... 10 В) (например, коэффициент, равный 20, уста-
навливает допустимый диапазон перемещения, рав-
ный 200 мм).
Пример Смотри в описаниях режимов
Контрольная точка для диапазона перемещения яв-
ляется нулевой точкой проекта. Определяя смещение
(команда M11), можно перемещать контрольную
точку (см. рис. 4.18).
Примечание В режимах 0 и 1 аналоговый вход должен быть де-
зактивирован командой M12 прежде, чем снова акти-
визирован командой M10.
Для осей с шаговыми двигателями: режимы 0 и
1 не поддерживаются

Предостережение. Аналоговый режим 0 или 1 не предполагает


контроля MC. Поэтому если он активизирован несколько раз в тече-
ние короткого времени, двигатели могут далее начать двигаться от
их текущего положения. Избежать такой ошибки можно, програм-
мируя «zero stroke» (дословно «нулевой удар») (G00 G91 X0).

Рис. 4.18. Коэффициент масштабирования и смещение для


спецификации аналоговых величин: 1 – нулевая точка проекта;
2 – длина системы измерения; 3 – коэффициент масштабирова-
ния 30, смещение 100; 4 – коэффициент масштабирования 30,
смещение 0; 5 – коэффициент масштабирования 10, смещение 0

61
Команда M12 может использоваться для того, чтобы снова де-
зактивировать аналоговый канал. Автоматически дезактивиро-
вание происходит в следующих случаях: при управляемой оста-
новке, если выход не активизирован (запрос ENABLE, сигнал 0).
Если после остановки все еще есть сигнал 1 на соответствую-
щем выходе или нет разрешающего сигнала, то аналоговый канал
снова будет автоматически активизирован.
Примеры. Режим 0. Непрерывное отслеживание положения.

N010 M11 X100 ; Смещение для значений с аналогового входа 100 мм
N011 M13 X0 ; Установка режима 0, непрерывное движение
N012 M10 X30 ; Активизация аналогового входа
; коэффициент масштабирования = 30 мм/V
N013 #TNI0.0 013 ; Ждать, пока I0.0 выдаст сигнал 1
N014 M12 X ; Дезактивизация аналогового входа
....
....
N020 M30 ; Конец программы с повторным вызовом

В этом примере аналоговый вход остается активным до тех


пор, пока вход I0.0 выдает сигнал 0. Если этот вход выдаст сигнал
1, то программа будет продолжена с команды N014 и аналоговый
вход будет деактивирован.
Режим 3. Аналоговый ввод значения опорной точки без отсле-
живания ската.
N001 M11 X100 ; Смещение для значений с аналогового входа 100 мм
N002 M13 X3 ; Установка режима 3, однократное движение
N003 G01 G91 X0 FX30 ; Перемещения относительно 0 мм
; Скорость позиционирования 30% от максимальной
N004 G61 X1 ; Быстрый останов
N005 M10 X30 ; Коэффициент масштабирования = 30. Однократное
; перемещение в позицию, предопределенную
; аналоговым сигналом
N006 G00 X300 ; Перемещение в позицию X300
.....
.....
N020 M30 ; Конец программы с повторным вызовом

Поскольку скорость может быть задана при помощи команд


G02 и G01, то в примере и запрограммировано движение относи-
62
тельно 0 мм (см. строку N003). Скат скорости задан в этом опера-
торе только с этой целью и не сопровождается процессом пози-
ционирования.

Смещение для значения с аналогового входа


M11
(рис. 4.18)
Структура коман-
Nn M11 Xn [Yn]
ды
Xn Смещение в мм; n = ± 9999.99
Параметры –ML < n < ML (ML длина измеряющей
системы)
Соответствует назначенному отношению напряже-
Действие
ние/положение (см. рис. 4.18)
См. примеры для команды M10
Пример
Заданная по аналоговой спецификации опорная
точка становится нулевой точкой проекта. Определяя
Примечание смещение, можно сдвинуть опорную точку.
Команда M11 должна быть обработана до команды
M10

M12 Дезактивизация аналогового ввода

Структура команды Nn M12 X [Y, Z, U]

Параметры X Обозначение оси


Останов перечисленных осей, отмена активирован-
ных команд G00, G01, G02, M10 и прямого задания
Действие напряжения на пропорциональный клапан
Ввод данных по аналоговому каналу дезактиви-
руется
Пример См. примеры для команды M10.
В режимах 0 и 1 аналоговый вход должен быть де-
Примечание зактивирован командой M12 прежде, чем активиро-
ван снова командой M10

Установка режима позиционирования


M13
по аналоговому входу
Структура команды Nn M13 Xn [Y..,Z..,U..]
Xn Режим; n = 0...4
Параметры
Описание см. в табл. 4.10.
63
Действие Переключение на указанный режим.

Пример См. выше примеры для команды M10

Т а б л и ц а 4.10

Тип Режим Описание


Этот режим поддерживается только для
пневматических осей:
– непрерывный контроль позиции,
0* – контроль по MC-сигналам (движение
выполнено),
– непрерывно параллельно работающая
Отслеживание программа, обрабатывающая варианты
Этот режим поддерживается только для
пневматических осей:
– непрерывный контроль позиции,
1*
– контроль по MC-сигналам выключен,
– непрерывно параллельно работающая
программа, обрабатывающая варианты
Текущее значение величины читается од-
нажды, движение с максимальной скоростью
2 (как для G00).
Только для пневматических осей: активен
текущий класс точности (см. команду G61)
Текущее значение величины читается од-
нажды, движение с заданными параметрами
3** (как для G01).
Только для пневматических осей: активен
Однократное текущий класс точности (см. команду G61)
позициониро-
Текущее значение величины читается од-
вание
нажды.
Только для пневматических осей: сгла-
женное движение с текущими параметрами
разгона-торможения (как для команды G02),
4**
активен текущий класс точно сти (см. ко-
манду G61)
Только для осей с шаговыми двигателями:
движение в позицию с частотой start/stop
(см. команду G02)

* В этом режиме не учитываются класс точности позиционирования и пау-


за при позиционировании. Этот режим не поддерживает оси с шаговыми
двигателями.

64
** В этом режиме имеют силу параметры разгона-торможения, установ-
ленные командами G08 и G09, а также последняя запрограммированная ско-
рость.
Назначение аналогового входа (Установка соответ-
M14
ствия между осями и аналоговыми входами)
Структура команды Nn M14 Xn [Y..,Z..,U..]

Параметры Xn Номер дифференциального входа; n = 1 .. .4


Модуль аналогового входа типа SPC200-2AI-U име-
ет два дифференциальных входа.
Модуль номер 1: ввод данных со входов 1 и 2.
Действие
Модуль номер 2: ввод данных со входов 3 и 4.
Командой M14 одна или несколько осей могут быть
назначены на любой дифференциальный вход
N007 M14 X2 U1 ; Ось X назначена на вход 2,
Пример
; ось U назначена на вход 1

M30 Конец программы и её повторный вызов

Структура команды Nn M30


Параметры Нет
Эта команда отмечает конец программ. Она также
Действие производит повторный запуск программы с первой
NC-записи
N007 G00 X100 ; Перемещение в позицию X100
Пример
N008 M30 ; Окончание программы
Конец подпрограммы см. M02
Примечание

Пневматические оси
Установка процента массы
M37
Структура команды Nn M37 Xn [Y..,Z..,U..]
Xn Учитываемая масса груза в % от указанно-
Параметры го рабочего груза, n = 0 ... 99; 0 = 100%, 1 =
1%…99 = 99%
Настраивает контроллер на указанную нагрузку
Действие
для указанной оси
N010 M37 X50 ; Нагрузка 50% от указанной рабо-
Пример
чей
Рабочая нагрузка – это прикладной параметр.
Примечание Данная команда сохраняется и остается в силе для
различных рабочих нагрузок.

65
Если Вы хотите использовать эту NC-команду, то
рекомендуется предварительно выполните динами-
ческую идентификацию с минимальной и макси-
мальной рабочей нагрузкой

M38 Загрузка текущего положения в регистр позиций

Структура команды Nn M38 @n X [Y, Z, U]


Параметры @n Номер регистра, n = 0 … 99
Текущее положение загружается в указанный ре-
Действие
гистр позиций
N003 G00 G91 X100 ; Относительное перемещение
;на 100 мм
N004 M38 @1 X ; Загрузка текущего положения
; в регистр 1 для оси X
N005 G29 @0 X@1 ; Сформировать сумму из двух
Пример
; положений, хранящихся
; в регистрах 0 и 1, результат
; записать в регистр 0
N006 G00 G90 X@0 ; Перемещение в позицию,
; хранящуюся в регистре 0

M39 Зарезервировано для дальнейшего использования

L Вызов подпрограммы (загрузка подпрограммы)


Nn Ln
Структура команды или
Nn LRn
n Номер программы, n = 0 … 99
Параметры
Rn Номер регистра, n = 0 … 99
Получение доступа к данной программе как к под-
Действие
программе
Пример См. ниже
Номер программы может быть определен непосред-
Примечание ственно (n) или косвенно через регистр (Rn). Глубина
вложенности – до 4

Пример. Заполнение поддона (рис. 4.19).


Program 0
N003 G28 @1 X200 ; Загрузка верхнего ряда поддона
N004 G28 @2 X50 ; Запись в регистр позиций расстояния
; между рядами
66
N005 #LR0=0 ; Инициализация номера ряда
; (запись значения в регистр 0)
N006 L1 ; Вызов программы 1
N007 #AR0=1 ; Обновление счетчика колонок
; (добавление 1 к значению в регистре 0)
N008 #TR0=0 10 ; Колонка заполнена?
N009 E05 6 ; Идти на выполнение оператора N006
N010 .... ; последующие операторы
....
N080 M30 ; Конец программы
Подпрограмма 1. Заполнение ряда поддона
N000 #TNI0.0 0 ; Ждать разделения
N001 G00 X0 ; движение в позицию 0 мм
N002 #SQ0.0 ; Закрыть захваты
N003 G00 X@1 ; Движение в позицию поддона
N004 #RQ0.0 ; Открыть захваты, вкладывание детали
N005 G29 @1 X@2 ; Вычислить следующее положение
N006 .... ; последующие операторы
....
N016 M02 ; Конец подпрограммы

Рис. 4.19. Заполнение поддона: 1 – расстояние между рядами, 2 – позиции

Регистр позиций @1 содержит текущее положение поддона,


@2 – расстояние между рядами. Эти регистры инициализируются в
операторах N003 и N004 программы 0.
67
Регистр R0 служит для организации цикла до заданного коли-
чества рядов. К подпрограмме 1 обращаются 6 раз, после чего те-
кущий промежуток поддона заполняется.

E05 Безусловный переход на строку

Структура команды Nn E05 n|Rn


n Номер записи NC-программы n = 0 ... 99999
Параметры
Rn R<Номер регистра> Rn = R0 ... R99
Эта команда передает управление указанному опе-
Действие
ратору программы
N005 #TNI1.1 5 ; Ждать с сигнала 1 со входа I1.1
N006 G00 X100 ; Движение в позицию X100
N007 E05 5 ; Переход на выполнение
Пример
;оператора N005
В NC-записи 7 дается команда всегда переходить к
NC-записи 5

#S Установка однобитового операнда


Структура команды Nn #S<Operand>
<Operand> Разрешенные операнды – однобито-
вые, но не входы. Флаги: F0 ... F63
Параметры
Выходы: все свободно программиру-
емые
Действие Устанавливается данный однобитовый операнд
N10 #SQ0.0 ; Установка выхода Q0.0
Пример После того, как этот оператор проработает выход
Q0.0, будет выдать сигнал 1
За некоторыми выходами резервируются ранее ус-
Примечание
тановленные функции. Флаги остаются

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


Структура команды Nn #R<Operand>
<Operand> Разрешенные операнды – однобито-
вые, но не входы. Флаги: F0 ... F63
Параметры Выходы: все свободно программи-
ру-
емые
Действие Устанавливается данный однобитовый операнд

68
N10 #RQ0.0 ; Сброс выхода Q0.0
Пример После того, как этот оператор проработает выход
Q0.0, будет выдан сигнал 0
За некоторыми выходами резервируются ранее ус-
Примечание
тановленные функции. Флаги остаются

#T Тест однобитового операнда на сигнал 1


Структура команды Nn #T<Operand> <Record number>
<Operand> Разрешенные все однобитовые
операнды. Флаги: F0 ... F63
Выходы: все доступные
<Record number> Спецификация номера записи
Параметры в числовом виде или в виде
номера регистра.
<Record number> = 0 ... 999
или
<Record number> = R0 ... R99
Если однобитовый операнд выдает сигнал 1, то про-
Действие грамма перейдет на выполнение указанной NC-записи.
Иначе будет выполняться следующая NC-запись
Пример См. ниже
Примечание См. также команду #TR – тест регистра

Пример. В этом примере используется режим start/stop. Номе-


ра позиций в виде двоичного кода посылаются в SPC200 через
входы I0.0 и I0.1. Это позволяет задать четыре номера позиций:

I0.1 I0.0 Позиции


0 0 Po_1
0 1 Po_2
1 0 Po_3
1 1 Po_4

В начале программы используется программный останов для


того, чтобы синхронизировать SPC с главным компьютером.
SYNC-сигнал позволяет также управлять одновременно выходами
SPC для двоичных кодов позиций. Для этой цели задана задержка
30 мс в NC-записи 1.

N000 M00 ; Ожидание сигнала SYNC


N001 G04 3 ; Ожидание 30 мс
N002 #TI0.1 8 ; Если I0.1 выдает сигнал 1, то позиция
69
; Po_3 или Po_4, идти на N008
N003 #TI0.0 6 ; Если I0.0 выдает сигнал 1, то позиция
; Po_2, идти на N006
N004 G00 X@Po_1 ; Раз оба входа выдают 0, то позиция Po_1
N005 E05 0 ; Переход на оператор N000 (Перезапуск)
N006 G00 X@Po_2 ; Сигнал 1 только на I0.0, позиция Po_2
N007 E05 0 ; Переход на оператор N000 (Перезапуск)
N008 #TI0.0 11 ; Если I0.0 выдает сигнал 1, то позиция
; Po_4, идти на N011
N009 G00 X@Po_3 ; Сигнал 1 только на I0.1, позиция Po_3
N010 E05 0 ; Переход на оператор N000 (Перезапуск)
N011 G00 X@Po_4 ; Раз оба входа выдают 1, то позиция Po_4
N012 E05 0 ; Переход на оператор N000 (Перезапуск)

#TN Тест однобитового операнда на сигнал 0

Структура команды Nn #TN<Operand> <Record number>


<Operand> Разрешенные все однобитовые
операнды. Флаги: F0 ... F63.
Выходы: все доступные
<Record number> Спецификация номера записи
Параметры
в числовом виде или в виде
номера регистра.
<Record number> = 0 ... 999
или <Record number> = R0 ... R99
Если однобитовый операнд выдает сигнал 0, то про-
Действие грамма перейдет на выполнение указанной NC-записи.
Иначе будет выполняться следующая NC-запись
N030 #TNI0.0 30 ; Ждать до тех пор, пока I0.0
Пример
; не выдаст сигнал 0

#LR Загрузка регистра: записать значение в регистр

Структура команды Nn #LR<Register number>=n


<Register number> Номер регистра = 0 ... 99
n Значение или регистр:
Параметры
n = - 32767 ... 32767
или n = R0 ... R99

70
В регистр загружается или значение n или значе-
Действие
ние из регистра, на который указывает n
N011 #LR1=100 ;Запись значения 100 в регистр
Пример
R1
Примечание Registers are remanent. Регистры остаются

#AR Добавить значение к значению в регистре

Структура команды Nn #AR<Registernummer>=n


<Register number> Номер регистра = 0 ... 99.
n Значение или регистр:
Параметры
n = - 32767 ... 32767
или n = R0 ... R99
К содержанию регистра добавляется или значение n
Действие
или значение из регистра, на который указывает n
N010 #LR0=0 ; Обнуление регистра R0
Пример N011 #AR0=1 ; Приращение значения
; в регистре R0 на 1
Примечание Registers are remanent. Регистры остаются

#TR Тест регистра: сравнить значение в регистре

Структура команды Nn #TR<Register number>=n <Record number>


<Register number> Номер регистра = 0 ... 99
n Значение или регистр:
n = - 32767 ... 32767
Параметры или n = R0 ... R99
<Record number> Значение или регистр.
<Record number> = 0 ... 999
или <Record number> = R0 ... R99

Если регистр содержит заданное значение, то


Действие
управление передается на NC-запись с номером n
N10 #TR0=100 350 ; Если значение в регистре 0 = 100,
Пример ; то управление передается
; на NC-запись 350

4.5. Проверка программ

71
Программы нужно проверять на отсутствие синтаксических
ошибок. Пакет WinPISA позволяет производить:
• проверку отсутствия или неправильного синтаксиса записей,
• исправление командных слов,
• исправление структуры записей,
• проверку символических идентификаторов,
• проверку диапазонов значений.
Для проверки синтаксиса в программах выполните следующие
действия.
1. Удостоверьтесь, что окно программы, которую нужно ком-
пилировать активно.
2. Выберите команду [Syntax check] в меню [Compile]
или щелкните кнопку «Syntax check».
3. Процесс проверки синтаксиса будет демонстрироваться в
окне «Compile». Подождите, пока процедура проверки не выпол-
нится полностью.
4. Щелкните Ok в окне «Compile» для подтверждения оконча-
ния проверки.
5. Проверьте окно сообщений. Если есть сообщения об ошиб-
ках, то исправьте их и повторите операцию.
Результаты синтаксического контроля появляются в окне со-
общений (рис. 4.20).

Рис. 4.20. Проверка синтаксиса

Показываемые сообщения всегда начинаются с номера про-


граммы и строки, в которой допущена ошибка. При наличии
ошибки описывается её тип. Если ошибок не обнаружено, то выда-
ется сообщение «No errors» (ошибок нет).

72
Если Вы дважды щелкаете на линии в окне со общения
(рис. 4.21), то откроется соответствующее окно программы и кур-
сор будет расположен на линии, в которой имеется ошибка.

Рис. 4.21. Окно сообщений


Табл. 4.11 содержит список всех возможных сообщений в ал-
фавитном порядке.
Т а б л и ц а 4.11
Сообщение Описание/Способы устранения
В компиляторе предусмотрено предельное ко-
личество ошибок, после обнаружения которых
Compilation aborted.
компиляция прекращается, так как сообщения о
Too many errors.
них больше некуда записывать. Данное сообще-
Компиляция прервана.
ние и говорит о возникновении такой ситуации.
Слишком много ошибок
Исправьте ошибки, сообщения о которых вы-
даны, и повторите процесс компиляции
Компилятор не может прочитать файл, необ-
Input file cannot be
ходимый для компиляции.
read (fatal error)
Проверьте Windows System Resources (ресур-
Входной файл не может
сы ОС Windows). Закройте приложения, которые
быть прочитан (фаталь-
Вам не нужны. Проверьте Ваш жесткий диск на
ная ошибка)
наличие ошибок
Файл программы, который нужно компи-
лировать не соответствует формату WinPISA.
Возможно, файл имеет дефект или он был обра-
Invalid program type.
ботан другим редактором.
Недействительный тип
Откройте окно программы и сохраните про-
программы
гр амму. Если файл открыть не удается, то Вы
должны его удалить, используя File Manager
(менеджер файлов), и снова создать его в WinPI-
SA
No error
В программе нет синтаксических ошибок
Ошибок нет
Non-permitted channel В команде M14 после идентификатора оси Вы
for analogue nominal value. указали неразрешенный канал для номинального
Неразрешенный канал аналогового сигнала.
для номинального анало- Разрешенные каналы: 1 ... 4
гового сигнала
Non-permitted com- Вы использовали одну из команд M10, M11,
mand. Analogue module M13 или M14 со ссылкой на аналоговый вход.
73
is not present. Однако в Вашем проекте никакой модуль для
Неразрешенная команда. такой ссылки не был сконфигурирован в SPC200
Несуществующий анало-
говый модуль
Вы определили недействительный флаг в од-
ной из команд #S .., #R .., #T .., #TN .. (установка,
Non-permitted Flag. переустановка или тест на сигналы 1 или 0 од-
Неразрешенный флаг нобитового операнда).
Имеют силу флаги: FX0 … FX99 [FY] (от 0 до
100 % от максимальной заданной скорости)

Продолжение табл. 4.11


Сообщение Описание/Способы устранения
Вы определили недействительный адрес входа
Non-permitted input. в одной из команд #T … , #TN … (проверка од-
Неразрешенный вход нобитового операнда на сигнал 1 или 0).
Разрешенные адреса см. с. 69, 70
Not enough memory for Проверьте Windows System Resources (Ресур-
scanner. сы ОС Windows) и закройте приложения, кото-
Недостаточно памяти рые Вам не нужны. Если необходимо перезагру-
для сканера зите Windows
Not enough memory for Проблема во внутреннем управлении памятью.
the Opcode table. Проверьте Windows System Resources (Ресур-
Не достаточно памяти сы ОС Windows) и закройте приложения, кото-
для таблицы кодов опе- рые Вам не нужны. Если необходимо, перезагру-
раций зите Windows
Non-permitted mode for
Вы определили неправильный режим позицио-
analogue reference value.
нирования по аналоговому входу в команде M13
Неразрешенный режим
Имеют силу режимы: X0.. X4 [Y]
позиционирования по
аналоговому входу
Non-permitted mode for В команде G74 после идентификатора оси Вы
reference travel. задали неразрешенный режим движения к за-
Неразрешенный режим дающей точке.
движения к задающей точке Разрешенные режимы: 0 .. 4
Вы определили недействительный адрес выхо-
Non-permitted output. да в одной из команд работы с однобитовыми
Неразрешенный выход операндами #S .. , #R.. , #T .. , #TN .. .
Разрешенные адреса см. с. 68 … 70
Вы определили неправильный процент в ко-
Non-permitted per cent
манде G08, G09 или M39 (ускорение разгона или
specification.
торможения, M39 – резервировано для после-
Неразрешенный про-
дующих расширений).
цент на спецификацию
Разрешенный диапазон: 0 … 99 (от 0 до 100 %)
Non-permitted position Вы определили неверный номер регистра по-
register value. зиции в команде позиционирования.

74
Неразрешенное значе- Разрешенные регистры позиций: X@0.. X@99 [@Y]
ние регистра позиции
Non-permitted quality Вы определили недействительный класс точ-
class. ности в команде G61.
Неразрешенный класс Разрешенные класс качества: 0 … 6
точности
Вы определили недействительный номер реги-
Non-permitted register
стра в одной из команд L .. , #LR .. , #T .. , #AR ..
value.
(вызов подпрограммы, загрузка, тест, добавление
Неразрешенное значе-
значения в регистр).
ние регистра
Разрешенные регистры: R0.. R99

Сообщение Описание/Способы устранения

Non-permitted scaling В команде M10 при активизации аналогового


value. входа Вы задали неправильный коэффициент
Неразрешенное значе- масштабирования.
ние коэффициента мас- Разрешенный диапазон: 0.1 .. 9999.9
штабирования
Non-permitted speed Вы задали невозможную скорость в одной из
value. команд позиционирования G01, G02.
Неразрешенное значе- Разрешенный диапазон: FX0.. FX99 [FY] (от 0
ние скорости до 100% от заданной максимальной скорости).
Non-permitted time value. Вы задали неверную величину задержки вре-
Неразрешенное значе- мени в команде G04.
ние времени Разрешенный диапазон: 0 … 9999
В программе превышено максимально допу-
Number of records too
стимое количество записей – 1000. Опти-
large.
мизируйте Вашу программу или разделите её на
Слишком большое ко-
две, выделив часть и оформив её как подпро-
личество записей
грамму
Файл, необходимый для компиляции не может
Object file cannot be быть записан.
written. Проверьте Windows System Resources (Ресур-
Не удается записать сы ОС Windows). Закройте приложения, которые
объектный файл Вам не нужны. Проверьте Ваш жесткий диск на
наличие ошибок
Файл, необходимый для компиляции, не мо-
Output file cannot be жет быть записан.
written (fatal error) Проверьте Windows System Resources (Ресур-
Не удается записать сы ОС Windows). Закройте приложения, которые
выходной файл Вам не нужны. Проверьте Ваш жесткий диск на
наличие ошибок
Проблема во внутреннем управлении памятью.
Parser Stack overflow.
Проверьте Windows System Resources (Ресур-
Анализатор стека пере-
сы ОС Windows) и закройте приложения, кото-
полнен
рые Вам не нужны. Если необходимо, перезагру-

75
зите Windows
Position list file cannot Файл смена позиций не может быть прочитан.
be read (fatal error). Проверьте Windows System Resources (Ресур-
Файл списка позиций не сы ОС Windows). Закройте приложения, которые
читается (фатальная Вам не нужны. Проверьте Ваш жесткий диск на
ошибка) наличие ошибок
Position value ex- Вы задали значение позиции, большее, чем ука-
ceeded/not reached. зано в конфигурации системы измерений или
Значение позиции пре- длина цилиндра в одной из команд позициониро-
высило допустимое или вания G00, G01, G02. Это значение может быть
недостижимо задано в операторе или в списке позиций

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


Сообщение Описание/Способы устранения
Файл, необходимый для компиляции, не
Program file cannot be read
может быть прочитан.
(fatal error).
Проверьте Windows System Resources
Файл программы не может
(Ресурсы ОС Windows). Закройте приложе-
быть прочитан (фатальная
ния, которые Вам не нужны. Проверьте
ошибка)
Ваш жесткий диск на наличие ошибок
Вы превысили предел для регистра в од-
Range limit exceeded.
ной из команд #LR .. , #TR .. , #AR (загруз-
Выход за пределы допусти-
ка, тест, добавление в регистр). Диапазон: -
мого диапазона
32767 … 32767
В Вашей программе есть место, где но-
Record number is not ascend-
мера записей не возрастают.
ing.
Проверьте нумерацию записей или при-
Номер записи не возрастает
мените автоматическую нумерацию
Specify unknown jump desti- В программе есть команда Go To, указы-
nation. вающая переход на запись с несуществую-
Задан несуществующий но- щим номером. Проверьте нумерацию запи-
мер в операторе перехода сей программы и оператор Go To
Указанная в сообщении NC-запись не
Syntax error. соответствует синтаксическим правилам.
Синтаксическая ошибка Проверьте запись и приведите ее в соот-
ветствии с правилами
Указанная NC-запись содержит недопус-
Unknown character.
тимый символ. Допустимы символы: ла-
Недопустимый символ
тинские буквы, цифры и знаки « + - . ; # @»
Unknown symbol or designa- NC-слово не соответствует синтаксису
tor. команды и не содержится в списке пози-
Недопустимый символ или ций. Исправьте команду или символ из
обозначение списка позиций
User break.
Вы отменили компиляцию
Процесс прерван пользователем

76
4.6. Компиляция программ
В процессе компиляции программы, список позиций и уста-
новки системы преобразуются во внутреннюю систему команд
контроллера SPC200. Так готовятся данные для SPC200, и в такой
форме они могут быть разгружены в SPC200.
Если в программы, список позиций или установки были внесе-
ны какие-либо изменения, то перед компиляцией нужно их сохра-
нить.
При компиляции автоматически проверяется синтаксис про-
грамм. Любые найденные синтаксические ошибки будут показаны,
и компиляция будет прервана. В этом случае исправьте ошибки и
повторите компиляцию.
В контроллер SPC200 могут быть загружены только програм-
мы без ошибок.
Компилирование текущей программы. Вы можете откомпили-
ровать отдельную программу в процессе её редактирования в окне
программы.
Для этого выполните следующие действия:
1. Удостоверьтесь, что окно программы, которую нужно ком-
пилировать активно.
2. Дайте команду Save из меню File или щелкните на
кнопке Save active window, чтобы сохранить модифика-
ции.
3. Дайте команду Program из меню Compile или
щелкните на кнопке Compile program.
4. Прогресс компиляции будет показываться в окне Compile.
Подождите, пока он полностью не закончится.
5. Щелкните Ok в окне Compile для подтверждения окончания
проверки и компиляции.
6. Проверьте окно сообщений. Если есть ошибки, их нужно
исправить и повторить компиляцию. Если Вы дважды щелкните на
сообщении об ошибке, то WinPISA откроет нужную программу и
установит курсор на строку программы, содержащую ошибку.
Компилирование нескольких программ. Вы можете выбир ать
одну или несколько программ, окна которых не открыты для одно-
временной компиляции.
Для указания компилируемых программ выполните следую-
щие действия:
77
1. Дайте команду Programs из меню Compile или щелкните на
кнопке Compile selected programs.
2. Выберите одну или несколько программ из списка Program
list project в диалоговом окне Program list (рис. 4.22) или устано-
вите маркер в окошке All, чтобы указать, что выбр аны все про-
граммы.
3. Для начала компиляции щелкните кнопку Compile.
4. Прогресс компиляции показывается в окне Compile. Подож-
дите, пока процесс не закончится.
5. Щелкните Ok в окне Compile для подтверждения окончания
проверки и компиляции.

Рис. 4.22. Компиляция программ

6. Проверьте окно сообщений. Если есть ошибки, их нужно


исправить и повторить компиляцию. Если Вы дважды щелкните на
сообщении об ошибке, то WinPISA откроет нужную программу и
установит курсор на строку программы, содержащую ошибку.
Компилирование всего проекта. Для того чтобы приготовить
все компоненты пр оекта для загр узки в SPC2 0 0дайте команду
Compile project. Эта команда подсоединит к программам и список
позиций, и параметры системы, и конфигурацию осей.
Программы и список позиций должны быть предварительно
сохранены командой Save.
Для компиляции всего проекта выполните следующие дейст-
вия.

78
1. Сохраните проект, используя команду Save project в меню
File.
2. Выберите Project от Compile меню или щелкните
на кнопке Compile project.
3. Прогресс компиляции показывается в окне Compile. Подож-
дите, пока процесс не закончится.
4. Щелкните Ok в окне Compile для подтверждения окончания
проверки и компиляции.
5. Проверьте окно сообщений. Если есть ошибки, их нужно
исправить и повторить компиляцию. Если Вы дважды щелкните на
сообщении об ошибке, то WinPISA откроет нужную программу и
установит курсор на строку программы, содержащую ошибку.
4.7. Загрузка программы в SPC200 и её запуск

Производить загрузку программы в SPC200 нужно после её


любой модификации в WinPISA.
Предварительно программы должны быть компилированы и не
содержать ошибок. Контроллер SPC200 должен быть связан с ком-
пьютером.
Для загрузки программы в SPC200 выполните следующие дей-
ствия:
1. Для активизации диалогового режима дайте коман-
ду Online mode из меню Online или щелкните на кнопке
Online mode on на панели инструментов.
2. Дайте команду Programs из меню Online Download меню.
3. Выберите одну или несколько программ из списка Program
list project в окне диалога Program list (рис. 4.23). Установите
маркер в окошке All, чтобы указать, что выбраны все программы.

79
Рис. 4.23. Загрузка программ

4. Загрузите выбранные программы в SPC200 с помощью


кнопки Download.
5. Прогресс компиляции показывается в окне Compile. Подож-
дите, пока процесс не закончится.
Если в процессе передачи произошла ошибка, подтвердите со-
общение и повторите загрузку.
После загрузки пользовательских программ в SPC200 они ста-
новятся доступными для системы позиционирования и могут быть
выполнены.
Есть различные варианты старта программы.
1) использование сигналов ввода/вывода (см. пользователь-
ское руководство по SPC200);
2) использование пульта управления (см. пользовательское ру-
ководство по SPC200);
3) в режиме отладки (Debug mode) WinPISA.
Дальнейшие инструкции по отладке и старте программ могут
быть найдены в пользовательском руководстве по SPC200.

80
ОГЛАВЛЕНИЕ
П р е д и с л о в и е ...................................................................................... 3
1. ОБЩЕЕ ОПИСАНИЕ .............................................................................. 4
1.1. Системы позиционирования, управляемые контроллером SPC200 4
1.2. Схема работы ................................................................................... 7
1.3. Структура ветви осевого интерфейса .............................................. 9
1.4. Режимы работы SPC200................................................................... 9
1.5. Применение SPC200 для систем с несколькими осями................. 10
1.6. Панель управления......................................................................... 10
1.7. Старт пакета WinPISA ................................................................... 11
1.8. Установка каталогов ...................................................................... 12
1.9. Работа в пакете WinPISA ............................................................... 13
1.10. Диалоговый режим (Online mode) ............................................... 14
2. УПРАВЛЕНИЕ ПРОЕКТАМИ ............................................................. 15
2.1. Создание проекта ........................................................................... 15
2.2. Открытие и закрытие проекта........................................................ 17
2.3. Сохранение проекта ....................................................................... 18
2.4. Сохранение проекта под друим именем ........................................ 18
2.5. Загрузка проектов из SPC200 (Upload) .......................................... 19
2.6. Загрузка проектов в SPC200 (Download) ....................................... 19
2.7. Редактирование проекта в окне проекта ........................................ 20
2.7.1. Редактирование раздела аппаратных средств (Hardware) .. 22
2.7.2 Редактирование раздела программного обеспечения............. 23
3. ПЛАНИРОВАНИЕ ПРОЕКТА ............................................................. 24
3.1. Выбор готовых осей ....................................................................... 25
3.1.1. Выбор пневматической оси .................................................... 26
3.1.2. Выбор электрической оси....................................................... 26
3.2. Изменение параметров оси ............................................................ 27
4. ПРОГРАММИРОВАНИЕ ..................................................................... 27
4.1. Редактор программ......................................................................... 27
4.2. Список позиций и регистр ............................................................. 29
4.3. Общие замечания о программировании ........................................ 32
4.3.1. Параллельная обработка программ ....................................... 33
4.3.2. Режимы для систем с несколькими осями ............................ 33
4.4. Синтаксис команд .......................................................................... 35
4.4.1. Структура программы .......................................................... 35
4.4.2. Описание NC- команд для контроллера SPC200 ................... 38
4.5. Проверка программ ........................................................................ 71
4.6. Компиляция программ ................................................................... 77
4.7. Загрузка программы в SPC200 и её запуск .................................... 79

Вам также может понравиться