Omron CPM1A, CQM1, CPM1, SRM1 PROGRAMING MANUAL [ru]

Cat. No. W228-RU2-04
Серия SYSMAC CQM1/CPM1/CPM1A/SRM1
Программируемые контроллеры
РУКОВОДСТВО ПО
ПРОГРАММИРОВАНИЮ
Перед тем, как читать инструкцию:
Продукция фирмы OMRON создана для использования согласно разрешенным процедурамa квалифицированным оператором и только для целей, описанных в данной инструкции.
В данной инструкции приняты следующие обозначения для индикации и классификации предупреждающих сообщений. Обязательно учитывайте эту информацию. Если пренебречь предупреждениями, это может повлечь несчастные случаи с людьми или повреждение оборудования.
Опасность! Указывает на информацию, пренебрежение которой с большой долей
вероятности повлечет смерть или тяжелые увечья.
Предупреждение! Указывает на информацию, пренебрежение которой может повлечь смерть
или тяжелые увечья (с меньшей степенью вероятности).
Внимание! Указывает на информацию, пренебрежение которой может повлечь
относительно серьезные или небольшие травмы, повреждение оборудования или неправильную работу.
Справочная информация об изделиях OMRON
Все изделия OMRON пишутся в данной инструкции с прописной буквы. Слово “Блок” также пишется с большой буквы, когда оно относится к продукции OMRON, независимо от того, появляется оно или нет в собственном имени изделия.
Сокращение “Ch”, которое появляется в некоторых режимах индикации и некоторых продуктах OMRON, часто обозначает “слово” (word) и в документации имеет сокращенное обозначение “Wd”.
Сокращение “ПК” (PC) означают Программируемый Контроллер (Programmable Controller) и в других смыслах не используется.
Средства выделения информации
В левой колонке данной инструкции появляются следующие заголовки для облегчения определения типа информации.
Замечание Указывает информацию, заслуживающего особого интереса для
эффективной и удобной работы изделий OMRON.
1, 2, 3,... Указывает на перечисления того или иного рода, такие, как процедуры,
списки и т.д.
OMRON,1993
Все права сохранены. Никакую часть данного документа нельзя размножать, загружать в информационно­поисковые системы или передавать в любой форме, механической, электрической, фотокопированием, магнитозаписью или какой-либо другой, без письменного разрешения OMRON. Патентной ответственности за использование информации в данном документе не несется. Более того, поскольку OMRON постоянно старается улучшать свою продукцию, информация в данной инструкции может измениться без уведомления. При подготовке данной инструкции были приняты все меры предосторожности. Однако OMRON не принимает на себя ответственности за ошибки или пропуски. Не принимается также никакая ответственность за ущерб, нанесенный вследствие применения информации, содержащейся в данном документе.
-3-
О данной инструкции:
В данной инструкции описано программирование программируемых контроллеров CQM1/CРМ1/CPM1A/SRM1, включая структуру памяти, содержимое памяти, команды релейно-контактных схем и т. д.
Информацию об аппаратной части и о работе с программатором смотрите Инструкцию по работе CQM1 или Инструкцию по работе CРM1;
для работы с SSS см. Инструкцию по работе с SSS: ПК серии С. Внимательно прочтите данную инструкцию до полного понимания изложенных сведений,
прежде чем пытаться программировать и работать с CQM1 и СРМ1. Глава 1 описывает Установочные параметры ПК и связанные с ними функции ПК,
включая обработку прерываний и связь. Установочные параметры служат для управления рабочими параметрами ПК.
В Главе 2 дано описание новых возможностей CQM1 и CРM1, включая новые дополнительные команды и новый режим индикации, называемый просмотром фронтов,
В Главе 3 описана структура областей памяти ПК и их использование. Также описаны операции с кассетой памяти для обмена данных между CQM1 и кассетой памяти.
В Главе 4 описаны основные действия и понятия, используемые для написания программы в виде релейно-контактной схемы. Она знакомит с командами, используемыми для построения базовой структуры релейно-контактной схемы и для управления ее выполнением.
В Главе 5 объясняется индивидуально каждая команда программирования в виде релейно-контактной схемы, которые используются в ПК.
В Главе 6 описаны методы и процедуры использования команд связи с верхним уровнем (HOST LINK), которые служат для связи HOST LINK через порты ПК.
В Главе 7 описаны внутренняя работа ПК и время, требуемое для обработки и исполнения. Читайте данную главу для понимания синхронизации операций ПК.
В Главе 8 описано, как диагностировать и исправлять ошибки аппаратуры и программы, которые могут произойти во время работы ПК.
Предупреждение! Если приступить к работе с ПК, не прочитав и не поняв информацию в
данной инструкции, это может привести к несчастным случаям или смерти персонала, повреждению или поломке изделия. Перед тем, как пытаться проделать любую процедуру или операцию, полностью прочтите каждую главу до полного понимания.
-4-
Содержание
1. УстановочныепараметрыПКисвязанныеснимихарактеристики .......13
1.1 УстановочныепараметрыПК........................14
1.2 БазовыеоперацииПКипроцессывходов/выходов............26
1.3 Функциивыдачи импульсов(толькоCQM1) ................34
1.4 Функции прерыванийCQM1 ........................48
1.5 ФункциипрерыванийCPM1/CPM1A ....................80
1.6Функции прерыванийSRM1 ........................97
1.7Функциираспределенныхвходов/выходовCompoBus/S(ТолькоSRM1) 99
1.8 Функциисвязи ................................101
1.1.1 ИзменениеустановочныхпараметровПК
1.1.2 УстановочныепараметрыпрограммируемогоконтроллераCQM1
1.1.3УстановочныепараметрыCРM1/CPM1A.......................20
1.1.4УстановочныепараметрыSRM1 ...........................23
1.2.1 Режим пуска ......................................26
1.2.2 Состояниебитаудержания ..............................27
1.2.3 Защитаотзаписипамятипрограмм(толькодляCPM1/CPM1A) ..........27
1.2.4 ВремяобслуживанияпортаRS-232C(толькоCQM1/SRM1) ............27
1.2.5 Времяобслуживанияпериферийногопорта .....................28
1.2.6 Времяцикла ......................................28
1.2.7 Константы временивхода ...............................29
1.2.8 Высокоскоростныетаймеры(ТолькоCQM1) .....................30
1.2.9 КоличествовводимыхцифрдляDSW(87)иМетодобновлениявыходов (ТолькоCQM1) 31
1.2.10 Параметрыпротоколаошибок............................31
1.3.1 Типывыдачиимпульсов................................34
1.3.2 Выдачастандартныхимпульсовспростоговыхода.................34
1.3.3 Выдачастандартныхимпульсовспортов1и2 ...................36
1.3.4Выдачаимпульсовспеременнымкоэффициентомзаполненияс
портов1и2..........................................44
1.3.5Определениесостоянияпортов1и2 ........................46
1.4.1 Типыпрерываний ...................................48
1.4.2 Входныепрерывания .................................50
1.4.3 Маскированиевсехпрерываний ...........................55
1.4.4 Прерыванияинтервальноготаймера .........................55
1.4.5 Прерываниявысокоскоростногосчетчика(ВСч)0 ..................58
1.4.6 Переполнение“+”/Переполнение“-“высокоскоростногосчетчика0 .......64
1.4.7 Прерываниявысокоскоростныхсчетчиков(ВСч)1и2(CQM1-CPU43-Е) .....65
1.4.8 Прерыванияабсолютноговысокоскоростногосчетчика(CQM1-CPU44-Е).....72
1.5.1 Типыпрерываний ...................................80
1.5.2 Входныепрерывания .................................81
1.5.3Маскированиевсехпрерываний ...........................86
1.5.4 Прерыванияинтервальныхтаймеров ........................87
1.5.5 Прерываниявысокоскоростногосчетчика ......................89
1.6.1Типыпрерываний ...................................97
1.6.2Прерыванияпоинтервальномутаймеру .......................97
1.8.1УстановочныепараметрыCQM1
1.8.2 Подключениепортов
1.6.3СвязьHostLinkCQM1
1.8.4СвязьHostLinkCPM1/CPM1A
1.8.5СвязьHostLinkSRM1
1.8.6СвязьпоRS-232C(толькоCQM1/SRM1)
1.8.7 СвязьCQM1 1:1
1.8.8Связь1:1CРM1/CPM1A
..................................
.................................
.................................
....................................
................................
...........................
.............................
......................
.........
.......................
14 15
101 104 104 106 108 111 113 115
-5-
1.8.9СвязьCРM1/CPM1ANT LINK
1.8.10Связь1:1SRM1
1.8.11СвязьNTLINKвSRM1
1.8.12СвободныйпротоколвSRM1
1.8.13Конфигурацияпередаваемыхданных
1.8.14Флагипередачи
1.8.15Примерпрограммысвязибезпротокола
....................................
....................................
.............................
...............................
............................
........................
......................
116 117 119 120 122 122 122
1.9Вычислениясдвоичнымиданнымисознаком ..............124
1.9.1 Заданиедвоичныхданныхсознаком.........................124
1.9.2 Арифметическиефлаги ................................125
1.9.3 Вводдвоичныхчиселсознакомсиспользованиемдесятичныхзначений ....125
1.9.4 Использованиедополнительныхкоманддвоичныхсознаком(толькоCQM1) ..126
1.9.5 Примерприменениядвоичныхчиселсознаком ...................126
2. Новыевозможности .................................129
2.1Дополнительныекоманды(толькоCQM1/SRM1) .............130
2.1.1ДополнительныеинструкцииCQM1 .........................130
2.1.2ДополнительныеинструкцииSRM1..........................132
2.2 Новыекомандывхода/выхода(толькоCQM1) ..............132
2.2.1 Вводсклавиатурына10клавишTKY(18) ......................132
2.2.2 Вводсклавиатуры(16клавиш)HKY(-) ........................134
2.2.3 Вводсцифровогопереключателя-DSW(87) ....................137
2.2.4 Выводна7-сегментныйиндикатор-7SEG(88)....................141
2.2.5 Переназначениебитоввходов/выходов .......................143
2.3 ФункцияMAСRO ..............................144
2.4 Просмотрфронтов (изменениясостояния) ................145
2.5 Аналоговыезадания(толькоCQM1-CPU42-Е/CPM1/CPM1A) ......146
2.6 Входыбыстройреакции(толькоCРM1/CPM1A) .............147
3. Областипамяти ...................................149
3.1ФункцииобластипамятиCQM1 ......................150
3.1.1 Структураобластейпамяти ..............................150
3.1.2 ОбластьIR .......................................151
3.1.3 ОбластьSR.......................................153
3.1.4 ОбластьТR .......................................153
3.1.5 ОбластьНR ......................................154
3.1.6 ОбластьAR ......................................154
3.1.7 ОбластьLR ......................................154
3.1.8 Областьтаймеров/счетчиков .............................154
3.1.9 ОбластьDM ......................................155
3.1.10 ОбластьUM ......................................155
3.2 ФункцииобластейпамятиCРM1/CPM1A .................155
3.2.1 Структураобластипамяти ..............................155
3.2.2 ОбластьIR .......................................156
3.2.3 ОбластьSR ......................................157
3.2.4 ОбластьТR .......................................157
3.2.5 ОбластьНR ......................................158
3.2.6 ОбластьAR ......................................158
3.2.7 ОбластьLR ......................................158
3.2.8 Областьтаймеров/счетчиков(ТС)
3.2.9 ОбластьDM
......................................
..........................
158 158
3.3ФункцииобластейпамятиSRM1 ......................158
3.3.1Структураобластейпамяти
3.3.2ОбластьIR
3.3.3ОбластьSR
3.3.4ОбластьТR
3.3.5ОбластьНR
.......................................
.......................................
.......................................
.......................................
..............................
158 160 160 160 160
-6-
3.3.6ОбластьAR
3.3.7ОбластьLR
3.3.8Областьтаймеров/счетчиков
3.3.9ОбластьDM
.......................................
.......................................
......................................
............................
160 161 161 161
3.4 Флэш-памятьSRM1 .............................161
3.5 Использованиекассетпамяти(толькоCQM1) ..............162
3.5.1 Типыкассетпамятиисодержание
3.5.2 ЕмкостькассетыпамятииразмеробластиUM
3.5.3 Записьвкассетупамяти................................164
3.5.4 Чтениеизкассетыпамяти...............................164
3.5.5 Сравнениесодержаниякассетыпамяти .......................165
..........................
...................
162 163
4. Программирование ввидерелейно-контактныхсхем ..............167
4.1Основнойалгоритм .............................168
4.2 Терминологиякоманд............................168
4.3 Основныерелейно-контактныесхемы...................169
4.3.1 Базовыетермины ...................................169
4.3.2 Мнемокод........................................170
4.3.3 Команды,расположенныена релейно-контактнойсхеме(РКС) ..........171
4.3.4 ВыводиВыводинверсии(OUTPUTиOUTPUTNOT) ................174
4.3.5 КомандаEND .....................................174
4.3.6 Команды логическогоблока ..............................175
4.3.7 Кодированиенесколькихвыходныхкоманд .....................183
4.3.8 Командные линииветвления .............................184
4.3.9 Переходы ........................................189
4.4 Управлениесостояниембитов .......................191
4.4.1 Установитьв1(SET)иСброситьв0(RESET) ....................191
4.4.2 Включитьна1цикл(DIFFERENTIATEUPиDIFFERENTIATEDOWN) .......192
4.4.3 Сохранить(KEEP) ...................................192
4.4.4 Битысамоподдержки .................................193
4.5 Рабочиебиты(внутренниереле) .....................193
4.6 Обратитевниманиеприпрограммировании ...............195
4.7 Исполнениепрограммы...........................197
5.Наборкоманд ....................................199
5.1Системаобозначений............................200
5.2Форматкоманды ..............................200
5.3Областиданных,значенияопределителейифлаги ...........200
5.4Команды,срабатывающиепофронту0/1 .................202
5.5Кодированиевыходныхкоманд(“правосторонних”) ...........203
5.6Таблицыкоманд...............................205
5.6.1ФункциональныекодыCQM1..............................205
5.6.2ФункциональныекодыCPM1/CPM1A. ........................206
5.6.2ФункциональныекодыSRM1. .............................206
5.6.3 Алфавитныйсписокмнемоники............................206
5.7Команды релейно-контактнойсхемы ...................212
5.7.1LOAD,LOADNOT,AND,ANDNOT,ORèORNOT..................212
5.7.2ANDLOADèORLOAD
................................
213
5.8Командыуправлениябитами........................214
5.8.1OUTиOUTNOT-ВыводиВыводcинверсией
5.8.2SETиRESET (Установкаисброс)
5.8.3KEEP(11)(KEEP)-Сохранитьсостояние
5.8.4DIFU(13)иDIFD(14)-установкабитана1цикл(послефронта0/1и1/0)
..........................
5.9NOP(00) (NOOPERATION)-Нетоперации
...................
.......................
.....
................
214 215 216 217
218
-7-
5.10END(01) (END)-Конецпрограммы
....................
5.11 IL(02)иILC(03) -СекцияINTERLOCKиINTERLOCKCLEAR
......
218 218
5.12JMP(04)иJME(05)-ПереходиКонецперехода .............220
5.13FAL(06)иFALS(07)-Командыошибокпользователя ..........221
5.14STEP(08)/SNXT(09)-КомандыSTEP ..................223
5.15Командытаймеровисчетчиков......................226
5.15.1TIM-таймер
5.15.2CNT - Счетчик ....................................227
5.15.3CNTR(12) - Реверсивныйсчетчик ..........................229
5.15.4TIMH(15)- Высокоскоростнойтаймер ........................230
5.15.5STIM(69) - Интервальныйтаймер ..........................231
5.15.6CTBL(63)- Зарегистрироватьтаблицусравнения .................233
5.15.7INI(61)- Управлениережимамивыдачиимпульсов ................238
5.15.8PRV(62)- Чтениетекущегозначениявысокоскоростногосчетчика ........239
......................................
227
5.16Командысдвига ..............................242
5.16.1SFT(10) - Сдвиговыйрегистр ............................242
5.16.2WSFT(16)-Сдвигслова ...............................243
5.16.3ASL(25)- Арифметическийсдвигвлево.......................244
5.16.4ASR(26)- Арифметическийсдвигвправо ......................244
5.16.5ROL(27)- Циклическийсдвигвлево .........................245
5.16.6ROR(28)- Циклическийсдвигвправо ........................245
5.16.7SLD(74)- Сдвигвлевонаоднуцифру........................246
5.16.8SRD(75)- Сдвигвправонаоднуцифру .......................247
5.16.9SFTR(84)- Реверсивныйрегистрсдвига ......................247
5.16.10ASFT(17)- Асинхронныйрегистрсдвига......................249
5.17Командыпересылкиданных .......................251
5.17.1MOV(21)- Пересылка.................................251
5.17.2MVN(22)- Пересылкаинверсии ...........................252
5.17.3XFER(70)- Пересылкаблока.............................253
5.17.4BSET(71)- Заполнениеблока ............................254
5.17.5 XCHG(73) -Обменданными .............................255
5.17.6DIST(80)- Распределениеодногослова ......................255
5.17.7COLL(81) - Сборданных ...............................257
5.17.8MOVB(82)- Переслатьбит ..............................260
5.17.9MOVD(83)- Переслатьцифру ............................261
5.17.10XFRB(-)- Переслатьбиты .............................262
5.18 Командысравнения ............................264
5.18.1 CMP(20)-Сравнение .................................264
5.18.2TCMP(85)- Сравнение таблицы ...........................265
5.18.3BCMP(68)- Сравнениеблока ............................267
5.18.4CMPL(60)- Сравнениесловдвойнойдлины ....................268
5.18.5MCMP(19)- Сравнениенесколькихслов ......................270
5.18.6CPS(-)- Сравнениедвоичныхчиселсознаком...................271
5.18.7CPSL(-)-Сравнениедвоичныхсловдвойнойдлинысознаком ..........273
5.18.8 ZSP(-)- Сравнениесзоной .............................274
5.18.9ZCPL(-)- Сравнениесзонойчиселдвойнойдлины ................276
5.19 Командыпреобразования .........................277
5.19.1BIN(23)- Преобразованиедвоично-десятичногочиславдвоичное)
5.19.2 BCD(24)-Преобразованиеиздвоичноговидавдвоично-десятичный
5.19.3 BINL(58)-Преобразованиедвоично-десятичногочисладвойнойдлиныв двоичноедвойнойдлины
5.19.4 BCDL(59)-Преобразованиедвоичногочисладвойнойдлиныв двоично-десятичноечислодвойнойдлины
5.19.5 MLPX(76)-Декодер4-в-16
5.19.6DMPX(77)- Преобразовать16-в-4
5.19.7SDEС(78)- 7-сегментныйдекодер
..................................
........................
..............................
..........................
..........................
.......
......
277 277
278
279 279 281 284
-8-
5.19.8ASC(86)- ПреобразованиевкодыASCII
5.19.9HEX(-)- ПреобразованиеизASCIIв16-ричноечисло
5.19.10SСL(66)- Масштабирование
5.19.11SСL2(-)- Преобразованиедвоичныхзначенийсознакомв двоично-десятичноесмасштабированием
5.19.12SСL3(-)- Масштабированиедвоично-десятичныхчиселв двоичныесознаком
5.19.13SEС(-)- ПреобразованиеЧасы-в-секунды
5.19.14HMS(-)- ПреобразованиеСекунды-в-часы
5.19.15 LINE(-)- Столбец-в-строку .............................299
5.19.16СOLM(-)- Строка-в-столбец ............................300
5.19.17NEG(-)- Дополнениедо2..............................302
5.19.18NEGL(-)- Дополнениедо2словадвойнойдлины ................303
.....................................
............................
......................
...............
.........................
.....................
....................
287 288 291
293
295 297 298
5.20 Командыдвоично-десятичныхвычислений ...............305
5.20.1STС(40)- Установкафлагапереноса ........................305
5.20.2 СLС(41)-Очисткафлагапереноса .........................305
5.20.3ADD(30)- Двоично-десятичноесложение......................305
5.20.4SUB(31)- Двоично-десятичноевычитание .....................307
5.20.5MUL(32)- Двоично-десятичноеумножение .....................309
5.20.6DIV(33)- Делениедвоично-десятичныхчисел ...................310
5.20.7ADDL(54)- Двоично-десятичноесложениечиселдвойнойдлины ........311
5.20.8SUBL(55)- Двоично-десятичноевычитаниечиселдвойнойдлины ........313
5.20.9MULL(56)- Двоично-десятичноеумножениечиселдвойнойдлины........315
5.20.10 DIVL(57)- Двоично-десятичноеделениечиселдвойнойдлины .........315
5.20.11ROOT(72)- Квадратныйкорень ..........................316
5.21Командыдвоичныхвычислений .....................317
5.21.1ADB(50)-Сложениедвоичныхчисел ........................317
5.21.2SBB(51)- Вычитаниедвоичныхчисел........................319
5.21.3MLB(52)- Умножениедвоичныхчисел .......................320
5.21.4DVB(53)- Делениедвоичныхчисел .........................321
5.21.5 ADBL(-)- Сложениедвоичныхчиселдвойнойдлины ...............321
5.21.6SBBL(-)-Вычитаниедвоичныхчиселдвойнойдлины ...............323
5.21.7MBS(-)-Умножениедвоичныхчиселсознаком ..................325
5.21.8MBSL(-)- Умножениедвоичныхчиселдвойнойдлины...............326
5.21.9DBS(-)- Делениедвоичныхчиселсознаком ....................327
5.21.10DBSL(-) -Делениедвоичныхчиселдвойнойдлинысознаком ..........328
5.22 Специальныематематическиекоманды .................330
5.22.1MAX(-)- Найтимаксимум...............................330
5.22.2MIN(-)- Найтиминимум ...............................331
5.22.3AVG(-) -Среднеезначение..............................332
5.22.4 SUM(-) -Сумма ....................................334
5.22.5APR(-) - Математическиевычисления........................336
5.23Логическиекоманды ............................341
5.23.1СOM(29)- Дополнение ................................341
5.23.2ANDW(34)- ЛогическоеИ ..............................341
5.23.3ORW(35)- ЛогическоеИЛИ .............................342
5.23.4XORW(36)- ИсключающееИЛИ ...........................343
5.23.5XNRW(37)- ИсключающееИЛИ-НЕ ........................343
5.24Командыинкрементирования/декрементирования ...........345
5.24.1INС(38)- Инкрементдвоично-десятичногочисла
5.24.2DEС(39)- Декрементдвоично-десятичногочисла
.................
.................
345 345
5.25Командыподпрограмм ..........................346
5.25.1SBS(91)- Войтивподпрограмму
5.25.2SBN(92)- НачалоподпрограммыиRET(93) -возврат
5.26Специальныекоманды
5.26.1TRSM(45)- Трассировкавыборкипамяти
..........................
..........................
...............
......................
346 347
349
349
-9-
5.26.2MSG(46)- Индикациясообщения
5.26.3IORF(97)- Обновлениевходов/выходов
5.26.4MСRO(99)- Макро
5.26.5BСNT(67)- Счетчикбитов
5.26.6FСS(-)- Контрольнаясуммакадра
5.26.7FPD(-)- Поискточкисбоя
5.26.8INT(89)- Управлениепрерываниями
5.26.9PULS(65)- Заданиеимпульсов
5.26.10SPED(64)- Запусквыдачиимпульсов .......................365
5.26.11PLS2(-)- Выдачаимпульсов ............................368
5.26.12AСС(-)- Управлениеускорением..........................369
5.26.13PWM(-)- Импульсыспеременнымкоэффициентомзаполнения ........372
5.26.14SRСH(-)- Поискданных...............................373
5.26.15PID(-) -ПИД-регулирование(пропорционально-интегрально-
дифференциальное).....................................374
..................................
..........................
......................
..............................
.........................
..............................
........................
...........................
350 352 352 353 354 356 360 364
5.27Командысвязи ...............................377
5.27.1RXD(47)- Прием ...................................377
5.27.2TXD(48)- Передача..................................378
5.27.3STUPИзменениеустановочныхпараметровRS-232C...............380
5.28Дополнительныекомандыввода/вывода ................383
5.28.17SEG(88)- Выводна7-сегментныйиндикатор ...................383
5.28.2DSW(87)- Вводсцифровогопереключателя....................384
5.28.3HKY(-)- Вводсклавиатурына16клавиш......................384
5.28.4TKY(18)- Вводсклавиатурына10клавиш .....................385
6. Команды HostLink..................................387
6.1 Процедурасвязи ..............................388
6.2 Форматыкомандиответов .........................390
6.2.1 Командысуправляющегокомпьютера ........................390
6.2.2 КомандыотПК(толькоCQM1) ............................394
6.2.3 Кодыокончанияответа ................................394
6.3 КомандыHostLink(связисверхнимуровнем) ..............394
6.3.1 ЧтениеобластиIR/SR-RR ..............................395
6.3.2 ЧтениеобластиLR-RL ................................395
6.3.3 ЧтениеобластиHR-RH................................396
6.3.4 Чтениетекущегозначения-RС............................396
6.3.5 ЧтениесостоянияТС-RG...............................397
6.3.6 ЧтениеобластиDM-RD ...............................397
6.3.7 ЧтениеобластиAR-RJ ................................398
6.3.8 ЗаписьвобластиIR/SR-WR .............................398
6.3.9 ЗаписьвобластьLR-WL ...............................399
6.3.10 ЗаписьвобластьHR-WH ..............................399
6.3.11 Записьтекущегозначения-WС ...........................400
6.3.12 ЗаписьсостоянияТ/Сч-WG .............................401
6.3.13 ЗаписьвобластьDM-WD ..............................401
6.3.14 ЗаписьвобластьAR-WJ ..............................402
6.3.15 Чтение1заданногозначения-R#..........................403
6.3.16 Чтение2заданногозначения-R$..........................403
6.3.17 Чтение3заданногозначения-R%(ТолькоCQM1) ................404
6.3.18 Изменениезаданногозначения(первое)-W#
6.3.19 Изменение2заданногозначения-W$
6.3.20 Изменение3заданногозначения-W%
6.3.21 Чтениесостояния-МS
6.3.22 Записьсостояния-SС
6.3.23 Чтениепризнаковошибок-MF
6.3.24 Принудительнаяустановка-KS
6.3.25 Принудительныйсброс-KR
6.3.26 Принудительныесброс/установканесколькихадресов-FK
................................
................................
...........................
...........................
.............................
...................
.......................
.......................
............
405 406 407 408 409 410 411 412 413
-10-
6.3.27 Отменапринудительныхустановки/сброса-KС
6.3.28 ЧитатьмоделиПК-ММ
5.3.29Òåñò-TS
5.3.30Чтениепрограммы-RP
6.3.31 Записьпрограммы-WP
6.3.32 Составнаякоманда-QQ
6.3.33 Прервать-XZ
6.3.34 Инициировать- **
6.3.35 Неопределеннаякоманда-IС ............................420
........................................
.....................................
...............................
...............................
...............................
...............................
...................................
..................
414 415 415 416 416 417 419 419
7. ОперацииПКираспределениевремени .....................421
7.1 ВремяциклаCQM1ивремяреакциинавход ...............422
7.1.1 ÖèêëCQM1 .......................................422
7.1.2 ВремяциклаCQM1 ..................................423
7.1.3 Времяреакциинавход ................................425
7.1.4 Времяреакциинавходприсвязи1+1 ........................426
7.1.5 Времяобработкипрерываний ............................428
7.1.6 ВремяисполнениякомандCQM1...........................430
7.2ВремяциклаCPM1/CPM1Aивремяреакциивходов/выходов......443
7.2.1 ÖèêëCPM1/CPM1A ..................................443
7.2.2 ВремяциклаCРM1/CPM1A ..............................443
7.2.3 Времяреакциинавход ................................445
7.2.4 Времяреакциинавходприсвязи1:1.........................446
7.2.5Времяобработкипрерываний ............................448
7.2.6ВремяисполнениякомандCРM1/CPM1A ......................449
7.3ВремяциклаSRM1ивремяреакциивходов/выходов ..........456
7.3.1ÖèêëSRM1 .......................................456
7.3.2ВремяциклаSRM1...................................456
7.3.3Времяреакциивход/выход ..............................458
7.3.4Времяреакциивход/выходприсвязи1:1 ......................459
7.3.5Времяобработкипрерываний ............................460
7.3.6 ВремяисполнениякомандSRM1 ...........................461
8. Поискнеисправностей ...............................467
8.1 Введение...................................468
8.2 Неисправностиприработеспрограмматором ..............468
8.3 Ошибкипрограммирования.........................469
8.4 Ошибки,определяемыепользователем..................470
8.5 Ошибкиприработе .............................471
8.5.1 Нефатальныеошибки .................................471
8.5.2 Фатальныеошибки...................................473
8.6Протоколошибок ..............................474
8.7 Ошибки HOSTLINK .............................476
8.8Алгоритмыпоисканеисправностей ....................478
8.8.1АлгоритмыдляСРМ1 .................................478
8.8.1АлгоритмыдляСРМ1A ................................478
8.8.1АлгоритмыдляSRM1 .................................478
8.8.2АлгоритмыдляСQМ1 .................................478
ПриложениеA .....................................485
КомандыпрограммированияЛД ........................485
Дополнительныекоманды
..................................
489
ПриложениеB .....................................493
Операциисфлагамиошибокиарифметики
Дополнительныекоманды(ВсеCQM1/SRM1) Дополнительныекоманды(ТолькоCQM1-CPU4_-ЕV1)
.................
.......................
..................
493
494 495
-11-
ПриложениеС
Областипамяти
ФункцииобластейпамятиCQM1 Структураобластипамяти ОбластьSR ПояснениякбитамSR. ОбластьAR ФункцииобластейпамятиCРM1/CPM1A
Структураобластипамяти .................................506
ОбластьSR..........................................506
ОбластьAR..........................................509
ФункцииобластейпамятиSRM1 ..............................511
Структураобластейпамяти .................................511
ОбластьSR..........................................512
ОбластьAR..........................................513
.....................................
.................................
..............................
.................................
..........................................
...................................
..........................................
..........................
497 497
497 497 498 501 502 506
ПриложениеD .....................................517
Применениефункциичасов ..........................517
Слова,используемыесфункциейчасов .........................517
Установкавремени .....................................517
ПриложениеE .....................................519
Распределениевходов/выходов ........................519
ПриложениеF .....................................521
Мнемокодпрограммы ..............................521
ПриложениеG .....................................523
Мнемокодпрограммы ..............................523
ПриложениеH .....................................525
РасширенныекодыASCII............................525
Глоссарий .......................................527
-12-
1. Установочные параметры ПК и связанные с ними характеристики
В данной главе описаны установочные параметры ПК и связанные с ними функции CQM1/CРM1/CPM1A/SRM1, включая обработку прерываний и связь. Установочные параметры служат для управления оперативными параметрами ПК. Для изменения установочных параметров смотрите:
для процедур программатора - Инструкцию по работе CQM1, Инструкцию по работе CРM1, Инструкцию по работе CРM1A, Инструкцию по работе SRM1;
для процедур SSS - Инструкцию по работе с SSS: ПК серии С.
Если Вы не знакомы с ПК OMRON или с релейно-контактным программированием, Вы можете прочитать п. 1-1 как общий обзор имеющихся параметров CQM1/CРM1/CPM1A/SRM1, но для полного понимания данной главы Вам, вероятно, понадобиться прочесть гл. 3, гл.4ивгл.5описание команд, встречающихся в гл. 1.
-13-
1.1 УстановочныепараметрыПК
1.1 УстановочныепараметрыПК
К установочные параметрам ПК относятся различные рабочие параметры, которые управляют работой CQM1/CPM1/CPM1A/SRM1. Для максимального использования функциональных возможностей CQM1/CPM1/CPM1A/SRM1 при использовании функций обработки прерываний и связи установочные параметры должны быть откорректированы под конкретного пользователя согласно условиям работы.
При отгрузке с завода установлены параметры по умолчанию для общих условий работы, так что CQM1/CPM1/CPM1A/SRM1 можно использовать и без изменения установочных параметров. Однако перед работой рекомендуется проверить установленные значения по умолчанию.
Значения по умолчанию
Значения по умолчанию установочных параметров ПК = 0000 для всех слов. Значения установочных параметров можно в любой момент сбросить, включив параметр SR 25210 в1.
Внимание! При очистке области памяти DM с программирующего устройства, все
установочные параметры также сбросятся в 0.
1.1.1 Изменение установочных параметров ПК
Установочные параметры доступны в различные моменты времени в зависимости от этих параметров следующим образом:
DM 6600..DM 6614: Доступны только при включении ПК.
DM 6615..DM 6644: Доступны только в начале исполнения программы.
DM 6645..DM 6655: Доступны постоянно при включенном ПК.
Поскольку изменения в параметрах вступают в силу только в указанных случаях, для того, чтобы изменения в параметрах DM 6600..DM 6614 вступили в силу, нужно перезапустить ПК, для того, чтобы изменения в параметрах DM 6615..DM 6644 вступили в силу, нужно перезапустить исполнение программы.
Изменение параметров с периферийного устройства
Установочные параметры можно читать, но не записывать, из программы пользователя. Писать можно только с программирующего устройства.
Хотя установочные параметры хранятся в DM 6600..DM 6655, их можно задавать и изменять только с программирующего устройства (например SSS или программатора). DM 6600..DM 6644 можно задавать или изменять только в режиме PROGRAM. DM
6645..DM 6655 можно задавать или изменять в режимах PROGRAM или MONITOR. Далее приведены установки параметров, которые можно произвести в режиме
PROGRAM с использованием операций меню SSS. Все другие установки нужно делать с использованием операций над 16-ричными числами.
Режим при пуске (DM 6600)
Состояние бита удержания входа/выхода и состояние бита удержания
принудительного состояния (DM 6601)
Время контроля цикла (DM 6618)
Время цикла (DM 6619)
Установочные параметры порта RS-232C (DM 6645..DM 6649)
Замечание Параметры порта RS-232C (DM 6645..DM 6649) не используются в
CPM1/CPM1A, поскольку на нем нет порта RS-232C.
Ошибки в установочных параметрах ПК
При доступе к некорректно заданному установочному параметру будет генерироваться признак нефатальной ошибки (код ошибки 9В), включится в 1 соответствующий флаг ошибки ( AR 2400..AR 2402 для CQM1 и AR 1300..AR 1302 для CPM1/CPM1A), вместо некорректного значения будет использоваться значение по умолчанию.
-14-
1.1 УстановочныепараметрыПК
1.1.2 Установочные параметры программируемого контроллера CQM1
Установочные параметры программируемого контроллера делятся на 4 категории:
Относящиеся к базовым операциям CQM1 и процессам входов/ выходов;
Относящиеся к функциям выдачи импульсов;
Относящиеся к прерываниям;
Относящиеся к связи.
В данной главе Установочные параметры будут описаны в соответствии с этой классификацией.
В следующей таблице установочные параметры представлены в порядке их расположения в области DM. Подробное описание параметра смотрите в пункте, указанном в правом столбце.
Слово (а) Áèò(û) Функция Пункт
Обработка пуска (DM 6600 - DM 6614)
Введенные в ПК значения параметров вступают в силу только после перезапуска ПК. DM 6600 00 - 07 Режим пуска (действует, когда биты 08..15 = 2).
08 - 15 Задание режима пуск
DM 6601 00 - 07 Резерв(=00)
08 - 11 Состояние бита сохранения входов/выходов (SR 25212)
12 - 15 Состояние бита удержания принудительной установки (SR 25211)
DM 6602 ­DM 6610
DM 6611 00 - 15 CQM1-CPU43-EV1: Режим портов1и2
DM 6612 00 - 15 CQM1-CPU44-EV1: Смещение исходного для порта 2 (4 двоично-
Настройка параметров выдачи импульсов и времени цикла (DM 6615 - DM 6619)
Введенные в ПК значения параметров вступают в силу при пуске программы. DM 6615 00 - 07 Слово для выдачи импульсов
DM 6616 00 - 07 Время обслуживания порта RS-232C (действуют, когда биты 08..15 = 01)
DM 6617 00 - 07 Время обслуживания периферийного порта (действуют, когда биты 08..15 =
00 - 15 Резерв
08 - 15 Резерв (= 0)
08 - 15 Задание времени обслуживания порта RS-232C из параметров
08 - 15 Задание времени обслуживания периферийного порта из параметров
00: PROGRAM 01: MONITOR 02: RUN
00: С переключателя программатора 01: Продолжить работу в режиме, который был перед
отключением питания
02: Из битов 00..07 данного параметра.
0: Сброшен 1: Установлен
0: Сброшен 1: Установлен
0000: режим высокоскоростных счетчиков; 0001: Режим выдачи
импульсов CQM1-CPU44-EV1: Смещение исходного для порта 1 (4 двоично­десятичных цифры)
десятичных цифры)
00: IR 100; 01: IR 101; 02: IR 102 ..... 15: IR 115
00..99:(двоично-десятичные цифры): процент от времени цикла
на обслуживание порта RS-232C .
00: 5% от времени цикла 01: время, заданное битами 00 - 07
01)
00..99:(двоично-десятичные цифры): процент от времени цикла.
00: 5% от времени цикла 01: время, заданное битами 00 - 07
1.2.1
1.2.2
1.3.3,
1.4.8
1.4.8
1.3.2
1-2-4
1-2-5
-15-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт
DM 6618 00 - 07 Время контроля цикла (действует, когда биты 08..15 = 01, 02 или 03)
08 - 15 Разрешение контроля за циклом (задание в битах 00 - 07 х дискрету; макс.
DM 6619 00 - 15 Время цикла
Обработка прерываний (DM 6620 - DM 6639)
Введенные в ПК значения параметров вступают в силу при пуске программы. DM 6620 00 - 03 Выдержка времени входа IR 00000..IR 00007
04 - 07 Выдержка времени входа IR 00008 - IR 00015 (значения те же, что и для
08 - 15 Выдержка времени входа IR 001
DM 6621 00 - 07 Выдержка времени входа IR 002 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 003 (значения те же, что и для IR 001)
DM 6622 00 - 07 Выдержка времени входа IR 004 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 005 (значения те же, что и для IR 001)
DM 6623 00 - 07 Выдержка времени входа IR 006 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 007 (значения те же, что и для IR 001)
DM 6624 00 - 07 Выдержка времени входа IR 008 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 009 (значения те же, что и для IR 001)
DM 6625 00 - 07 Выдержка времени входа IR 0010 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 011 (значения те же, что и для IR 001)
DM 6626 ­DM 6627
DM 6628 00 - 03 Разрешение прерывание для IR 00000 (0: нормальный вход; 1: вход с
DM 6629 00 - 07 Число высокоскоростных счетчиков для обновления входов по
DM 6630 00 - 07 Первое слово обновления входов для входного прерывания 0: 00..11
DM 6631 00 - 07 Первое слово обновления входов для входного прерывания 1:
00 - 15 Резерв
04 - 07 Разрешение прерывание для IR 00001 (0: нормальный вход; 1: вход с
08 - 11 Разрешение прерывание для IR 00002 (0: нормальный вход; 1: вход с
12 - 15 Разрешение прерывание для IR 00003 (0: нормальный вход; 1: вход с
08 - 15 Разрешение прерываний высокоскоростных таймеров
08 - 15 Число слов обновления входов для входного прерывания 0: 00..12
08 - 15 Число слов обновления входов для входного прерывания 1:
00 - 99 (двоично-десятичные цифры): Задание (см. биты 08 - 15)
99 ñ) 00: 120 мс (задание бит 00 - 07 запретить) 01: Дискрета задания: 10 мс. 02: Дискрета задания: 100 мс 03: Дискрета задания: 1 с
0000: Непостоянное (минимальное не задано) 0001 - 9999 (двоично-десятичные цифры): минимальное время в мс
0: 8 ìñ; 1: 1 ìñ; 2: 2 ìñ; 3: 4 ìñ; 4: 8 ìñ; 5:16 ìñ; 6: 32 ìñ; 7: 64 ìñ; 8: 128 ìñ;
áèò 00 - 03)
00: 8 ìñ; 01: 1 ìñ; 02: 2 ìñ; 03: 4 ìñ; 04: 8 ìñ; 05: 16 ìñ; 06: 32 ìñ; 07: 64 ìñ; 08: 128 ìñ;
прерыванием)
прерыванием)
прерыванием)
прерыванием)
прерываниям
00..15:(двоично-десятичные цифры; например, задайте 15 для 00..14)
00: 16 таймеров (задание бит 00..07 запрещено) 01: использование задание бит 00..07
(двоично-десятичные цифры)
(двоично-десятичные цифры)
00..11 (двоично-десятичные цифры)
00..12 (двоично-десятичные цифры)
1.2.10
1.2.6
1.2.7
1.4.2
1.2.8
1.4.2
-16-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт
DM 6632 00 - 07 Первое слово обновления входов для входного прерывания 2: 00..11
08 - 15 Число слов обновления входов для входного прерывания 2: 00..12
DM 6633 00 - 07 Первое слово обновления входов для входного прерывания 3: 00..11
08 - 15 Число слов обновления входов для входного прерывания 3: 00..12
DM 6634 00 - 07 Первое слово обновления входов для высокочастотного счетчика 1: 00..11
08 - 15 Число слов обновления входов для высокочастотного счетчика 1: 00..12
DM 6635 00 - 07 Первое слово обновления входов для высокочастотного счетчика 2: 00..11
08 - 15 Число слов обновления входов для высокочастотного счетчика 2: 00..12
DM 6636 00 - 07 Первое слово обновления входов для интервального таймера 0: 00..07
08 - 15 Число слов обновления входов для интервального таймера 0: 00..08
DM 6637 00 - 07 Первое слово обновления входов для интервального таймера 1: 00..07
08 - 15 Число слов обновления входов для интервального таймера 1: 00..08
DM 6638 00 - 07 Первое слово обновления входов для интервального таймера 2 (также
08 - 15 Число слов обновления входов для интервального таймера 2: 00..08
DM 6639 00 - 07 Метод обновления выходов
08 - 15 Количество цифр для команды ЦИФРОВОЙ ПЕРЕКЛЮЧАТЕЛЬ (DSW(87))
Параметры высокоскоростных счетчиков (DM 6640 - DM 6644)
Введенные в ПК значения параметров вступают в силу при пуске программы. DM 6640 -
DM 6641 DM 6642 00 - 03 Режим высокоскоростного счетчика 0
DM 6643 00 - 03 CQM1-CPU43-Е: Настройка входа порта 1
00 - 15 Резерв
04 - 07 Режим сброса высокоскоростного счетчика 0
08 - 15 Разрешение высокоскоростного счетчика 0
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
(двоично-десятичные цифры)
используется для высокоскоростного счетчика 0): 00..07 (двоично­десятичные цифры)
(двоично-десятичные цифры) (также используется для высокоскоростного счетчика 0)
00: циклический; 01: прямой
00: 4 цифры; 01: 8 öèôð
0: режим плюс/минус; 4: режим инкремента
0: сброс фазой Z и системной программой; 1: сброс только системной программой
00: не используйте Всч 01: ВСч используется с заданиями 00..07
0: вход разности фаз; 1: вход импульс/направление; 2: вход плюс/минус
CQM1-CPU44-Е: Настройка входа порта 1 0: âõîä 8 áèò; 1: âõîä 10 áèò; 2: âõîä 12 áèò
1.4.8
1.4.4
1.4.5
1.2.9
7.1.1
1.2.9
2.2.3
1.4.5
1.4.7
1.4.8
-17-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт
04 - 07 CQM1-CPU43-Е: Настройка сброса порта 1
0: сброс фазой Z и системной программой; 1: сброс только системной программой
CQM1-CPU44-Е: Не используется. Установлен в 0.
08 - 11 CQM1-CPU43-Е: Настройка метода счета порта 1
0: линейный метод; 1: циклический метод
CQM1-CPU44-Е: Настройка режима порта 1 0: режим двоично-десятичный; 1: режим 360°.
11 - 15 CQM1-CPU43-Е: Настройка типа импульсов порта 1
0: Выдача стандартных импульсов (коэффициент заполнения =
0.5);
1: Выдача импульсов с переменным коэффициентом
заполнения. CQM1-CPU44-Е: Не используется. Установлен в 0.
DM 6644 00 - 15 Настройка порта 2 (идентична порту1вDM6643)
Установочные параметры порта RS-232C
Следующие параметры вступают в силу после передачи в ПК DM 6645 00 - 07 Задание порта
00: стандартное (1 стартовый бит, данные 7 бит, четн., 2
стоповых бита, 9 600 бод) 01: заданное в DM 6646
08 - 11 Слова связи (действуют, когда биты 12..15 =3)
0: LR 00 - LR 63, 1: LR 00 - LR 31; 2: LR 00 - LR 15.
12 - 15 Режим связи
0 связь с верхним уровнем (Host Link) 1 RS-232C (без протокола) 2: связь 1+1 (ведомый) 3 связь 1+1 (ведущий)
DM 6646 00 - 07 Скорость связи
00: 1.2 Ê, 01: 2.4 Ê, 02: 4.8 Ê, 03: 9.6 Ê, 04: 19.2 Ê
08 - 15 Формат кадра
Старт Длина Ñòîï Четность 00: 1 áèò 7 áèò 1 áèò ÷åòí. 01: 1 áèò 7 áèò 1 áèò нечетн. 02: 1 áèò 7 áèò 1 áèò íåò 03: 1 áèò 7 áèò 2 áèòà ÷åòí. 04: 1 áèò 7 áèò 2 áèòà нечетн. 05: 1 áèò 7 áèò 2 áèòà íåò 06: 1 áèò 8 áèò 1 áèò ÷åòí. 07: 1 áèò 8 áèò 1 áèò нечетн. 08: 1 áèò 8 áèò 1 áèò íåò 09: 1 áèò 8 áèò 2 áèòà ÷åòí. 10: 1 áèò 8 áèò 2 áèòà нечетн. 11: 1 áèò 8 áèò 2 áèòà íåò
DM 6647 00 - 15 Задержка передачи (Host Link)
0000..9999 (двоично-десятичные цифры): задается в единицах 10 мс. Напр. задание 0001=1мс.
DM 6648 00 - 07 Номер узла (Host link, действуют, когда биты DM 6645 12 - 15=0) 00..31
(двоично-десятичные цифры)
08 - 11 Разрешение кода пуска (RS-232C, действуют, когда биты DM 6645 12..15
=1) 0: не разрешен 1: задан
12 - 15 Разрешение кода окончания (RS-232C, действуют, когда биты DM 6645
12..15 =1) 0: не разрешен (прием заданного числа байт) 1: разрешен (задан код окончания) 2: CR, LF (возврат каретки, перевод строки)
1.4.7
1.4.7
1.4.8
1.3.3,
1.3.4
1.6.1
-18-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт
DM 6649 00 - 07 Код старта (RS-232C )
00.. FF (двоичное число)
08 - 15 Когда биты 12..15 DM 6648 = 0:
Количество принимаемых байт: 00: значение по умолчанию (256 байт)
01..FF: 1..256 байт Когда биты 12..15 DM 6648 = 1:
Код окончания (RS-232C) 00 .. FF: (двоичное число)
Установочные параметры периферийного порта
Следующие параметры вступают в силу после передачи в ПК. Данные УППК действуют при применении кабеля CQM1-CIF02. Данные УППК не действуют, когда применяется кабель CQM1-CIF11 или программатор.
DM 6650 00 - 07 Задание порта
00: стандартное (1 стартовый бит, данные 7 бит, четн., 2 стоповых
áèòà, 9 600 áîä)
01: заданное в DM 6646
08 - 11 Резерв 12 - 15 Режим связи
0: Host Link 1: RS-232C
DM 6651 00 - 07 Скорость обмена
00: 1.2 Ê, 01: 2.4 Ê, 02: 4.8 Ê, 03: 9.6 Ê, 04: 19.2 Ê
08 - 15 Формат кадра
Старт Длина Ñòîï Четность 00: 1 áèò 7 áèò 1 áèò ÷åòí. 01: 1 áèò 7 áèò 1 áèò нечетн. 02: 1 áèò 7 áèò 1 áèò íåò 03: 1 áèò 7 áèò 2 áèòà ÷åòí. 04: 1 áèò 7 áèò 2 áèòà нечетн. 05: 1 áèò 7 áèò 2 áèòà íåò 06: 1 áèò 8 áèò 1 áèò ÷åòí. 07: 1 áèò 8 áèò 1 áèò нечетн. 08: 1 áèò 8 áèò 1 áèò íåò 09: 1 áèò 8 áèò 2 áèòà ÷åòí. 10: 1 áèò 8 áèò 2 áèòà нечетн. 11: 1 áèò 8 áèò 2 áèòà íåò
DM 6652 00 - 15 Задержка передачи (Host Link)
0000..9999 (â ìñ)
DM 6653 08 - 07 Номер узла (Host link, действуют, когда биты DM 6650 12..15 =0)
00..31 (двоично-десятичные цифры)
08 - 11 Разрешение кода пуска (RS-232C, действуют, когда биты DM 6650 12..15
=1) 0: не разрешен 1: установлен
12 - 15 Разрешение кода окончания (RS-232C, действуют, когда биты DM 6650
12..15 =1) 0: не разрешен (прием заданного числа байт) 1: задан (задан код окончания) 2: CR, LF (возврат каретки, перевод строки)
DM 6654 00 - 07 Код старта (RS-232C, действует, когда биты DM 6653 08..11 =1)
00 .. FF (двоичное число)
08 - 15 Когда биты 12..15 DM 6653 = 0:
Количество принимаемых байт: 00: значение по умолчанию (256 байт)
01.. FF: 1..255 байт Когда биты 12..15 DM 6653 = 1:
Код окончания (RS-232C )
00.. FF (двоичное число)
Установочные параметры протокола ошибок (DM 6655)
Следующие параметры вступают в силу после передачи в ПК.
1.6.1
1.6.1
1.6.1
-19-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт
DM 6655 00 - 03 Стиль
0: сдвиг после сохранения 10 записей 1: сохранение только 10 записей (без сдвига)
2.. F: не сохранять записи
04 - 07 Резерв 08 - 11 Разрешение контроля за временем цикла
0: обнаруживать длинные циклы, как нефатальные ошибки 1: не обнаруживать длинные циклы
12 - 15 Разрешение предупреждения о неисправности аккумулятора
0: обнаруживать падение напряжения аккумулятора как
нефатальную ошибку.
1: не обнаруживать падение напряжения аккумулятора.
1.2.10
1.2.10
1.1.3 Установочные параметры CРM1/CPM1A
Установочные параметры ПК делятся на 4 категории:
Относящиеся к базовым операциям ПК и обработке входов/ выходов;
Относящиеся к времени цикла
Относящиеся к прерываниям
Относящиеся к связи.
В данной главе установочные параметры приведены согласно этой классификации. В таблице установочные параметры CPM1/CPM1A представлены в порядке их
расположения в области DM. Подробное описание параметра Вы можете найти в пункте, указанном в правом столбце.
Слово (а) Áèò(û) Функция Пункт
Обработка пуска (DM 6600 - DM 6614)
Введенные в ПК значения параметров вступают в силу только после перезапуска ПК. DM 6600 00 - 07 Режим пуска (действует, когда биты 08 - 15 = 2).
08 - 15 Режим запуска
DM 6601 00 - 07 Резерв(=00)
08 - 11 Состояние бита сохранения входов/выходов (SR 25212)
12 - 15 Состояние бита удержания принудительной установки (SR 25211)
DM 6602 00 - 03 Защита памяти от записи
04-07
08 - 15 Резерв
DM 6603 ­DM 6614
Настройка времени цикла (DM 6615 - DM 6619)
Введенные в ПК значения параметров вступают в силу при пуске программы. DM 6615 -
DM 6616
00 - 15 Резерв
00 - 15 Резерв
00: PROGRAM 01: MONITOR 02: RUN
00: переключатель программатора 01: продолжить работу в режиме перед отключением питания 02: задание в битах 00 - 07 данного параметра.
0: сброшен 1: установлен
0: сброшен 1: установлен
0: память программ не защищена 1: память программ защищена от записи (за исключением самого
DM 6602)
Язык программатора 0: английский 1: японский
1.2.1
1.2.2
1.2.3
-20-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт DM 6617 00 - 07 Время обслуживания периферийного порта (действуют, когда биты 08..15 =
08 - 15 Задание времени обслуживания периферийного порта из параметров
DM 6618 00 - 07 Время контроля цикла (действует, когда биты 08 - 15 = 01, 02 или 03)
08 - 15 Разрешение контроля за циклом (задание в битах 00 - 07 х дискрету; макс.
DM 6619 00 - 15 Время цикла
Обработка прерываний (DM 6620 - DM 6639)
Введенные в ПК значения параметров вступают в силу при пуске программы. DM 6620 00 - 03 Выдержка времени входов IR 00000 - IR 00002
04 - 07 Выдержка времени входов IR 00003 - IR 00004 (значения те же, что и для
08 - 11 Выдержка времени входов IR 00005 - IR 00006 (значения те же, что и для
12 - 15 Выдержка времени входов IR 00007 - IR 00011 (значения те же, что и для
DM 6621 00 - 07 Выдержка времени входов IR 001
08 - 15 Выдержка времени входов IR 002 (значения те же, что и для IR 001)
DM 6622 00 - 07 Выдержка времени входов IR 003 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 004 (значения те же, что и для IR 001)
DM 6623 00 - 07 Выдержка времени входа IR 005 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 006 (значения те же, что и для IR 001)
DM 6624 00 - 07 Выдержка времени входа IR 007 (значения те же, что и для IR 001)
08 - 15 Выдержка времени входа IR 008 (значения те же, что и для IR 001)
DM 6625 00 - 07 Выдержка времени входа IR 009 (значения те же, что и для IR 001)
08 - 15 Резерв
DM 6626 ­DM 6627
DM 6628 00 - 03 Разрешение прерывание для IR 00000 (0: нормальный вход; 1: вход с
DM 6629 ­DM 6641
Параметры высокоскоростных счетчиков (DM 6640 - DM 6644)
Введенные в ПК значения параметров вступают в силу при пуске программы. DM 6640 -
DM 6641
00 - 15 Резерв
04 - 07 Разрешение прерывание для IR 00001 (0: нормальный вход; 1: вход с
08 - 11 Разрешение прерывание для IR 00002 (0: нормальный вход; 1: вход с
12 - 15 Разрешение прерывание для IR 00003 (0: нормальный вход; 1: вход с
00 - 15 Резерв
00 - 15 Резерв
01)
00..99 (двоично-десятичные цифры): процент от времени цикла.
00: 5% от времени цикла 01: время, заданное битами 00 - 07
00 - 99 (двоично-десятичные цифры): Задание (см. биты 08 - 15)
99 ñ) 00: 120 мс (задание бит 00 - 07 запретить) 01: Дискрета задания: 10 мс. 02: Дискрета задания: 100 мс 03: Дискрета задания: 1 с
0000: Непостоянное (минимальное не задано)
0001.. 9999 (двоично-десятичные цифры): минимальное время в мс
0: 8 ìñ; 1: 1 ìñ; 2: 2 ìñ; 3: 4 ìñ; 4: 8 ìñ; 5: 16 ìñ; 6: 32 ìñ; 7: 64 ìñ; 8: 128 ìñ;
áèò 00 - 03)
áèò 00 - 03)
áèò 00 - 03)
00: 8 ìñ; 01: 1 ìñ; 02: 2 ìñ; 03: 4 ìñ; 04: 8 ìñ; 05: 16 ìñ; 06: 32 ìñ; 07: 64 ìñ; 08: 128 ìñ;
прерыванием)
прерыванием)
прерыванием)
прерыванием)
1.2.5
1.2.10
1.2.6
1.2.7
1.4.2
-21-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт DM 6642 00 - 03 Режим высокоскоростного счетчика 0
04-07
08 - 15 Разрешение высокоскоростного счетчика 0
DM 6643 ­DM 6644
Параметры периферийного порта
Значения параметров вступают в силу после ввода в ПК. DM 6645 -
DM 6649 DM 6650 00 - 07 Задание порта
DM 6651 00 - 07 Скорость обмена
DM 6652 00 - 15 Задержка передачи (Host Link)
DM 6653 00 - 07 Номер узла (Host Link)
DM 6654 00 - 15 Резерв
Установочные параметры протокола ошибок (DM 6655)
Следующие параметры вступают в силу после передачи в ПК. DM 6655 00 - 03 Стиль
00 - 15 Резерв
00 - 15 Резерв
08 - 11 Область связи для связи 1+1 через периферийный порт
12 - 15 Режим связи
08 - 15 Формат кадр
08 - 15 Резерв
0: режим плюс/минус 4: режим инкремента
Режим сброса высокоскоростного счетчика 0 0: Сброс фазой Z и системной программой 1: Сброс только системной программой
00: не используйте Всч 01: ВСч используется с заданиями 00 - 07
00: Стандартное (1 стартовый бит, данные 7 бит, четн., 2
стоповых бита, 9 600 бод) 01: Заданное в DM 6651 (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0)).
0: LR 00 - LR 15.
0: Host Link, 2: связь 1+1 (ведомый), 3: связь 1+1 (ведущий) 4: связь NT (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0)).
00: 1.2 Ê, 01: 2.4 Ê, 02: 4.8 Ê, 03: 9.6 Ê, 04: 19.2 Ê
Старт Длина Ñòîï Четность 00: 1 áèò 7 áèò 1 áèò ÷åòí. 01: 1 áèò 7 áèò 1 áèò нечетн. 02: 1 áèò 7 áèò 1 áèò íåò 03: 1 áèò 7 áèò 2 áèòà ÷åòí. 04: 1 áèò 7 áèò 2 áèòà нечетн. 05: 1 áèò 7 áèò 2 áèòà íåò 06: 1 áèò 8 áèò 1 áèò ÷åòí. 07: 1 áèò 8 áèò 1 áèò нечетн. 08: 1 áèò 8 áèò 1 áèò íåò 09: 1 áèò 8 áèò 2 áèòà ÷åòí. 10: 1 áèò 8 áèò 2 áèòà нечетн. 11: 1 áèò 8 áèò 2 áèòà нет (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0)).
0000..9999: в мс. (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0000)).
00..31 (двоично-десятичные цифры) (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0000)).
0: Сдвиг после сохранения 10 записей 1: Сохранение только 10 записей (без сдвига)
2..F: Не сохранять записи
1.4.5
1.6.4
1.2.10
-22-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт
04 - 07 Резерв 08 - 11 Разрешение времени наблюдения за циклом
0: Обнаруживать длинные циклы как нефатальные ошибки 1: Не обнаруживать длинные циклы
12 - 15 Резерв
1.2.10
1.1.4 Установочные параметры SRM1
Установочные параметры ПК делятся на 3 категории:
Относящиеся к базовым операциям ПК и обработке входов/выходов;
Относящиеся к времени цикла
Относящиеся к связи.
В данной главе установочные параметры приведены согласно этой классификации. В таблице установочные параметры SRM1 представлены в порядке их расположения в
области DM. Подробное описание параметра Вы можете найти в пункте, указанном в правом столбце.
Слово (а) Áèò(û) Функция Пункт
Обработка пуска (DM 6600 - DM 6614)
Введенные в ПК значения параметров вступают в силу только после перезапуска ПК. DM 6600 00 - 07 Режим пуска (действует, когда биты 08 - 15 = 2).
08 - 15 Режим запуска
DM 6601 00 - 07 Резерв(=00)
08 - 11 Состояние бита сохранения входов/выходов (SR 25212)
12 - 15 Состояние бита удержания принудительной установки (SR 25211)
DM 6602 00 - 03 Защита памяти от записи
04-07
08 - 15 Резерв
DM 6603 00 - 03 Максимальное число устройств CompoBus/S
04 - 15 Резерв
DM 6604 ­DM 6614
Настройка времени цикла (DM 6615 - DM 6619)
Введенные в ПК значения параметров вступают в силу при пуске программы. DM 6615 00 - 15 Резерв DM 6616 00 - 07 Время обслуживания порта RS-232C (действуют, когда биты 08..15 = 01)
00 - 15 Резерв
00: PROGRAM 01: MONITOR 02: RUN
00: переключатель программатора 01: продолжить работу в режиме перед отключением питания 02: задание в битах 00 - 07 данного параметра.
0: сброшен 1: установлен
0: сброшен 1: установлен
0: память программ не защищена 1: память программ защищена от записи (за исключением самого
DM 6602)
Язык программатора 0: английский 1: японский
0: 32 1: 16
00..99:(двоично-десятичные цифры): процент от времени цикла
на обслуживание порта RS-232C .
1.2.1
1.2.2
1.2.3
1-2-4
-23-
1.1 УстановочныепараметрыПК
Слово (а) Áèò(û) Функция Пункт
08 - 15 Задание времени обслуживания порта RS-232C из параметров
DM 6617 00 - 07 Время обслуживания периферийного порта (действуют, когда биты 08..15 =
08 - 15 Задание времени обслуживания периферийного порта из параметров
DM 6618 00 - 07 Время контроля цикла (действует, когда биты 08 - 15 = 01, 02 или 03)
08 - 15 Разрешение контроля за циклом (задание в битах 00 - 07 х дискрету; макс.
DM 6619 00 - 15 Время цикла
DM 6620 ­DM 6644
Установочные параметры порта RS-232C
Следующие параметры вступают в силу после передачи в ПК DM 6645 00 - 03 Задание порта
DM 6646 00 - 07 Скорость связи
DM 6647 00 - 15 Задержка передачи (Host Link)
DM 6648 00 - 07 Номер узла (Host link, действуют, когда биты DM 6645 12 - 15=0) 00..31
00 - 15 Резерв (не использовать)
04 - 07 Контроль CTS:
08 - 11 Слова связи (действуют, когда биты 12..15 =3)
12 - 15 Режим связи
08 - 15 Формат кадра
00: 5% от времени цикла 01: время, заданное битами 00 - 07
1.2.5
01)
00..99 (двоично-десятичные цифры): процент от времени цикла.
00: 5% от времени цикла 01: время, заданное битами 00 - 07
1.2.10
00 - 99 (двоично-десятичные цифры): Задание (см. биты 08 - 15)
99 ñ) 00: 120 мс (задание бит 00 - 07 запретить) 01: Дискрета задания: 10 мс. 02: Дискрета задания: 100 мс 03: Дискрета задания: 1 с
1.2.6
0000: Непостоянное (минимальное не задано)
0001.. 9999 (двоично-десятичные цифры): минимальное время в мс
1.6.1
00: стандартное (1 стартовый бит, данные 7 бит, четн., 2
стоповых бита, 9 600 бод)
01: заданное в DM 6646
0: запрещен 1: разрешен
0: LR 00 - LR 15, другие: не работают
0 связь с верхним уровнем (Host Link) 1 RS-232C (без протокола) 2: связь 1+1 (ведомый) 3 связь 1+1 (ведущий)
00: 1.2 Ê, 01: 2.4 Ê, 02: 4.8 Ê, 03: 9.6 Ê, 04: 19.2 Ê
Старт Длина Ñòîï Четность 00: 1 áèò 7 áèò 1 áèò ÷åòí. 01: 1 áèò 7 áèò 1 áèò нечетн. 02: 1 áèò 7 áèò 1 áèò íåò 03: 1 áèò 7 áèò 2 áèòà ÷åòí. 04: 1 áèò 7 áèò 2 áèòà нечетн. 05: 1 áèò 7 áèò 2 áèòà íåò 06: 1 áèò 8 áèò 1 áèò ÷åòí. 07: 1 áèò 8 áèò 1 áèò нечетн. 08: 1 áèò 8 áèò 1 áèò íåò 09: 1 áèò 8 áèò 2 áèòà ÷åòí. 10: 1 áèò 8 áèò 2 áèòà нечетн. 11: 1 áèò 8 áèò 2 áèòà íåò
0000..9999 (двоично-десятичные цифры): задается в единицах 10 мс. Напр. задание 0001=1мс.
(двоично-десятичные цифры)
-24-
1.2 БазовыеоперацииПКипроцессывходов/выходов
Слово (а) Áèò(û) Функция Пункт
08 - 11 Разрешение кода пуска (RS-232C, действуют, когда биты DM 6645 12..15
12 - 15 Разрешение кода окончания (RS-232C, действуют, когда биты DM 6645
DM 6649 00 - 07 Код старта (RS-232C )
08 - 15 Когда биты 12..15 DM 6648 = 0:
Параметры периферийного порта
Значения параметров вступают в силу после ввода в ПК. DM 6650 00 - 07 Задание порта
08 - 11 Резерв 12 - 15 Режим связи
DM 6651 00 - 07 Скорость обмена
08 - 15 Формат кадр
DM 6652 00 - 15 Задержка передачи (Host Link)
DM 6653 00 - 07 Номер узла (Host link, действуют, когда биты DM 6645 12 - 15=0) 00..31
08 - 11 Разрешение кода пуска (RS-232C, действуют, когда биты DM 6645 12..15
=1) 0: не разрешен 1: задан
12..15 =1) 0: не разрешен (прием заданного числа байт) 1: разрешен (задан код окончания) 2: CR, LF (возврат каретки, перевод строки)
1.6.1
00.. FF (двоичное число)
Количество принимаемых байт: 00: значение по умолчанию (256 байт)
01..FF: 1..256 байт Когда биты 12..15 DM 6648 = 1:
Код окончания (RS-232C) 00 .. FF: (двоичное число)
1.6.4
00: Стандартное (1 стартовый бит, данные 7 бит, четн., 2
стоповых бита, 9 600 бод) 01: Заданное в DM 6651 (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0)).
0: Host Link, 2: свободный протокол (другие значения вызовут признак нефатальной ошибки)
00: 1.2 Ê, 01: 2.4 Ê, 02: 4.8 Ê, 03: 9.6 Ê, 04: 19.2 Ê
Старт Длина Ñòîï Четность 00: 1 áèò 7 áèò 1 áèò ÷åòí. 01: 1 áèò 7 áèò 1 áèò нечетн. 02: 1 áèò 7 áèò 1 áèò íåò 03: 1 áèò 7 áèò 2 áèòà ÷åòí. 04: 1 áèò 7 áèò 2 áèòà нечетн. 05: 1 áèò 7 áèò 2 áèòà íåò 06: 1 áèò 8 áèò 1 áèò ÷åòí. 07: 1 áèò 8 áèò 1 áèò нечетн. 08: 1 áèò 8 áèò 1 áèò íåò 09: 1 áèò 8 áèò 2 áèòà ÷åòí. 10: 1 áèò 8 áèò 2 áèòà нечетн. 11: 1 áèò 8 áèò 2 áèòà нет (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0)).
0000..9999: в мс. (другие значения вызовут признак нефатальной ошибки и будет использовано значение по умолчанию (0000)).
(двоично-десятичные цифры)
=1) 0: не разрешен 1: задан
-25-
1.2 БазовыеоперацииПКипроцессывходов/выходов
Слово (а) Áèò(û) Функция Пункт
12 - 15 Разрешение кода окончания (RS-232C, действуют, когда биты DM 6645
DM 6654 00 - 07 Код старта (RS-232C )
08 - 15 Код окончания
Установочные параметры протокола ошибок (DM 6655)
Следующие параметры вступают в силу после передачи в ПК. DM 6655 00 - 03 Стиль
04 - 07 Резерв 08 - 11 Разрешение времени наблюдения за циклом
12 - 15 Резерв
12..15 =1) 0: не разрешен (прием заданного числа байт) 1: разрешен (задан код окончания) 2: CR, LF (возврат каретки, перевод строки)
00.. FF (двоичное число)
Когда биты 12..15 DM 6648 = 0: Количество принимаемых байт: 00: значение по умолчанию (256 байт)
01..FF: 1..256 байт Когда биты 12..15 DM 6648 = 1:
Код окончания (RS-232C) 00 .. FF: (двоичное число)
1.2.10 0: Сдвиг после сохранения 10 записей 1: Сохранение только 10 записей (без сдвига)
2..F: Не сохранять записи
1.2.10 0: Обнаруживать длинные циклы как нефатальные ошибки 1: Не обнаруживать длинные циклы
1.2 БазовыеоперацииПКипроцессывходов/выходов
В данной главе описываются установочные параметры, относящиеся к базовым операциям ПК и процессам входов/выходов.
1.2.1 Режим пуска
Режим работы ПК, в который он переходит по включению питания, можно задавать следующим образом:
Áèò 15 0
DM6600
сточник задания при пуске ПК
00: С переключателя режимов на программаторе
(если не подключен - режим RUN)
01: Режим, вкотором ПК находился перед
отключением
02: Режим, заданный битами 00..07
Режим при пуске: (биты 08..15 действуют только при задании битов 00..07 = 02)
00: Режим PROGRAM 01: Режим MONITOR 02: Режим RUN
По умолчанию: переключатель режимов на программаторе или RUN, если программатор не подключен.
-26-
1.2 БазовыеоперацииПКипроцессывходов/выходов
1.2.2 Состояние бита удержания
Установите следующие значения для задания, будет ли при включении питания сохранено значение Бита удержания принудительного состояния (SR 25211) и/или Бита удержания входов/выходов (SR 25212), которое действовало перед выключением питания ПК, или предыдущее состояние будет очищено.
Áèò 15
DM6601
Всегда 00
Äëÿ SR 25211
0: Очистить состояние 1: Сохранить состояние
Äëÿ SR24212
0: Очистить состояние 1: Сохранить состояние
По умолчанию: Очистить оба бита.
Бит удержания принудительного состояния (SR 25211) определяет, будет или нет сохраняться принудительное состояние при переключении режимов с PROGRAM на MONITOR.
Бит удержания входов/выходов (SR 25212) определяет, будет или нет сохраняться состояние битов IR и LR после того, как работа ПК была начата и остановлена.
0
0 0
1.2.3 Защита от записи памяти программ (только для CPM1/CPM1A)
В CPM1/CPM1A память программ можно защитить от записи, установив DM 6602, биты
00..03, в 0. Биты 04..07 определяют язык сообщений ПК (английский или японский).
Всегда 00
Язык собщений программатора
0: Английский 1: Японский
Память программ
0: Не защищена от записи 1: Защищена от записи
По умолчанию: Английский, не защищена.
Áèò 15
DM6602
0 0
0
Замечание После установки защиты памяти программ от записи (установив биты 04..07
DM 6602 в 1) сам параметр DM 6602 изменять можно.
1.2.4 Время обслуживания порта RS-232C (только CQM1/SRM1)
Служит для задания процента времени цикла, отведенного на обслуживание порта RS­232C.
-27-
1.2 БазовыеоперацииПКипроцессывходов/выходов
Áèò 15 0
DM6616
Разрешить задание времени из параметра
00: Нет (только 5%) 01: Разрешить (задается битами 00..07)
Время обслуживания (действует при битах 08..15 = 1)
00..99: BCD, два разряда
По умолчанию: 5% времени цикла.
Пример: DM 6616 = 0110, порт RS 232C будет обслуживаться 10% времени цикла. Минимальное время обслуживания - 0.34 мс. Полное время обслуживание будет использоваться только когда есть запросы на
обслуживание.
1.2.5 Время обслуживания периферийного порта
Служит для задания процента времени цикла для обслуживания периферийного порта.
Áèò 15
DM6602
0 0
0
Разрешить задание времени из параметра
00: Нет (только 5%) 01: Разрешить (задается битами 00..07)
Время обслуживания (действует при битах 08..15 = 1)
00..99: BCD, два разряда
По умолчанию: 5% времени цикла.
Пример: DM 6617 = 0115, периферийный порт будет обслуживаться 15% времени цикла. Минимальное время обслуживания - 0.34 мс. Полное время обслуживание будет использоваться только когда есть запросы на
обслуживание.
1.2.6 Время цикла
Устанавливайте следующие параметры для стандартизации времени цикла и устранения “плавания” времени реакции входов/выходов путем задания минимального времени цикла.
Áèò 15 0
DM6619
Время цикла (BCD, 4 разряда)
0000: Время цикла переменное
0001..9999: Минимальное время цикла (дискретность - 1 мс)
По умолчанию: Время цикла переменное.
Если фактическое время цикла короче минимального, исполнение программы будет задержано до истечения минимального времени. Если фактическое время цикла
-28-
1.2 БазовыеоперацииПКипроцессывходов/выходов
длиннее минимального, работа продолжится согласно фактическому времени цикла. Если превышено минимальное время цикла, AR 2405 установится = 1.
1.2.7 Константы времени входа
Произведите следующие настройки для задания промежутка времени от момента, когда реальные входы с блока входов постоянного тока (DC) установятся в состояние 1 или 0 до того момента, когда эти значения передадутся входным битам (т.е. когда изменится состояние 1 или 0 входных бит). Производите данную настройку тогда, когда нужно настроить время до стабильного срабатывания входов.
Увеличение константы времени входа сокращает влияние дребезга и внешних помех.
Вход с внешнего устройства (например выключателя)
Состояние входного бита
tt
Задержка включения входного бита
CQM1
В DM 6620 содержатся константы времени входа для IR 000 и IR 001.
Константы времени входа для IR 000 и IR 001
Áèò 15 0
DM6620
Константы задержки для IR 001 (BCD, 2 разряда; см. ниже)
Константы задержки для IR 00008..00015 (BCD, 1 разряд; см. ниже)
Константы задержки для IR 00000..00007 (BCD, 1 разряд; см. ниже)
По умолчанию: 8ìñ
Константы времени входа для IR 002 - IR 011
DM 6621: IR 002 è IR 003 DM 6622: IR 004 è IR 005 DM 6623: IR 006 è IR 007 DM 6624: IR 008 è IR 009 DM 6625: IR 010 è IR 011
Константы задержки для IR 003, IR 005, IR 007, IR 009, IR 011
Áèò 15 0
DM6621-
DM6625
Константы задержки для IR 002, IR 004, IR 006, IR 008, IR 010
По умолчанию: 8 мс
Девять возможных значений константы времени входа показаны ниже. Для IR 000 задавайте только самую правую цифру.
-29-
1.2 БазовыеоперацииПКипроцессывходов/выходов
0:8ìñ 1:1ìñ 2:2ìñ 3:4ìñ 4:8ìñ 5: 16 ìñ 6: 32 ìñ 7: 64 ìñ 8: 128 ìñ
CPM1/CPM1A
Задавайте константы времени входа для входов CPM1/CPM1A с периферийного устройства.
Константы времени входа для IR 000
Áèò 15 0
DM6620
Константы задержки для IR 00007..IR 00011 (BCD, 1 разряд; см. ниже)
Константы задержки для IR 00005..IR 00006 (BCD, 1 разряд; см. ниже)
Константы задержки для IR 00003..IR 00004 (BCD, 1 разряд; см. ниже)
Константы задержки для IR 00000..IR 00002 (BCD, 1 разряд; см. ниже)
По умолчанию: 8 мс
Константы времени входа для IR 001 - IR 009
DM 6621: IR 001 è IR 002 DM 6622: IR 003 è IR 004 DM 6623: IR 005 è IR 006 DM 6624: IR 007 è IR 008 DM 6625: IR 009
Константы задержки для IR 002, IR 004, IR 006, IR 008
Константы задержки для IR 001, IR 003, IR 005, IR 007, IR 009
По умолчанию: 8 мс
Áèò 15 0
DM66
Девять возможных значений константы времени входа показаны ниже. Для IR 000 задавайте только самую правую цифру.
0:8ì 1:1ìñ 2:2ìñ 3:4ìñ 4:8ìñ 5: 16 ìñ 6: 32 ìñ 7: 64 ìñ 8: 128 ìñ
Время реакции на вход СPM1 - это константа времени(1-128мс,поумолчанию 8 мс) + время цикла. Подробности см. 7.2.
1.2.8 Высокоскоростные таймеры (Только CQM1)
Установите значения, приведенные далее, для задания числа высокоскоростных таймеров, созданных командой TIMH(15), которые будут использовать обработку прерываний.
-30-
1.2 БазовыеоперацииПКипроцессывходов/выходов
Áèò 15 0
DM6629
Разрешение прерываний высокоскоростных таймеpов
00: Запретить (прерывания для всех высокоскоростных таймеров TIM 000 .. TIM 008 01: Разрешить (использовать биты 00..07)
Число высокоскоростных таймеров для прерываний (действует при битах 08..15 = 01
00..15: BCD, 2 разряда
По умолчанию: Разрешение всех высокоскоростных таймеров, TIM 000
Данный параметр указывает число таймеров, которые будут использовать обработку прерываний, начиная с TIM 00. Например, если задано 0108, восемь таймеров - TIM 000
- TIM 007 будут использовать обработку прерываний.
Замечание Высокоскоростные таймеры будут правильно работать без обработки
прерываний только в случае, если время цикла 10 мс или меньше.
Время реакции для других прерываний улучшится, если параметр обработки прерываний будет установлен в 0, когда высокоскоростные таймеры не требуются. Это в силе всегда, когда время цикла менее 10 мс.
Замечание Если используется команда SPED (64) и выдаются импульсы частотой 500
Гц или выше, устанавливайте число высокоскоростных таймеров с обработкой прерываний 4 и менее. Подробности см, описание команды SPED (64).
1.2.9 Количество вводимых цифр для DSW(87) и Метод обновления выходов (Только CQM1)
Установите значения, приведенные далее, для задания числа вводимых цифр команды DSW(87) и метода обновления выходов.
Áèò 15 0
DM6639
Число вводимых цифр для DSW(87)
00: 4 цифры 01: 8 цифр
Метод обновления входов
00: Циклический 01: Прямой
По умолчанию: Число входных цифр для DSW(87) - 4; метод обновления - циклический
Подробности о команде DSW(87) см. гл. 2 и подробности о методе обновления выходов гл. 7.
1.2.10 Параметры протокола ошибок
Установите значения, приведенные далее, для обнаружения ошибок и сохранения протокола ошибок.
-31-
1.2 БазовыеоперацииПКипроцессывходов/выходов
Áèò 15 0
DM6618
Разрешение контроля цикла и еденицы контроля
00: фиксированоое значение (120мс) 01: значения битов 00..07, дискрета 10мс 02: значения битов 00..07, дискрета 100мс 03: значения битов 00..07, дискрета 1с
Время контроля цикла (действует, если биты
08..15 не равны 0)
00..99: две цифры BCD
По умолчанию: 120 ìñ
Время контроля цикла служит для проверки на очень длинные времена цикла, что может случиться, когда программа заходит в бесконечную петлю. Если время цикла превышает заданное в параметре, генерируется признак фатальной ошибки (FALS 9F).
Замечание 1. Единица времени, используемая для макс. и текущего времени цикла,
записанная в области AR (AR 26 и AR 27 в CQM1, AR 14 и AR 15 в CPM1/CPM1A) зависит от параметра DM 6618, как показано далее.
Áèòû 08 - 15 = 0 èëè 1: 0.1 ìñ Áèòû 08 - 15 = 2: 1 ìñ Áèòû 08 - 15 = 3: 10 ìñ
2. Даже если время цикла=1сиболее, время цикла, читаемое с программных устройств не будет превышать 999.9 мс. Правильное макс. значение и текущее время запишется в область AR.
Пример:
Если в DM 6618 задано 0230, ошибка FALS 9F не появится, пока время цикла не превысит 3 с. Если фактическое время цикла = 2.59 с, текущее время цикла, записанное в область AR = 2590 (мс), но время цикла, считанное с программирующего устройства, будет = 999.9 мс.
Признак нефатальной ошибки “время цикла превышено” появится при превышении времени цикла 100 мс, если только обнаружение большого времени цикла не запрещен параметром DM 6655.
Обнаружение ошибок и операции с протоколом ошибок (DM 6655)
Установите значения, приведенные далее, для задания, нужно ли генерировать признак нефатальной ошибки, когда время цикла превысит 100 мс или когда снизится напряжение встроенного аккумулятора (только CQM1) и задания метода сохранения записей в протоколе ошибок при их появлении.
-32-
1.2 БазовыеоперацииПКипроцессывходов/выходов
Áèò 15
DM6655
Регистрация падения напряжения
0: регистрировать 1: не регистрировать
Обнаружение превышения времени цикла
0: регистрировать 1: не регистрировать
Всегда 0
Метод записи в протокол ошибок
0: протокол 10 последних ошибок всегда сохраняется 1: сохранять только 10 первых ошибок
2..F: не сохранять
По умолчанию: регистрировать падение напряжения аккамулятора, регистрировать превышения времени цикла, сохранять последние 10 ошибок
0
Ошибки падения напряжения аккумулятора и превышения времени цикла - нефатальные ошибки.
Подробности о протоколе ошибок см. гл. 8.
Замечание Ошибки падения напряжения аккумулятора есть только в CQM1, в
CPM1/CPM1A эта цифра не используется.
-33-
1.3 Функциивыдачи импульсов(толькоCQM1)
1.3 Функциивыдачи импульсов(толькоCQM1)
В данной главе объясняются параметры и методы использования функций выдачи импульсов. Подробности об аппаратном подключении входов и портов см. Инструкцию по работе CQM1.
1.3.1 Типы выдачи импульсов
Все CQM1 могут выдавать стандартные импульсы с выходного бита, а CQM1-CPU43­EV1 может также выдавать стандартные или импульсы с переменным коэффициентом заполнения с портов1и2.Устандартных импульсов коэффициент заполнения (t %. Коэффициент заполнения для импульсов с переменным коэффициентом заполнения может быть установлен в диапазоне 1% - 99% (через 1%).
Замечание У CQM1-CPU43-EV1 импульсы могут выдаваться с 3 портов одновременно.
Кроме того, 2 порта могут быть использованы для счетных входов, независимо от выдачи импульсов.
Выдача стандартных импульсов с простого выхода
Стандартные импульсы (коэффициент заполнения = 50 %) могут выдаваться с обычного выхода с частотой 20 Гц..1 кГц. Слово входа/выхода задается в установочных параметрах, а бит задается в самой команде выдачи импульса. Подробности см. 1-3-2.
Выдача стандартных импульсов с портов1и2
CQM1-CPU43-EV1 может выдавать стандартные импульсы (коэффициент заполнения = 50 %) с портов 1 и/или 2 с частотой 10 Гц..50 кГц. (макс. 20 кГц для шагового двигателя). Выдача импульсов может быть по часовой или против часовой стрелки, а частота может меняться плавно.
PLS2(-) и режим 0 ACC (-) нельзя использовать при установке DM 6611 в режим высокочастотного счетчика. CTBL(63) нельзя использовать с портами 1 или 2 при установке DM 6611 в режим выдачи импульсов. Подробности см. 1-3-3.
Выдача импульсов с переменным коэффициентом заполнения с портов1и2
CQM1-CPU43-EV1 может выдавать импульсы с переменным коэффициентом заполнения (1 - 99 %) с портов 1 и/или 2 с частотой 91.6 Гц, 1.5 кГц или 5.9 кГц. Импульсы могут выдаваться только одного направления и выдача продолжается до останова командой INI (61). Подробности см. 1-3-4.
/T) 50
on
1.3.2 Выдача стандартных импульсов с простого выхода
Стандартные импульсы можно выдавать с заданного выходного бита командой SPED(64). Импульсы можно выдавать одновременно только с одного бита. На схеме показана выдача импульсов с обычного блока транзисторного выхода, установленного на CQM1. Коэффициент заполнения - 50 %, частоту можно задавать от 20 Гц до 1 кГц.
Модуль транзисторных выходов
Замечание 1. Для выполнения данной задачи нужно использовать транзисторный
выход.
2. Импульсы не выдаются при работе интервального таймера 0.
3. При выдаче импульсов частотой выше 500 Гц следует установить число высокоскоростных таймеров с обработкой прерываний 4 (DM 6629 = 0104).
При выдаче импульсов с обычного выхода частоту можно изменять ступенчато повторным выполнением команды SPED(64) с другой частотой, как показано на диаграмме.
ton/T=50% (0.5)
t
on
T
-34-
1.3 Функциивыдачи импульсов(толькоCQM1)
Частота
Время
Прекратить выдачу можно 2 способами:
1, 2, 3,... 1. После выполнения SPED(64) выдача прекратится, если выполнить INI(61)
c C=003 или снова выполнить SPED(64) с частотой 0.
2. Можно задать общее число импульсов командой PULS(65) перед выполнением SPED(64). В таком случае SPED(64) должна выполняться в “независимом режиме”. Выдача импульсов прекратится автоматически после выдачи числа импульсов, заданных командой PULS(65).
Замечание Подробности о командах PULS(65) и SPED(64) см. описание
соответствующих команд.
Настройка установочных параметров
Перед выполнением SPED(64) для выдачи импульсов с Блока Выходов переключите ПК в режим PROGRAM и проведите следующие настройки:
Áèò 15 0
DM6615
Всегда 00
Слово выхода
Два двоично-десятичных числа: 00..11
По умолчанию: выдача импульсов с IR 100
В DM 6615 задайте выходное слово, с которого будут выдаваться импульсы. (Бит указывается в первом операнде SPED(64).)
Содержимое DM 6615 (0000..0011) задает выходное слова IR 100..IR 111. Например, если DM 6615 = 0002, импульсы будут выдаваться с IR 102.
В CQM1-CPU11/21-E установите прямое обновление выходов в параметре DM 6639 следующим образом. (В CQM1-CPU4_-E метод обновления может быть установлен либо прямой, либо циклический).
Áèò 15
DM6639
Метод обновления выходов:
01: Непосредственный
По умолчанию: циклический
0
0 1
Выдача импульсов в непрерывном режиме
При исполнении команды SPED(64) импульсы начинают выдаваться на указанный выход. Задайте бит выхода 00..015 (D=000..150) и частоту (20 Гц..1000 Гц) (F=0002..0100). Режим установите на непрерывный (М=001).
-35-
1.3 Функциивыдачи импульсов(толькоCQM1)
Условие
@SPEED(64)
D
M
F
Выдачу импульсов можно остановить, если выполнить INI(61) c C=003 или снова выполнить SPED(64) с частотой 0. Частоту можно изменять повторным исполнением SPED(64) с другим заданием частоты.
Задание числа импульсов
Общее число импульсов, которые будут выданы, можно задать командой PULS(65) перед выполнением SPED(64) в “независимом режиме“. Выдача импульсов прекратится автоматически после выдачи числа импульсов, заданного командой PULS(65).
Условие
@PULS(65)
000
000
P1
PULS(65) задает число импульсов 8-разрядным числом P1+1, Р в диапазоне
00000001..16777215. Число импульсов, заданных PULS(65), доступно, когда SPED(64) выполняется в “независимом режиме“. (Число импульсов, процесс выдачи которых идет, нельзя изменить).
Условие
@SPEED(64)
D
M
F
При выполнении SPED (64) импульсы начинают выдаваться с заданного выходного бита (D= 000..150, биты 00 - 15) с заданной частотой ( F=0002..0100; 20 Гц - 1000 Гц). Для выдачи числа импульсов согласно PULS(65), задайте “независимый режим” (М=001). Частоту можно изменять, выполнив SPED(64) с новым значением частоты.
Изменение частоты
Частоту можно изменять, повторно выполнив SPED(64) с другим значением частоты. Используйте тот же самый выходной бит (Р) и режим (М), которые использовались для пуска выдачи импульсов. Новая частота должна быть от 20 Гц до 1000 Гц (F=0002..0100).
1.3.3 Выдача стандартных импульсов с портов1и2
CQM1-CPU43-EV1 может выдавать стандартные с портов1и2спомощью команд SPED(64), PLS2(-) или ACC(-). Частоту можно задавать в диапазоне 10 Гц..50 кГц. (макс. 20 кГц для шагового двигателя). Импульсы могут выдаваться по часовой или против часовой, а частота может меняться плавно.
-36-
1.3 Функциивыдачи импульсов(толькоCQM1)
ton/T=50% (0.5)
t
on
T
Замечание Только CQM1-CPU43-EV1 может выдавать стандартные с портов1и2.
При выдаче импульсов с порта частоту можно менять плавно или ступенчато командами SPED(64), PLS2(-) или ACC(-), как показано на диаграмме.
Частота
Прекратить выдачу можно 2 способами:
1, 2, 3,... 1. После выполнения SPED(64) выдача прекратится, если выполнить INI(61)
Тип изменения частоты
ïîðò 1
ïîðò 2
CW
CCW
CW
CCW
Время
c C=003 или снова выполнить SPED(64) с частотой 0.
2. Общее число импульсов, которые будут выданы, можно задать командой PULS(65) перед выполнением SPED(64). В этом случае SPED(64) должна выполняться в “независимом режиме”. Выдача импульсов прекратится автоматически после выдачи числа импульсов, заданных командой PULS(65).
Команда Инструкция Пример N
Начать выдачу импульсов заданной частоты. Выдача идет непрерывно или до выдачи заданного числа импульсов. (Выполнить PULS(65), затем SPED(64).
Прекратить выдачу импульсов командой (Выполнить SPED(64) или INI (61)
Выдает заданное число импульсов Увеличивает частоту до заданной частоты с заданным ускорением. Уменьшает частоту с тем же коэффициентом замедления.
PULS(65) CW/CCW (по чс или против
чс) (Число импульсов)
SPED(64) Ïîðò
Режим Частота
SPED(64) Ïîðò
Частота = 0 INI (61) Слово управления = 0 PLS2(-) Ïîðò
CW/CCW (по чс или против
֖)
Коэффициент ускорения
Заданная частота
Число импульсов
-37-
1.3 Функциивыдачи импульсов(толькоCQM1)
Тип изменения частоты
Команда Инструкция Пример N
Выдает указанное число импульсов Увеличивает частоту до заданной частоты 1 с заданным коэффициентом. Уменьшает частоту до заданной частоты 2 с другим коэффициентом. (Выполнить PULS(65), затем ACC(-).)
Увеличивает частоту до заданной частоты с заданным коэффициентом. Выдача импульсов продолжается. (Выполнить PULS(65), затем ACC(-).)
Уменьшает текущую частоту до заданной частоты с заданным коэффициентом. Выдача прекратится после выдачи заданного числа импульсов.
(Выполнить PULS(65), затем ACC(-).) Уменьшает текущую частоту до
заданной частоты с заданным коэффициентом. Выдача импульсов продолжается.
(Выполнить PULS(65), затем ACC(-).)
PULS(65) CW/CCW
ACC(-) (Режим 0)
PULS(65) CW/CCW
ACC(-) (Режим 1)
PULS(65) CW/CCW
ACC(-) (Режим 2)
PULS(65) CW/CCW
ACC(-) (Режим 3)
(по чс или против чс)
Число импульсов
Момент уменьшения
Ïîðò
Коэффициент ускорения
Заданная частота 1
Коэффициент замедления
Заданная частота 2
(по чс или против чс)
Ïîðò
Коэффициент ускорения
Заданная частота
(по чс или против чс)
Число импульсов
Ïîðò
Коэффициент замедления
Заданная частота
(по чс или против чс)
Число импульсов
Ïîðò
Коэффициент замедления
Заданная частота
В таблице приведены типы изменения частоты, которые можно произвести комбинацией PULS(65), SPED(64), INI (61), PLS2(-) и ACC(-).
Настройка параметров ПК
Перед выполнением выдачи импульсов с портов 1 или 2 переключите ПК в режим PROGRAM и проведите следующие настройки в установочных параметрах:
В DM 6611 задайте режим для портов1и2.
Áèò 15 0
DM6611
Реимыпортов1и2
0000: режим высокоскоростного счетчика 0001: режим выдачи импульсов
По умолчанию: режим высокоскоростного счетчика
В зависимости от режима, заданного в DM 6611, некоторые команды нельзя использовать
Значение DM 6611 “Пораженные” команды 0000: режим высокоскоростного счетчика PLS2(-) и режим 0 ACC(-) нельзя использовать 0001: режим выдачи импульсов CTBL(63) нельзя использовать с портами1и2
Значения DM 6611 читаются только при пуске CQM1. При изменении данного слова обязательно выключите и снова включите ПК.
Задайте выдачу стандартных импульсов в DM 6643 (порт 1) и / или DM 6644 (порт 2).
-38-
1.3 Функциивыдачи импульсов(толькоCQM1)
Áèò 15
DM6643
Тип импульсов, порт 2
0: стандартный
Тип импульсов, порт 2
0: стандартный
По умолчанию: стандартный
0
0
Áèò 15
DM6644
0
0
Выдача импульсов с переменным коэффициентом заполнения с портов невозможна, если в словах DM 6643 (порт 1) и DM 6644 установлены стандартные импульсы.
Пример 1: Запуск выдачи импульсов командами PULS(65) и SPED (64)
В следующем примере показано использование команд PULS(65) и SPED (64) для управления выдачей импульсов с порта 1. Выдается число импульсов, заданных PULS(65) (10 000), в то время как частота изменяется командой SPED (64).
Перед выполнением программы установите DM 6611 = 0001 (режим выдачи импульсов), а DM 6643 = 0000 (стандартные импульсы с порта 1).
05000
@PULS(65)
001
000
DM 0000
При 05000=1 @PULS(65) устанавливает порт 1 на 10000 импульсов по чс
@SPEED(64)
001
000
#0100
00000
@SPEED(64)
001
000
#0150
00001
@SPEED(64)
001
000
#0100
00002
@SPEED(64)
001
000
#050
Запускает выдачу импульсов1kHzспорта1 врежиме"выдача заданного числа импульсов"
При включении 00000 в положение 1 частота выдачи с порта 1 меняется на 1.5kHz
При включении 00001 в положение 1 частота выдачи с порта 1 меняется на 1.0kHz
При включении 00002 в положение 1 частота выдачи с порта 1 меняется на 0.5kHz
На диаграмме приведена частота импульсов с порта 1 при выполнении программы.
-39-
1.3 Функциивыдачи импульсов(толькоCQM1)
Частота, kHz
1.5
1
0.5
Время
05000=1 00000=1 00001=1 00002=1 10 000 импульсов
Внимание! При пуске и останове двигателя следите, чтобы частота находилась в
пределах пусковой частоты двигателя.
Замечание Синхронизация при управлении скоростью будет очень точной, если
изменения частоты выполняются как процессы входных прерываний.
Пример 2: Прекращение выдачи импульсов командой SPED (64)
В примере показано использование команд PULS(65) и SPED (64) для управления выдачей импульсов с порта 1. Частота изменяется командой SPED (64) с другими заданиями частоты и, наконец, выдача прекращается путем задания частоты =0.
05000
@PULS(65)
001
004
000
При 05000=1 @PULS(65) устанавливает порт 1 на выдачу импульсов по чс. Число импульсов не задается
@SPEED(64)
001
000
#0100
00005
@SPEED(64)
001
000
#0150
00006
@SPEED(64)
001
000
#0100
00007
@SPEED(64)
001
000
#0000
Запускает выдачу импульсов1kHzспорта1 в режиме бесконечной выдачи
При включении 00005 в положение 1 частота выдачи с порта 1 меняется на 1.5kHz
При включении 00006 в положение 1 частота выдачи с порта 1 меняется на 1.0kHz
При включении 00007 в положение1выдача импульсов прекращается
На диаграмме приведена частота импульсов порта 1 при выполнении программы.
-40-
1.3 Функциивыдачи импульсов(толькоCQM1)
Частота, kHz
1.5
1
Время
05000=1 00005=1 00006=1 00007=1
Внимание! При пуске и останове двигателя следите, чтобы частота находилась в
пределах пусковой частоты двигателя.
На диаграмме приведена частота выдачи импульсов с порта 1 при выполнении этой программы.
Пример 3: PLS2(-)
В следующем примере показано использование команды PLS2(-) для выдачи 100 000 импульсов по чс с порта 1. Частота увеличивается до 10 кГц с ускорением 500 Гц/ 4 мс и уменьшается с таким же темпом.
DM 0000
DM 0001
DM 0002
DM 0003
0050
1000
0000
0010
00000
05000
TIM 000
AR 0514
SET 05000
@PLS2(-)
001
000
DM 0000
TIM
@PLS(-)
001
001
DM 0000
RSET 05000
000
#0050
При включении 00000 бит 05000 устанавливается в 1
При включении 05000 PLS(-) включает выдачу импульсовспорта1почс. Ускорение: около 500Hz/4мс Заданная частота: 10kHz Число импульсов: 100000
При включении AR 0514 (флаг завершения выдачи импульсов) стартует таймерна5с.
После отработки таймера PLS(-) включает выдачу импульсов с порта 1 по против чс. Ускорение: около 500Hz/4мс Заданная частота: 10kHz Число импульсов: 100000
После отработки таймера бит 05000 выключается
Через 5 с после начала выдачи по чс другая команда PLS2(-) выдает 100 000 импульсов против чс с теми же параметрами.
На диаграмме приведена частота выдачи импульсов с порта 1 при выполнении этой программы.
-41-
Частота
1.3 Функциивыдачи импульсов(толькоCQM1)
Выдача по чс Выдача против чс
05000=1 AR 0514=1 Спустя 5 с
Время
Пример 4: ACC(-), режим 0
В следующем примере показано использование режима 0 команды AСС(-) для выдачи 10 000 импульсов по чс с порта 1. Частота увеличивается до 10 кГц с ускорением около 1 кГц/ 4 мс и уменьшается до 1 кГц с ускорением 250 Гц/4 мс. Замедление начинается после выдачи 9 100 импульсов.
DM 0000
DM 0001
DM 0002
DM 0003
00000
0000
0001
9100
0000
DM 0004
DM 0005
DM 0006
DM 0007
@PULS(65)
001
002
DM 0000
@ACC(-)
001
000
DM 0004
0100
1000
0025
0050
При включении 00000 PLS(65) задает выдачу импульсовспорта1почс. Число импульсов: 10000 Момент начала снижения частоты: 9100 Заданная частота: 10Hz
Включает выдачу импульсов с порта 1 Коэффициент ускорения: 1000Hz/4мс Частота после ускорения:10kHz Коэффициент замедления: 250Hz/4мс Частота после замедления: 1kHz
На диаграмме приведена частота импульсов порта при выполнении программы.
Частота
10kHz
1kHz
00000=1 9100 импульсов
10000 импульсов
Время
Пример 5: ACC(-), режим 1
В следующем примере показано использование команды ACC(-), режим 1 для увеличения частоты импульсов с порта 2. Частота увеличивается с 1 кГц до 20 кГц с ускорением 500 Гц/ 4 мс.
-42-
1.3 Функциивыдачи импульсов(толькоCQM1)
ó
00000
00001
0050
2000
@PULS(65)
002
005
000
@SPEED(64)
002
001
#0100
@ACC(-)
002
001
DM 0000
При включении бита 00000 @PULS(65) устанавливает порт2навыдачу импульсовпротивчс. Число импульсов не задается
Запускает выдачу импульсов частотой 1kHz с порта2вбесконечном режиме
При включении бита 00000 ACC(-) начинает увеличивать частоту с ускорением 500Hz/4мс до достижения частоты 20kHz
DM 0000
DM 0001
На следующей диаграмме приведена частота импульсов порта 2 при выполнении программы.
Частота
Ускорение 500Hz/4мс
00000=1 00001=1
Время
На следующей диаграмме приведена частота импульсов порта 1 при выполнении программы.
Замечание Выдачу импульсов можно остановить командой АСС(-), режим 2, с конечной
частотой 0, однако выдача будет прекращена не точно после выдачи заданного числа импульсов, так что этим методом следует пользоваться только при аварийных остановках.
Пример 6: ACC(-), режим 2
В следующем примере представлено использование команды ACC(-), режим 2 для снижения частоты импульсов порта 1. Выдача импульсов с частотой 2 кГц в “независимом режиме“ была уже начата, и останов произойдет после выдачи заданного числа импульсов.
00000
0001
@ACC(-)
002
002
При вкючении бита 00000 ACC(-) начинает уменьшать частоту с
скорением 500Hz/4мс до
DM 0001
На следующей диаграмме приведена частота импульсов порта 1 при выполнении программы.
Частота
20kHz
5kHz
00000=1
Ускорение 1kHz/4мс
Время
-43-
1.3 Функциивыдачи импульсов(толькоCQM1)
Замечание Выдачу импульсов можно остановить командой АСС(-), режим 2, с конечной
частотой 0, однако выдача будет прекращена не точно после выдачи заданного числа импульсов, так что этим методом следует пользоваться только при аварийных остановках.
Пример 7: ACC(-), режим 3
В следующем примере представлено использование команды ACC(-), режим 3 для снижения частоты импульсов порта 1. Выдача импульсов с частотой 20 кГц в непрерывном режиме уже шла.
0100
DM 0000
0500
DM 0001
00000
@ACC(-) 001 003 DM 0000
Ïðè âêþчении áèòà 00000 ACC(-) íà÷èíàåò уменьшàòü ÷àñòîòó ñ óñêорением 1kHz/4ìñ äî äîñòèæåíèÿ ÷àñòîòû 5kHz
На диаграмме приведена частота импульсов порта при выполнении программы.
Частота
20kHz
5kHz
00000=1
Ускорение 1kHz/4мс
Время
1.3.4 Выдача импульсов с переменным коэффициентом заполнения с портов1и2
CQM1-CPU43-EV1 может выдавать импульсы с переменным коэффициентом заполнения с портов 1 и/или 2 с помощью команды PWM(-). Частоту импульсов можно задать 91.6 кГц, 1.5 кГц или 5.9 кГц. Данная функция служит для различных задач управления, таких, как выдача для легкой нагрузки или выдача управления скоростью на преобразователь.
Частота: 91.6, 1.5,
5.9kHz T1/T2=1..99%
t
Ïîðò 1
Ïîðò 2
on
T
Замечание Только ЦУ CQM1-CPU43-EV1 может выдавать импульсы с портов1и2.
Настройка параметров ПК
Перед выдачи импульсов переменного коэффициента заполнения с портов 1 или 2 переключите ПК в режим PROGRAM и проведите следующие настройки:
Задайте параметры выдачи импульсов с переменным коэффициентом заполнения DM 6643 (порт 1) и / или DM 6644 (порт 2).
-44-
1.3 Функциивыдачи импульсов(толькоCQM1)
Áèò 15
DM6643
Тип импульсов порт 1
1: с изменяемым коэффициентом заполнения
По умолчанию: стандартные импульсы
Тип импульсов порт 2
0
DM6644
1: с изменяемым коэффициентом заполнения
Áèò 15
1
0
Импульсы с переменным коэффициентом заполнения нельзя выдавать с порта, если в словах DM 6643 и DM 6644 установлены стандартные импульсы.
Пуск выдачи импульсов
Импульсы будут выдаваться с заданного порта исполнением команды PWM(-). Задайте порт 1 или 2 ( P=001..002). Задайте частоту 5.9 кГц, 1.5 кГц или 91.6 Гц (F=000, 001 ,002). Задайте коэффициент заполнения от 1% до 99 % (D=0001..0099, двоично-десятичное число).
b
@PWM(-)
P
F
D
Выдача будет продолжаться с заданной частотой и коэффициентом заполнения до тех пор, пока не встретится еще одна команда PWM(-) c другими заданиями или команда INI(61) для прекращения выдачи с указанного порта.
Прекращение выдачи импульсов
Выдача импульсов будет прекращена с заданного порта при выполнении команды INI(61)сС=003. Задайте порт 1 (Р=001) или 2 (Р=002).
b
@INI(61)
P
003
000
Пример: PWM (-)
В примере представлено использование команды PWM (-) для запуска выдачи с порта 1 импульсов 1.5 кГц и изменения коэффициента заполнения с 50 % до 25 %. Затем выдача останавливается командой INI(61).
Перед выполнением программы задайте DM 6643 = 1000 (выдача импульсов с переменным коэффициентом заполнения с порта 1).
-45-
1.3 Функциивыдачи импульсов(толькоCQM1)
00000
@PWM(-)
001
001
#0050
00001
@PWM(-)
001
001
#0025
00002
@INI(61)
001
003
000
При включении бита 00000 с порта 1 выдаются импульсы с коэффициентом заполнения 50%
При включении бита 00001 коэффициент заполнения становится равным 25%
При включении бита 00002 INI(61) прекращает выдачу импульсов с порта 1
На диаграмме показан коэффициент заполнения импульсов порта 1 при выполнении данной программы.
Коэффициент заполнения 50% Коэффициент заполнения 25%
00000=1 00001=1 00002=1
1.3.5 Определение состояния портов1и2
Состояние выдачи импульсов с портов1и2(для стандартных импульсов или с переменным коэффициентом заполнения) можно определить либо чтением состояния соответствующих флагов в SR и AR, либо командой PRV(62).
Чтение состояния флагов
Состояние выдачи импульсов можно определить, прочитав содержание слов и флагов, указанных в таблице.
Слово(а) Áèò(û) Функция Описание
SR 236, SR 237
SR 238, SR 239
AR 04 00 - 15 Состояние выдачи
AR05 12 Ïîðò 1, ôëàã
00 - 15 Текущее значение
порта 1
00 - 15 Текущее значение
порта 2
импульсов
уменьшения частоты
13 Порт 1, флаг числа
импульсов
14 Ïîðò 1, ôëàã
завершения выдачи импульсов
15 Ïîðò 1, ôëàã
состояния выдачи
Показывает текущее значение (8 цифр) выданных импульсов с порта 1. Старшие 4 цифры числа содержатся в SR 237.
Показывает текущее значение (8 цифр) выданных импульсов с порта 2. Старшие 4 цифры числа содержатся в SR 239.
Показывает состояние выдачи импульсов 00: нормальная выдача
01..02:ошибка аппаратуры 03: ошибка установочных параметров ПК 04: При выдаче импульсов была остановлена работа.
Показывает уменьшение частоты. 0: Не задано 1: Задано
Задано ли число импульсов 0: Не задано 1: Задано
Показывает, завершена ли выдача импульсов 0: Не завершена 1: Завершена)
Показывает, идет ли выдача импульсов 0: Íå èäåò 1: Идет выдача)
-46-
1.3 Функциивыдачи импульсов(толькоCQM1)
Слово(а) Áèò(û) Функция Описание
AR 06 12 Ïîðò 2, ôëàã
уменьшения частоты
13 Порт 2, флаг числа
импульсов
14 Ïîðò 2, ôëàã
завершения выдачи импульсов
15 Ïîðò 2, ôëàã
состояния выдачи
Выполнение PRV(62)
Состояние выдачи импульсов можно определить командой PRV(62). Задайте порт1(P=
001) или 2 (P =002) и слово назначения D. Информация о состоянии порта будет записана по адресу D, в биты 04 - 07, а биты 08 - 15 обнулятся.
При применении PRV(62) для чтения состояния порта будет читатся самая последняя информация, так что время цикла ПК не будет оказывать влияния.
b
Показывает уменьшение частоты. 0: Не задано 1: Задано
задано ли число импульсов 0: Не задано 1: Задано
Показывает, завершена ли выдача импульсов 0: Не завершена 1: Завершена
Показывает, идет ли выдача импульсов 0: Íå èäåò 1: Идет выдача)
@PRV(62)
P
001
D
Биты4-7содержат информацию об указанном порте.
Áèò Функция Описание 04 Флаг уменьшения
частоты
05 Флаг числа
импульсов
06 Флаг завершения
выдачи импульсов
07 Флаг состояния
выдачи
Показывает уменьшение частоты. (0: Без уменьшения, 1: с уменьшением)
Задано ли общее число импульсов (0: Не задано, 1: задано)
Показывает, завершена ли выдача импульсов (0: Не завершена, 1: завершена)
Показывает, идет ли выдача импульсов (0: Не идет, 1: идет выдача)
-47-
1.4 Функции прерыванийCQM1
В данной главе описаны установочные параметры и методы применения функций прерываний CQM1.
1.4.1 Типы прерываний
CQM1 имеет 3 типа прерываний, описанных далее.
Входные прерывания:
Обработка прерываний производится, когда вход из внешнего источника включает в 1 один из битов ЦУ 00000..00003.
Прерывания интервального таймера:
Обработка прерываний выполняется по интервальному таймеру с точностью 0.1 мс.
Прерывания высокоскоростного счетчика:
Обработка прерываний выполняется в соответствии с текущим значением (PV) встроенного высокоскоростного счетчика. Все ЦУ CQM1 имеют встроенный высокоскоростной счетчик 0, который считает входные импульсы на одном из битов ЦУ
00004..00006. Можно считать двухфазные импульсы частотой до 2.5 кГц. ЦУ CQM1-CPU43/44-E может также считать входные импульсы с портов1и2.
CQM1-CPU43-EV1: высокоскоростные счетчики1и2считают высокоскоростные входные импульсы портов 1 или 2. Можно считать двухфазные импульсы частотой до 25 кГц.
CQM1-CPU44-EV1: Высокоскоростные счетчики1и2считают коды, поступающие с абсолютного датчика вращения на порты1и2.
Обработка прерываний
При генерировании прерывания выполняется заданная программа обработки прерывания. Прерывания имеют следующий порядок приоритетов. (Входное прерывание 0 имеет наивысший приоритет, прерывание высокоскоростного счетчика 0 - самый низший):
1, 2, 3,... 1. Входное прерывания 0 Входное прерывание 1 Входное прерывание 2
Входное прерывание 3.
2. Прерывание высокоскоростного счетчика 1 Прерывание высокоскоростного счетчика 2
3. Прерывание интервального таймера 0 Прерывание интервального таймера 1 Прерывание интервального таймера 2 (Прерывание интервального таймера 2 является прерыванием высокоскоростного счетчика 0).
Когда при обработке прерывания происходит прерывание с более высоким приоритетом, текущий процесс прекращается и начинается обработка нового прерывания. По полного завершения этой программы возобновится обработка предыдущего прерывания.
Когда при обработке прерывания происходит прерывание с низшим или равным приоритетом, новое прерывание будет обрабатываться, как только текущая программа прерывания полностью отработается.
Подобно обычным подпрограммам, программы обработки прерываний задаются командами SBN(92) и RET(93) в конце главной программы.
Во время отработки программ прерываний можно обновлять заданный диапазон входных бит.
Если программа прерываний определена, во время контроля программы появляется сообщение “NO SBS ERROR” (“Отсутствие вызова подпрограммы командой SBS”), но программа будет выполняется нормально. При появлении этого сообщения проверьте все обычные подпрограммы, чтобы убедиться, что для всех обычных подпрограмм запрограммированы SBS(91).
1.4 Функции прерыванийCQM1
-48-
1.4 Функции прерыванийCQM1
Команды выдачи импульсов и прерывания
У ЦУ CQM1-CPU43/44-E следующие команды не выполняются в подпрограмме прерывания во время обработки в главной программе команд, которые управляют вводом/выдачей импульсов или высокоскоростными счетчиками: (25503=1)
INI(61), PRV(62), CTBL(63), SPED(64), PULS(65), PWM(-), PLS2(-) è ACC(-)
Для обхода данного ограничения можно использовать следующие методы:
Метод 1
При выполнении команды все прерывания можно замаскировать.
@INT(89)
100
000
000
@PLS2(-)
001
000
DM 0010
@INT(89)
200
000
000
Метод 2
Повторно выполнить команду в главной программе. Секция в главной программе:
@PRV(62)
001
002
DM 0000
@CTBL(63)
001
002
DM 0000
RSET LR 0000
Секция в подпрограмме прерываний:
-49-
1.4 Функции прерыванийCQM1
SBN(92) 000
25313
@CTBL(63)
001
000
DM 0000
LR 0000
1.4.2 Входные прерывания
Входы ЦУ IR 00000..IR 00003 можно использовать для прерываний из внешних источников. Входные прерывания 0..3 соответствуют этим битам и всегда служат для вызова подпрограмм с номерами соответственно 000..003. Когда входные прерывания не используются, подпрограммы 000 - 003 можно использовать как обычные подпрограммы.
Обработка
Есть 2 типа обработки входных прерываний. Первый - Режим прерывания по входу, в котором прерывание выполняется в ответ на внешний вход. Второй - Режим счетчика, в котором сигналы из внешнего источника подсчитываются с высокой скоростью, и прерывание обрабатывается один раз после отсчета некоторого заданного числа сигналов.
В Режиме прерывания по входу можно обнаружить сигналы длиной 100 мкс и более. В Режиме счетчика можно считать сигналы с частотой до 1 кГц.
Установочные параметры
Перед выполнением программы произведите следующую настройку установочных параметров в режиме PROGRAM.
Параметры входных прерываний (DM 6628)
Если не произвести такую настройку, прерывания в программе использовать нельзя.
Áèò 15 0
DM6628
Задание прерывания входа 3
Задание прерывания входа 2
Задание прерывания входа 1
Задание прерывания входа 0
0: нормальный вход 1: вход прерываний
По умолчанию: нормальный вход
Параметры слов обновления входов (DM 6630 - 6633)
Производите данные настройки в случае необходимости обновления входов.
-50-
1.4 Функции прерыванийCQM1
Áèò 15 0 DM6630 DM6628
DM 6630: прерывание 0
DM 6630: прерывание 1
DM 6630: прерывание 2
DM 6630: прерывание 3
Числослов(2цифры)00..08
Начальное слово (2 цифры) 00..07
По умолчанию: нет обновления входов
Пример:
Если в DM 6630 занесено 0100, IR 000 обновится, когда будет получен сигнал прерывания 0.
Замечание Если обновление входа не используется, состояние входного сигнала в
программе прерывания будет неопределенным. Это относится и к биту, вызвавшему прерывание. Например, IR 0000 не будет=1впрограмме входного прерывания, если его не обновить (в таком случае вместо IR 00000 можно использовать флаг ВСЕГДА 1 (SR 25313).
Режим прерываний по входу
Используйте следующие команды для программирования режима прерываний по входу.
Маскирование прерываний
Установите или сбросьте маску прерываний командой INT(89).
@INT(89)
000
000
D
Настройки производятся битами 0..3 слова D, соответствующими входным прерываниям 0..3 0: маска снята (прерывания разрешены) 1: маска установлена (прерывания запрещены)
Перед началом работы все входные прерывания замаскированы.
Стирание замаскированных прерываний
Если бит, соответствующий входному прерыванию, стал=1вовремя замаскированного состояния, это входное прерывание сохранится в памяти и начнет отрабатываться после снятия маски. Чтобы это прерывание не выполнялось после снятия маски, оно должно быть убрано из памяти.
Только один сигнал прерываний будет сохранен в памяти для каждого номера прерывания.
Командой INT(89) сотрите входное прерывание из памяти.
@INT(89)
001
000
D
Если биты 0..3, соответствующие входным прерываниям 0..3, будут установлены в 1, то входные прерывания убраны из памяти. 0: входные прерывания сохраняются 1: входные прерывания убраны
Чтение состояния маски
Командой INT(89) читайте состояние маски входного прерывания.
@INT(89)
002
000
D
Состояние правой цифры, загруженной в слово D (биты 1..3), показывает состояние маски. 0: маска снята (прерывания разрешены) 1: маска установлена (прерывания запрещены)
-51-
1.4 Функции прерыванийCQM1
Режим счетчика
Используйте следующие шаги для программирования входных прерываний в Режиме счетчика.
Замечание Слова SR, используемые в Режиме счетчика (SR 244..SR 245), все содержат
двоичные (16-ричные), а не двоично-десятичные данные.
1, 2, 3,... 1. Запишите задание для операций подсчета в слова SR, соответствующие
прерываниям 0..3. Диапазон заданий - 0000..FFFF (0..65 535). Значение 0000 запретит операцию счета до занесения нового значения и выполнения шага
2.
Замечание Перед началом работы биты SR очищаются и должны быть записаны
из программы.
Максимальная частота подсчета сигнала - 1 кГц.
Прерывание Слово
Входное прерывание 0 SR 244 Входное прерывание 1 SR 245 Входное прерывание 2 SR 246 Входное прерывание 3 SR 247
Если Режим счетчика не используется, эти биты SR можно использовать как рабочие биты.
2. Командой INT(89) обновите задание для Режима счетчика и разрешите прерывания.
@INT(89)
003
000
D
Если биты 0..3 слова D, соответствующие входным прерыавниям 0..3, будут установлены в 0, то заданное значение будет обновлено и прерывание разрешено. 0: обновление заданного значения и маска снята 1: ничего не происходит (задавайте 1 для всех прерываний, которые не будут меняться)
Входное прерывание, у которого обновлено задание, будет разрешено для работы в Режиме счетчика. Когда счетчик досчитает до задания, производится прерывание, счетчик сбрасывается и последовательность счет/прерывания продолжается до остановки счетчика.
Замечание 1. Если команда INT(89) используется во время счета, текущее значение
(PV) становится равным заданию (SV). Таким образом, Вы должны использовать форму команды по изменению условия (@), или прерывание может никогда не произойти.
2. Задание будет установлено, когда выполняется команда INT(89). Если уже идут прерывания, задание не изменится простым изменением SR 244..SR 247, т.е. если содержимое изменено, задание должно быть снова обновлено командой INT(89).
Прерывания можно замаскировать таким же образом, как и в режиме прерывания по входу, но если маску и снимать таким же образом, Режим счетчика не сохранится, а вместо него будет вызван режим прерывания по входу. Входные сигналы, принятые для замаскированных прерываний, можно также очистить таким же образом, как и в режиме прерывания по входу.
Текущее значение счетчика в Режиме счетчика
Когда входные прерывания используются в Режиме счетчика, текущие значения счетчика будут сохранены в словах SR, соответствующих входным прерываниям 0..3. Диапазон значений 0000..FFFF (0..65 534) и будет равен текущему значению счетчика текущего значения (PV) минус 1.
-52-
1.4 Функции прерыванийCQM1
Прерывание Слово
Входное прерывание 0 SR 248 Входное прерывание 1 SR 249 Входное прерывание 2 SR 250 Входное прерывание 3 SR 251
Пример:
Текущее значение для прерывания с заданием 000А сразу после выполнения команды INT(89) будет 0009.
Замечание Даже если входные прерывания не используется в Режиме счетчика, эти
биты SR нельзя использовать как рабочие биты.
Пример применения
В данном примере входное прерывание 0 используется в режиме прерывания по входу, а входное прерывание 1 в режиме счетчика. Перед выполнением программы проверьте установочные параметры.
Установочные параметры: DM 6628: 0011 (IR 0000 и IR 0001 будут использоваться для входных прерываний). Для всех других установочных параметров берутся значения по умолчанию. (Входы не обновляются во время обработки прерываний).
-53-
25315
00100
00100
25313
MOV(21)
#000A
SR 245
@INT(89)
001
000
#0003
@INT(89)
000
000
#000E
@INT(89)
003
000
#000D
BCD(24)
249
DM 0000
INC(38)
DM 0000
@INT(89)
000
000
#000F
SBN(92) 000
ADB(50)
245
#000A
245
INT(89)
003
000
#000D
RET(93)
SBN(92) 001
RET(93)
1.4 Функции прерыванийCQM1
Устанавливается 10 как задание для режима счета для входного прерывания 1
При IR 00100=1 замаскированные прерывания для входных прерываний 1 и 2 очищаются
Разрешены прерывания в режиме прерывания по входу для прерывания 0
Разрешены прерывания в режиме счета для прерывания 1 Заданное значение: 10
Содержание SR 249 (текущее - 1) преобразуются в BCD и заносятся в DM 0000
Содержимое DM 0000 увеличивается на 1
При IR 00100=0 входные прерывания 0 и 1 замаскированны и прерывания запрещены
При выполнении входного прерывания 0 вызывается подпрограмма 000 и режим счета обновится заданием входного прерывания 1 добавлением 10 (задание - 20)
Когда счет дойдет до значения счетчика входного прерывания 1, вызывается подпрограмма 001 и исполняется программа обработки прерывания
При исполнении данной программы работа будет проходить в соответствии со следующей диаграммой:
-54-
00000
Подпрограмма 000
00001
Подпрограмма 001
1.4 Функции прерыванийCQM1
10 импульсов 10 импульсов 20 импульсов
см.замеч.1 см.замеч.2
00010
см.замеч.2
Замечание 1. Счетчик будет продолжать работу даже во время исполнения программы
прерываний.
2. Входное прерывание останется замаскированным
1.4.3 Маскирование всех прерываний
Все прерывания, включая входные прерывания, прерывания интервального таймера и прерывания высокоскоростного счетчика можно замаскировать и размаскировать как группу командой INT(89). Эта маска является дополнительной ко всем другим маскам индивидуальных типов прерываний. Кроме того, очистка масок всех прерываний не снимает маски индивидуальных типов прерываний, а возвращает их в замаскированное состояние, которое существовало до выполнения команды INT(89) для маскирования их как группы.
Пользуйтесь командой INT(89) только когда требуется временно замаскировать все прерывания, и всегда используйте команды INT(89) в паре, используя первую команду для маскирования, а вторую для размаскирования прерываний.
INT(89) нельзя использовать для маскирования и размаскирования всех прерываний из программ прерывания.
Маскирование прерываний
Используйте команду INT(89) для запрещения всех прерываний.
@INT(89)
100
000
000
Если прерывание вызывается, когда прерывания замаскированы, обработка прерывания не произойдет, однако запрос на прерывание будет запомнен для прерываний входа, интервального таймера и высокоскоростного счетчика. Прерывания будут обслужены, как только они будут размаскированы.
Размаскирование прерываний
Используйте команду INT(89) для размаскирования прерываний:
@INT(89)
200
000
000
1.4.4 Прерывания интервального таймера
Высокоскоростная, высокоточная обработка таймерных прерываний можно исполнятся с использованием интервальных таймеров. На CQM1 имеются 3 интервальных таймера с номерами 0..2.
-55-
1.4 Функции прерыванийCQM1
Замечание 1. Интервальный таймер 0 нельзя использовать во время выдачи импульсов
на блоки выходов командой SPED(64).
2. Интервальный таймер 2 нельзя использовать одновременно с высокоскоростным счетчиком.
Обработка
Есть 2 режима работы интервального таймера: Одноразовый режим, в котором только одно прерывание будет исполняться по истечении заданного времени, и Режим прерывания по расписанию, в котором прерывания повторяются через фиксированные интервалы.
Установочные параметры
При использовании прерываний интервального таймера произведите следующие настройки установочных параметров в режиме PROGRAM перед исполнением программы.
Настройка обновления входных слов (DM 6636..6638)
Производите данные настройки в случае необходимости обновления входов.
Áèò 15 0 DM6636 DM6638
DM 6636: таймер 0
DM 6637: таймер 1
DM 6638: таймер 2
Число слов (2 цифры) 00..12
ачальное слово (2 цифры) 00..11
По умолчанию: нет обновления входов
Настройка высокоскоростного счетчика 0 (DM 6642)
При использовании интервального таймера 2 перед началом работы проверьте, чтобы параметры высокочастотного счетчика (DM 6642) были установлены по умолчанию (0000: высокоскоростной счетчик не используется).
Работа
Используйте следующую команду для запуска и управления интервальным таймером.
Пуск в одноразовом режиме
Используйте команду STIM(69) для пуска интервального таймера в одноразовом режиме.
@STIM(69)
C
1
C
2
C
3
C1: номер таймера
Ñ Ñ
000: таймер 0 001: таймер 1 002: таймер 2
: задание таймера (адрес первого слова)
2
: номер подпрограммы (4 цифры) 0000..0255
3
С2: Задание декрементирующего счетчика (4 двоично-десятичных цифры): 0000..9999. С2+1: Единица времени декрементирования (4 двоично-десятичных цифры; единица
времени: 0.1 мс): 0005..0320 (0.5 мс..32 мс). Каждый раз по истечении заданного интервала в слове С2+1 декрементирующий счетчик
уменьшает текущее значение на 1. Когда оно станет равным 0, будет вызвана заданная подпрограмма один раз и таймер остановится.
Время от выполнения команды STIM (69) до истечения заданного времени рассчитывается следующим образом:
-56-
1.4 Функции прерыванийCQM1
(Содержание C2) х (Содержание С2 + 1) х 0.1 мс =(0.5..319 968 мс). Если для С2 задана константа, тогда заданное значение декрементального счетчика станет равно этому значению и интервал декрементирования будет = 10 (1 мс). (Задание выражено в мс).
Пуск режима прерываний по расписанию
Используйте команду STIM(69) для пуска интервального таймера в режиме прерываний по расписанию.
@STIM(69)
C
1
C
2
C
3
C1: номер таймера+3
Ñ Ñ
003: таймер 0 004: таймер 1 005: таймер 2
: задание таймера
2
: номер подпрограммы (4 цифры) 0000..0255
3
С2: Задание декрементирующего счетчика (4 двоично-десятичных цифры): 0000..9999. С2+1: Интервал времени декрементирования (4 двоично-десятичных цифры; единица
времени: 0.1 мс): 0005..0320 (0.5 мс..32 мс). Значения параметров аналогичны параметрам для одноразового режима, но в режиме
прерываний по расписанию текущее значение таймера будет установлено в значение задания и декрементирование начнется снова после вызова программы прерывания. В режиме прерываний по расписанию прерывания будут повторяться с фиксированными интервалами до тех пор, пока работа не будет остановлена.
Замечание СQM1-CPU11-EV1/CPU21-EV1 поддерживает только номера подпрограмм
0000 - 0127.
Чтение истекшего времени таймера
Используйте команду STIM(69) для чтения истекшего времени таймера.
@STIM(69)
C
1
C
2
C
3
C1: номер таймера+6
Ñ Ñ
006: таймер 0 007: таймер 1 008: таймер 2
: первое слово параметра 1
2
: параметр 2
3
С2: Число, показывающее сколько раз был декрементирован счетчик (4 двоично­десятичных цифры).
С2+1: интервал времени декрементирующего счетчика (4 двоично-десятичных цифры; единица времени: 0.1 мс).
С3: истекшее время от предыдущего декремента. (4 двоично-десятичных цифры; единица времени: 0.1 мс).
Время от начала отсчета интервала до выполнения данной команды рассчитывается следующим образом:
(Содержание C2) х (Содержание С2 + 1) х 0.1 мс. Если заданный интервал отработан, будет выдан 0000.
Остановка таймеров
Используйте команду STIM(69) для остановки интервального таймера.
@STIM(69)
C
1
C
2
C
3
C1: номер таймера+10
010: таймер 0 011: таймер 1 012: таймер 2
Указанный интервальный таймер остановится.
-57-
1.4 Функции прерыванийCQM1
Пример применения
В данном примере прерывание производится каждые 2.4 мс (0.6 мс х 4) интервальным таймером 1. Предполагается, что все установочные параметры взяты по умолчанию. (Входы для отработки прерываний не обновляются).
25315
MOV(21)
#0004
DM 0010
Задает 4 (задание декрементного счетчика)
MOV(21)
#0006
DM 0011
00100
@STIM(69)
004
DM 0010
#0023
00100
@STIM(69)
011
000
000
SBN(92) 023
RET(93)
Задает 0.6 мс (временной интервал декрементного счетчика)
При включении бита 00100 включается интервальный таймер 1
При выключении бита 00100 отключается интервальный таймер 1
Каждые 2.4 мс счет таймера завершается и вызывается подпрограмма 023
При выполнении данной программы подпрограмма 023 будет выполняться каждые 24 мс, пока IR 00100 = 1.
00100
2.4 ìñ 2.4 ìñ 2.4 ìñ
Подпрограмма 023
1.4.5 Прерывания высокоскоростного счетчика (ВСч) 0
Импульсные сигналы, поступающие с импульсного датчика положения на биты ЦУ
00004..00006 можно подсчитывать с высокой скоростью, и в соответствии со значением счета можно выполнять обработку прерываний.
Отработка
Типы входных сигналов и режимы счета
С импульсного датчика могут поступать сигналы 2 типов. Режим счета, используемый для высокоскоростного счетчика 0, будет зависеть от типа сигнала.
Режим плюс/минус
Входом служит двухфазный сигнал с разностью фаз 4Х (фаза А и фаза В) и сигнал фазы Z. Значение счетчика инкрементируется или декрементируется в зависимости от разности двухфазных сигналов.
Режим инкрементальный
Входом служит однофазный сигнал и сигнал сброса счета. Значение счетчика только инкрементируется в соответствии с однофазным сигналом.
-58-
Режим плюс/минус
Ôàçà A
Ôàçà B
1.4 Функции прерыванийCQM1
Значение счетчика
Режим инкрементальный
12 8... 7 6 1
инкремент декремент
12 43
только инкрементирование
0...7
Замечание Один из методов, приведенных в следующем пункте, нужно всегда
использовать для сброса счетчика при повторном запуске. Счетчик сбрасывается при пуске или останове исполнения программы.
Следующая последовательность сигналов рассматривается как увеличивающие (инкрементирующие) импульсы: Передний фронт фазы А - Передний фронт фазы В ­задний фронт фазы А - задний фронт фазы В.
Следующая последовательность сигналов рассматривается как уменьшающие (декрементирующие) импульсы: Передний фронт фазы В - Передний фронт фазы A ­задний фронт фазы В - задний фронт фазы А.
Диапазон счета -32 767..32 767 для режима плюс/минус и 0..65 535 для инкрементального режима. Сигналы можно считать с частотой до 2.5 кГц в режиме плюс/минус и до 5 кГц в инкрементальном режиме.
Режим плюс/минус всегда использует вход с разностью фаз 4Х. Число импульсов для каждого оборота датчика=4хразрешающую способность датчика. Выбирайте датчик, исходя из диапазонов счета.
Методы сброса
Любой из 2 методов, описанных далее, можно выбрать для сброса текущего значения счетчика (т. е. его установки в 0).
Сигнал фазы Z + сброс системной программой: Текущее значение сбрасывается, когда сигнал фазы Z (вход сброса) установится в 1
после установки бита сброса высокоскоростного счетчика 0 (SR 25200) в 1. Сброс системной программой: Текущее значение сбрасывается когда бит сброса высокоскоростного счетчика 0 (SR
25200) установится в 1.
Сброс фазой Z + сброс системной программой
Ôàçà Z
SR 25200
Замечание Бит сброса высокоскоростного счетчика 0 (SR 25200) обновляется один раз
каждый цикл, так что для того, чтобы надежно его прочитать, он должен быть включен в 1 минимум на один цикл.
Z в обозначении “фаза Z” значит zero (нуль). Этот сигнал показывает, что датчик совершил один цикл.
-59-
1.4 Функции прерыванийCQM1
Счет прерываний высокоскоростного счетчика
Для нулевого высокоскоростного счетчика при применении сравнивающих таблиц вместо счета вызывается прерывание. Проверка счета может проводится любым из двух методов, описанных далее. В таблице сравнений сохраняются условия сравнения (для сравнения с текущим значением) и комбинации программ прерываний.
Конечное значение:
В таблице сравнений можно хранить до 16 условий сравнений (конечное значение + направление счета) и комбинаций программ прерываний. Когда текущее значение счетчика и направление счета удовлетворяют условиям сравнения, выполняется заданная программа прерываний.
Сравнение с зоной:
До 8 условий сравнения (верхняя и нижняя границы) хранить и комбинаций программ прерываний хранятся в таблице сравнений. Когда текущее значение станет больше либо равным верхней границе или меньше либо равным нижней границе, выполняется заданная программа прерываний.
Подключение
В зависимости от режима счета входные сигналы с импульсного датчика должны подключаться к входам ЦУ следующим образом:
Клемма Режим плюс/минус Режим инкремента
4 Ôàçà A Счетный вход 5 Ôàçà Â ­6 Ôàçà C Вход сброса
Если используется только сброс системной программой, вход 6 можно использовать как обычный вход. Если используется режим инкремента, вход 5 можно использовать как обычный вход.
Установочные параметры
При использовании прерываний высокоскоростного счетчика 0 перед выполнением программы произведите следующую настройку установочных параметров в режиме PROGRAM.
Параметры слова обновления входов (DM 6638)
Производите данные настройки в случае необходимости обновления входов. Настройки те же, что и для интервального таймера 2.
Áèò 15 0
DM6638
Число слов (BCD) 0..12
Номер начального слова (BCD) 0..11
По умолчанию: нет обновления входов
Параметры высокоскоростного счетчика 0 (DM 6642)
Если не сделаны данные настройки, высокоскоростной счетчик 0 нельзя использовать в программе.
-60-
1.4 Функции прерыванийCQM1
Áèò 15
DM6642
Высокоскоростной счетчик 0 используется
Метод сброса
00: сброс фазой Z и системной программой 01: сброс системной программой
Метод счета
0: режим плюс/минус 1: инкрементальный
По умолчанию: высокоскоростной счетчик 0 не используется
0 1
0
Изменения в DM6642 вступают в силу только при включении питания или начале отработки программы.
Программирование:
Для программирования высокоскоростного счетчика 0 проделайте следующие операции. Высокоскоростной счетчик 0 начнет операцию счета при правильной настройке УППК, но
сравнения с таблицей сравнений и вызов прерываний начнется только после выполнения команды CTBL(63).
Высокоскоростной счетчик 0 сброшен в 0 при включении питания и при пуска программы. Текущее значение высокоскоростного счетчика 0 содержится в SR 230..SR 231.
Управление прерываниями высокочастотного счетчика 0
1, 2, 3,... 1. Используйте команду CTBL(63) для сохранения таблицы сравнения в
CQM1 и начала сравнения.
@CTBL(63)
P
C
TB
С: (три цифры BCD) 000: задана таблица конечных значений и сравнение начато 001: задана таблица зон и начато сравнение 002: задана только таблица конечных значений 003: задана только таблица зон TB: начальное слово таблицы сравнений
Если задано С = 0000, сравнение будет производится методом соответствия конечных значений, если 0001 - методом сравнения зон. Таблица сравнения будет сохранена и сравнение начнется после завершения операции сохранения. Во время выполнения сравнения высокочастотные прерывания будут выполняться согласно таблицы сравнений. Подробности о содержании сохраненных таблиц сравнений см. объяснения к команде CTBL(63) в Гл. 5 Набор команд.
Замечание При сравнении методом зон результаты сравнения нормально хранятся в AR
1100..AR 1107. При задании С = 002 сравнение будет производиться методом соответствия
конечных значений, если С = 003 - методом сравнения с зоной. В обоих случаях таблица сравнений будет сохранена, но сравнение начнется только после команды INI(61) - начать сравнение.
2. Для прекращения сравнений выполните команду INI (61), как показано ниже:
@INI(61)
000
001
000
Для возобновления сравнения задайте второй операнд “000” (выполнить сравнение) и выполните команду INI (61).
-61-
1.4 Функции прерыванийCQM1
Если таблица сохранена, она останется в CQM1 во время работы (т.е. исполнения программы) до загрузки другой таблицы.
Чтение текущего значения (PV)
Есть 2 способа чтения текущего значения.
читать из SR 230..SR 231 командой PRV(62)
Чтение SR 230 и SR 231
Текущее значение высокоскоростного счетчика 0 хранится в SR 230 и SR 231, как показано ниже. Левая цифра = F для отрицательных значений.
4 левых разряда 4 правых разряда Режим плюс/минус Режим инкремент
SR 231 SR 230 F0032767..00032767
(-32767)
Замечание Данные слова обновляются только один раз каждый цикл, так что могут быть
отличия от фактических текущих значений.
Когда высокоскоростной счетчик 0 не используется, биты данных слов можно использовать как рабочие биты.
Применение команды PRV(62)
Читайте текущее значение высокоскоростного счетчика 0 командой PRV(62).
äî 00065535
@PRV(62)
000
000
P1
P1: первое слово текущего значения
Текущее значение высокоскоростного счетчика 0 хранится в следующем виде. Самая левая цифра = F для отрицательных чисел.
4 левых разряда 4 правых разряда Режим плюс/минус Режим инкремент
Ð1+1 Ð1 F0032767 äî 00032767
(-32767)
äî 00065535
Текущее значение читается, когда команда PRV(62) уже выполнена.
Изменение текущего значения
Есть 2 метода изменения текущего значения высокоскоростного счетчика 0: Сброс методами сброса (В данном случае новое текущее значение = 0). Применение команды INI(61).
@INI(61)
000
002
D
D: ведущее слово для сохранения текущего значения
Здесь объясняется применение команды INI(61). Для объяснения метода сброса см. описание высокоскоростного счетчика 0.
левых цифры правых цифры Режим плюс/минус Режим инкремент
D1+1 D1 F0032767 äî 00032767
(-32767)
äî 00065535
Для задания отрицательного числа задавайте F в самой левой цифре.
Пример применения
В данном примере приведена программа использования высокоскоростного счетчика 0 в режиме инкремент, сравнение методом конечного значения и изменение частоты выдачи импульсов в зависимости от текущего значения счетчика. Перед выполнением программы настройки установочные параметры следующим образом:
-62-
1.4 Функции прерыванийCQM1
DM 6642: 0114 (Высокоскоростной счетчик 0 используется со сбросом от системной программы и работа в режиме инкремент). Для всех остальных параметров используйте значения по умолчанию. (Входы не обновляются во время обработки прерываний, выдача импульсов производится на IR 100).
Кроме того, в таблице сравнения хранятся следующие данные:
DM 0000 0002 Число условий сравнения: 2 DM 0001 1000 Конечное значение 1: 1000 DM 0002 0000 DM 0003 0101 Номер программы обработки прерывания сравнения 1: 101 DM 0004 2000 Конечное значение 2: 2000 DM 0005 0000 DM 0006 0102 Программа обработки прерывания сравнения 2: 102
25315
CTBL(63)
000
000
DM 0000
Сохраняет таблицу сравнения в формате конечных значений и начинает сравнение
25313
25313
SPED(64)
020
001
#0050
SBN(92) 101
SPED(64)
020
001
#0020
RET(93)
SBN(92) 102
SPED(64)
020
001
#0000
Запускает выдачу импульсов 500Hz с выхода IR 10002 в бесконечном режиме
При достижении значения ВСч величины 1000 вызывается подпрограмма 101 и частота меняется до 200Hz
При достижении значения ВСч величины 2000 вызывается подпрограмма 102 и выдача импульсов прекращается заданием частоты 0Hz
RET(93)
При выполнении программы порядок работы будет иметь следующий вид:
-63-
500
200
1.4 Функции прерыванийCQM1
Частота, Hz
27
Истекшее
время, с
1.4.6 Переполнение “+”/ Переполнение “- “ высокоскоростного счетчика 0
Если текущее значение высокоскоростного счетчика 0 вышло за заданные границы, появляется состояние переполнение + или переполнение - и текущее значение будет 0FFF FFFF для переполнения + и FFFF FFFF для переполнения - останется до стирания командой сброса. Допустимые значения:
для режима плюс/минус: F003 2767..0003 2767
для инкрементального режима 0000 0000..0006 5535
Замечание 1. Вышеприведенные значения являются теоретическими и принимают
меньшие значения. Фактически значения будут равны значениям в цикле перед переполнением.
2. Цифры 6-я и 7-я текущего значения нормально 00, но могут использоваться как флаги переполнения + или - при операциях обнаружения значений, вышедших за заданные границы.
Высокоскоростной счетчик 0 можно сбросить как описано в предыдущем пункте или он будет сброшен автоматически при перезапуске программы. Высокоскоростной счетчик 0 и сопутствующие операции не будут работать нормально, пока не произвести очистку переполнения +/-. При переполнении +/- операции будут производится следующим образом:
Операция с таблицей сравнения будет остановлена.
Таблица сравнения не будет очищена.
Программы прерывания высокоскоростного счетчика не будут отрабатываться.
CTBL(63) можно использовать только для регистрации таблицы сравнения. При
попытке начать операцию с таблицей сравнения операция не начнется и таблица не зарегистрируется.
Нельзя пользоваться командой INI(61) для пуска или останова операций с таблицей сравнения или для изменения текущего значения.
PRV(62) прочитает только 0FFF FFFF или FFFF FFFF как текущее значение.
Восстановление
Для выхода из состояния переполнения +/- проделайте операции:
C зарегистрированной таблицей сравнения
1, 2, 3,... 1. Произведите сброс счетчика.
2. Если необходимо, установите текущее значение командой PRV(62).
3. Если необходимо, задайте таблицу сравнения командой CTBL(63).
4. Запустите операции с таблицей сравнения командой INI(61).
Без зарегистрированной таблицы сравнения
1, 2, 3,... 1. Произведите сброс счетчика.
2. Если необходимо, установите текущее значение командой PRV(62).
3. Задайте таблицу сравнения и запустите операцию командами CTBL(63) и INI(61).
Замечание Результаты сравнения с зоной в AR 11 останутся после восстановления.
Программа прерываний для условий, которые выполняются сразу после
-64-
1.4 Функции прерыванийCQM1
восстановления, выполняться не будет, если условия уже выполнялись перед появлением состояния переполнения +/-. Если необходимо выполнить программу прерывания, перед отработкой очистите AR 11.
Операция сброса
Когда высокоскоростной счетчик 0 сброшен, текущее значение PV будет = 0, счет начнется от 0 и будут сохранены таблица сравнения, состояние исполнения и результаты исполнения.
Состояние пуска счетчика
Когда высокоскоростной счетчик 0 запущен, в установочных параметрах будет читаться и использоваться режим счета, Текущее значение PV будет установлено в 0, состояние переполнения +/- очищено, таблица сравнения зарегистрирована и состояние исполнения будет очищено, результаты сравнения с зоной очищены. (Результаты сравнения с зоной всегда очищаются в начале работы или при регистрации таблицы сравнений).
Состояние остановленного счетчика
Когда высокоскоростной счетчик 0 остановлен, текущее значение сохраняется, состояние регистрации таблицы сравнения и состояние работы будет очищено, результаты сравнения с зоной будут сохранены.
1.4.7 Прерывания высокоскоростных счетчиков (ВСч)1и2(CQM1-CPU43-Е)
Импульсные сигналы с импульсного датчика на порты1и2CQM1-CPU43-EV1 можно подсчитывать с высокой скоростью, и обработка прерываний может выполняться согласно значениям подсчета.
Оба порта могут работать раздельно. Счетчик порта 1 далее называется ВСч 1, счетчик порта 2 называется ВСч 2. В данном пункте описано использование ВСч1и2. Информацию об аппаратной части и подключении см. Инструкцию по работе CQM1.
Замечание 1.ВСч1и2могут работать только с CQM1-CPU43-EV1.
2. Некоторые команды нельзя использовать при настройке параметра DM 6611 на режим высокоскоростного счетчика.
Значение DM 6611 “Пострадавшие” команды
Режим ВСч (0000) PLS2(-) и режим 0 команды ACC(-) нельзя
Режим выдачи импульсов (0001) CTBL(63) нельзя использовать с портами 1 и
использовать
2.
Отработка
Входные сигналы и режимы счета типа сигналов могут служить входами портов1и2. Режимы счета, используемые для ВСч1и2,задаются соответственно в DM 6643 и DM
6644.
1, 2, 3,... 1. Режим разности фаз (Диапазон счета - 25 кГц):
Входом служит двухфазный сигнал с разностью фаз 4Х (фаза А и фаза В) и сигнал фазы Z . Счетчик инкрементируется или декрементируется в зависимости от разности двухфазных сигналов. Данный режим аналогичен режиму плюс\минус ВСч 0.
2. Режим импульс/направление (Диапазон счета - 50 кГц). Фаза А служит сигналом направления, а .фаза В - счетным импульсом.
Значение инкрементируется при фазеА=0идекрементируется при фазеА=1.
3. Режим плюс/минус (Диапазон счета - 50 кГц). Фаза А служит декрементирущим сигналом, а .фаза В -
инкрементирущим. Значение счетчика декрементируется при поступлении импульса на фазу А и инкрементируется при поступлении импульса на фазу В.
-65-
Режим разности фаз
Ôàçà A
Ôàçà B
1.4 Функции прерыванийCQM1
Счетчик
Режим импульс/направление
Фаза A (направление)
Фаза B (импульсы)
Счетчик 1 2 3 2
Режим плюс/минус
Ôàçà A (âíèç)
Фаза B (вверх)
Счетчик 1 2 3 2
12345678765432
Инкрементирование Декрементирование
Инкрементирование Декрементирование
Инкрементирование Декрементирование
1
1
Режимы счета
Режимы счета (кольцевой или линейный) для ВСч1и2задаются соответственно в DM 6643 и DM 6644.
1, 2, 3,... 1. Кольцевой Режим:
В кольцевом режиме максимальное значение счетчика + 1 задается в CTBL(63). Счетчик перейдет из максимума в 0 при инкрементировании и из 0 на максимальное значение при декрементировании. Отрицательных значений нет.
Число точек кольца (максимальное значение + 1) можно задать от 1 до
65000.
2. Линейный Режим: В линейном режиме диапазон счета от -8 388 607 до 8 388 607. При
выходе за допустимые значения ВСч 1 или 2 появляется состояние переполнения (+ или -), текущее значение остается 0838 8607 (переполнение +) или F838 8607 (переполнение -), счет или сравнение прекратятся и AR 0509 (порт 1) или AR 0609 (порт 2) включатся в 1.
-66-
Кольцевой режим Линейный режим
1.4 Функции прерыванийCQM1
Максимальное значение
Декрементирование
Инкрементирование
0
-8.388.607 8.388.607
Переполнение - Переполнение +
0
Замечание 1. Один из методов, описанных в данной главе, следует всегда применять
для сброса счетчика при его повторном запуске. Счетчик автоматически сбросится при пуске или останове отработки программы.
2. Для увеличивающегося (инкрементального) счета используется
последовательность импульсов: Передний фронт фазы А - Передний фронт фазы В - задний фронт фазы А - задний фронт фазы В. Для уменьшающегося (декрементального) счета используется последовательность импульсов: Передний фронт фазы В - Передний фронт фазы В - задний фронт фазы В - задний фронт фазы А.
Методы сброса
Для сброса текущего значения счетчика (т. е. его установки в 0) можно выбрать любой из 2 методов: Сигнал фазы Z + сброс системной программой или Сброс системной программой. Данные сбросы работают аналогичном образом, как и для высокоскоростного счетчика 0 (подробности см. 1-4-5).
Замечание 1. Биты сброса для ВСч1и2(SR25201 и SR 25202) обновляются один раз
каждый цикл. Следите за тем, чтобы бит сброса был 1 как минимум 1 полный цикл, чтобы его надежно прочитать.
2. Таблица сравнений, состояние исполнения и результаты сравнения с
зоной при сбросе будут сохранены. (Сравнение продолжится после выполнения сброса).
Счет прерываний высокоскоростного счетчика
Таблицы сравнения, используемые для ВСч1и2аналогичны таблицам для ВСч 0. (Подробности См. 1-4-5).
Установочные параметры
При использовании прерываний ВСч1и2перед выполнением программы произведите следующую настройку установочных параметров в режиме PROGRAM.
Параметры режимов портов1и2(DM6611)
Задайте для портов1и2режим высокоскоростных счетчиков.. Если не задать режим высокоскоростных счетчиков, CTBL(63) нельзя использовать для счета со сравнениями.
Данная настройка читается только при включении ПК. Если они были изменены, следует включить и выключить ПК перед исполнением программы.
Áèò 15 0
DM6611
Параметрырежимапортов1и2
0000: режим высокоскоростных счетчиков
По умолчанию: режим высокоскоростных счетчиков
Замечание Если DM 6611 установлен в режим выдачи импульсов, для сравнения
текущего значения ВСч1и2может использоваться другая команда сравнения, такая как BCMP(68) .
-67-
1.4 Функции прерыванийCQM1
Параметры слов обновления входов (DM 6634 и DM 6635)
DM 6634 содержит слово обновления входов для ВСч 1, DM 6635 содержит параметры для ВСч 2. Производите данные настройки в случае необходимости обновления входов.
Áèò 15 0 DM6634 DM6635
Число слов (2 цифры BCD) 00..12
Номер начального слова (2 цифры BCD)
По умолчанию: нет обновления входов
Параметры высокоскоростных счетчиков1и2(DM6643 и DM 6644)
DM 6634 содержит параметры для ВСч 1, DM 6634 содержит параметры для ВСч 2. Данные установочные параметры определяют рабочие параметры для этих Всч.
Метод счета
0: линейный 1: кольцевой
Метод сброса
0: сброс фазой Z и системной программой 1: сброс системной программой
Áèò 15 DM6643 DM6644
-
0
Режим счета
0: режим разности фаз 1: режим импульс/направление 2: режим плюс/минус
По умолчанию: линейный метод, сброс фазой Z и системной программой, режим разности фаз
Программирование
Для программирования высокоскоростных счетчиков1и2проделайте следующие операции.
Высокоскоростные счетчики1и2начнут счет при правильной настройке установочных параметров, но сравнения с таблицей сравнений и вызов прерываний начнется только после выполнения команды CTBL(63).
Высокоскоростные счетчики1и2сброшены в 0 при включении питания и после пуска или останова программы.
Текущие значения высокоскоростного счетчика 1 содержатся в SR 232 и SR 233, текущие значения высокоскоростного счетчика 2 содержатся в SR 234 и SR 235.
Управление прерываниями высокочастотных счетчиков1и2
1, 2, 3,... 1. Используйте команду CTBL(63) для сохранения таблицы сравнения в
CQM1 и начала сравнения.
@CTBL(63)
P
C
TB
P: порт 001: порт 1 002: порт 2 С: (3 цифры BCD) 000: задать таблицу конечных значений и начать сравнение 001: задать таблицу зон и начать сравнение 002: задать только таблицу конечных значений 003: задать только таблицу зон TB: начальное слово таблицы сравнений
Если задано С = 0000, сравнение будет производится методом конечных значений, если 0001 - методом сравнения с зоной. Таблица сравнения будет сохранена и сравнение начнется после завершения операции сохранения.
-68-
1.4 Функции прерыванийCQM1
Во время выполнения сравнения высокочастотные прерывания выполняются согласно таблицы сравнений. Подробности о содержании таблицы сравнений см. объяснения к команде CTBL(63) в Гл. 5 Набор команд.
Замечание 1. При сравнении с зоной результаты сравнения хранятся в AR 1100..AR
1107. При задании С = 002 сравнение будет производиться методом конечных
значений, если С = 003 - методом сравнения с зоной. В обоих случаях таблица сравнений будет сохранена, но сравнение начнется только после команды INI(61).
2. Для прекращения сравнения выполните команду INI (61) следующим образом. Задавайте Р = 001 для порта1иР=002дляпорта 2.
@INI(61)
P
001
000
Для возобновления сравнения задайте второй операнд = 000 (выполнить сравнение) и выполните команду INI (61).
Сохраненная таблица хранится в CQM1 во время работы до загрузки другой таблицы.
Чтение текущего значения.
Есть 2 способа читать текущее значение.
читать из SR 232 и SR 233 (порт 1) или SR 234 и SR 235 (порт 2).
командой PRV(62).
Чтение SR 232 и SR 233 или SR 234 и SR 235
Текущее значение высокоскоростного счетчика 1 хранится в SR 232 и SR 233, текущее значение высокоскоростного счетчика 2 хранится в SR 234 и SR 235.
В линейном режиме для отрицательных значений левая цифра = F.
4 левых разряда 4 правых разряда Линейный режим Кольцевой
Ïîðò 1 SR 233 SR 232 F838 8607 äî 0838 Ïîðò 2 SR 235 SR 234
8607 ( -8 388 607 äî 8 388 607)
режим
000 äî 0000 6499
Замечание Данные слова обновляются только один раз за каждый цикл, так что могут
быть отличия от фактических текущих значений.
Применение команды PRV(62)
Читайте текущее значение высокоскоростных счетчиков1и2командой PRV(62). Задайте для порта 1 = 001 и для порта 2 = 002.
@PRV(62)
P
000
P1
P: порт 001: потр 1 002: порт 2 P1: ведущее слово текущего значения
Текущее значение заданного высокоскоростного счетчика1и2хранится в следующем виде. При линейном методе самое левое слово = F для отрицательных значений.
4 левых разряда 4 правых разряда Линейный метод Кольцевой метод
D+1 D F838 8607 äî 0838 8607
( -8 388 607 äî 8 388 607)
0000 äî 0000 6499
Текущее значение читается, когда команда PRV(62) выполнена.
-69-
1.4 Функции прерыванийCQM1
Изменение текущего значения
Есть 2 метода изменения текущего значения ВСч1и2:cброс методами сброса (В данном случае текущее значение сбрасывается в 0) или командой INI(61).
Здесь объясняется метод применения команды INI(61). Для объяснения метода сброса см. начало данного описания высокоскоростных счетчиков1и2.
Измените текущее значение командой INI(61).
@INI(61)
P
002
D
4 левых разряда 4 правых разряда Линейный метод Кольцевой метод
D+1 D F838 8607 äî 0838 8607
P: порт 001: порт 1 002: порт 2 D: ведущее слово для сохранения значения текущего состояния
0000 äî 0000 6499
( -8 388 607 äî 8 388 607)
Для задания отрицательного значения в линейном режиме задайте левую цифру F.
Состояние высокоскоростного счетчика
Состояние ВСч1и2можно определить либо чтением флагов из области AR, либо командой PRV(62).
В следующей таблице представлены соответствующие флаги AR и их функции.
Слово Áèò(û) Функция
AR 04 00 - 15 Показывает состояние высокоскоростного счетчика.
AR 05 00 - 07 Флаг результатов сравнения ВСч 1 для зон 1..8.
08 Флаг сравнения ВСч 1
09 Флаг переполнения +/- ВСч 1
AR 06 00 - 07 Флаг результатов сравнения ВСч 2 для зон 1..8.
08 Флаг сравнения ВСч 2
09 Флаг переполнения +/- ВСч 2
00: Нормально 01, 02:Ошибка аппаратуры 03: Ошибка установочных параметров ПК
0: íå â çîíå
1: â çîíå)
0: остановлено 1: идет сравнение)
0: нормально 1: произошло переполнение + или -
0: íå â çîíå 1: â çîíå)
0: остановлено 1: идет сравнение)
0: нормально 1: произошло переполнение + или -
Состояние ВСч1и2можно также определить командой PRV(62). Задайте номер ВСч (1 или 2) и слово назначения D. Информация о состоянии порта будет записана по адресу D в биты 00..01, а биты 02..15 обнулятся.
@PRV(62)
P
001
D
Биты 00 и 01 слова D содержат информацию об указанном ВСч.
-70-
1.4 Функции прерыванийCQM1
Áèò Функция
00 Флаг сравнения ВСч 1
01 Флаг переполнения +/- ВСч 1
Пример применения
В данном примере приведена программа, которая выдает стандартные импульсы с порта 1, считая их ВСч 0. ВСч работает в режиме плюс/минус, импульсы выдачи по ЧС инкрементируют счетчик (вход фазы В), импульсы выдачи против ЧС декрементируют счетчик (вход фазы А). Перед выполнением программы произведите следующие настройки и перезапустите ПК.
DM 6611: 0000 (режим В Сч ). DM 6643: 0002 (порт 1 : выдача стандартных импульсов, счет линейный, сброс фазой Z и
системной программой, режим плюс/минус). Для всех остальных настроек значения по умолчанию. (Входы не обновляются во время
обработки прерываний). Кроме того, в таблице сравнения хранятся следующие данные:
DM 0000 0003 Число условий сравнения: 3 DM 0001 2500 Конечное значение 1:2 500 DM 0002 0000 DM 0003 0100 Номер программы обработки прерывания сравнения 1: 100 DM 0004 7500 Конечное значение 2: 7 500 DM 0005 0000 DM 0006 0101 Номер программы обработки прерывания сравнения 2:101 DM 0007 0000 Конечное значение 3: 10 000 DM 0008 0001 DM 0009 0102 Номер программы обработки прерывания сравнения 3: 102
0: остановлено 1: идет сравнение)
0: нормально 1: произошло переполнение + или -
-71-
00000
@CTBL(63)
001
000
DM 0000
1.4 Функции прерыванийCQM1
Задает порт 1, сохраняет таблицу сравнений в формате задания и начинает сравнение
25313
@PULS(65)
001
004
000
@SPED(64)
001
001
#0001
@ACC(-)
001
001
DM 0010
SBN(92) 100
10000
RET(93)
Задает импульсы по чс порта 1 (число импульсов не задано)
Наинает бесконечную выдачу импульсов частото1 10Hz с порта 1
ACC(-), режим 1: ускоряет частоту до 25kHz c коэффициентом около 500Hz/4мс DM 0010: 0050 DM0011: 2500
10000=1
SBN(92) 101
25313
@ACC(-)
001
003
DM 0012
RET(93)
SBN(92) 102
25313
SPED(64)
001
001
#0000
RET(93)
ACC(-), режим 3: уменьшает частоту до 500Hz c коэффициентом около 500Hz/4мс DM 0012: 0050 DM0013: 0050
Выдача импульсов с порта 1 прекращается путем задания частоты равной 0
1.4.8 Прерывания абсолютного высокоскоростного счетчика (CQM1-CPU44-Е)
Сигналы в двоичном виде с абсолютного вращающегося датчика могут служить входами портов1и2CQM1-CPU44-EV1 и подсчитываться с частотой 4 кГц. Согласно полученным значениям можно выполнять обработку прерываний.
-72-
1.4 Функции прерыванийCQM1
Два порта могут работать раздельно. Счетчик порта 1 далее называется АВСч 1, счетчик порта 2 - АВСч 2. В данной главе описывается применение абсолютных высокоскоростных счетчиков1и2.Информацию об аппаратной части и подключении см. Инструкцию по работе CQM1.
Отработка
Входные сигналы и режимы счета Есть два режима счета, которые можно использовать для АВСч1и2.Режимы счета и
разрешающая способность АВСч1и2задаются в установочных параметрах (DM 6643 и DM 6644).
1, 2, 3,... 1. Режим двоично-десятичный
Двоичный код вращающегося абсолютного датчика сначала преобразуется в обычное двоичное число и далее в двоично­десятичное.
2. Режим 360 Двоичный код вращающегося абсолютного датчика преобразуется в
угловое значение (00..3590) в зависимости от настройки разрешающей способности. (Настройки CTBL(63) сделаны с дискретой 50).
Разрешение Возможные текущие значения
Режим BCD Режим 360
8 áèò 0..255 Текущее значение: 00..3590(дискрета 1 град) 10 бит 0..1023 12 áèò 0..4095
0
0
Параметры таблицы сравнений: 00.. 3550(дискрета 50)
Счет прерываний АВСч
Текущие значение счетчика можно сравнивать с помощью до 16 конечных значений или 8 зон. См. 5-5-16 описание таблиц сравнения, используемых с АВСч1и2.
Установочные параметры
При использовании прерываний АВСч 1 и/или 2 перед выполнением программы произведите следующую настройку установочных параметров ПК в режиме PROGRAM.
Параметры слов обновления входов (DM 6634 и DM 6635)
DM 6634 содержит параметры слова обновление для АВСч 1, DM 6635 содержит параметры слова обновление для АВСч 2. Производите данные настройки в случае необходимости обновления входов.
Áèò 15 0 DM6634 DM6635
Числослов(2цифры,BCD)00..12
Номер начального слова (2 цифры, BCD) 00..11
По умолчанию: нет обновления входов
Параметры АВСч (DM 6643 и DM 6644)
DM 6634 содержит параметры для АВСч 1, DM 6634 содержит параметры для АВСч 2. Данные слова определяют режимы счета и параметры разрешающей способности.
-73-
1.4 Функции прерыванийCQM1
Áèò 15 0 DM6643 DM6644
Метод счета
0: метод двоично-десятичных чисел 1: метод 360
Разрешающая способность
00: 8 áèò 01: 10 áèò 02: 12 áèò
Коррекция исходного
Имеется возможность вносить коррекцию для смещения между исходным абсолютного поворотного датчика и фактическим исходным. Данную настройку можно проводить раздельно для портов1и2.
Для задания коррекции исходного произведите следующие операции. После задания коррекции исходного данные, полученные с датчика положения, пересчитываются перед тем, как занестись в качестве текущего значения.
1, 2, 3,... 1. Установите абсолютный вращающийся датчик положения в желаемое
Значение коррекции исходного останется действующим до изменения путем выполнения вышеописанной процедуры.
Программирование
Для программирования абсолютных высокоскоростных счетчиков1и2проделайте следующие операции.
Абсолютные высокоскоростные счетчики1и2начнут счет при правильной настройке установочных параметров, но сравнения с таблицей сравнений и вызов прерываний начнется только после выполнения команды CTBL(63).
Текущее значение абсолютного высокоскоростного счетчика 1 содержатся в IR 232 и IR 233, текущие значения абсолютного высокоскоростного счетчика 1 содержатся в IR 234 и IR 235.
Управление прерываниями абсолютного высокоскоростного счетчика
1, 2, 3,... 1. Используйте команду CTBL(63) для сохранения таблицы сравнения в
0
По умолчанию: метод двоично-десятичных чисел, разрешающая способность 8 бит
положение исходного.
2. Убедитесь, что секция 1 переключателя DIP находится в положении OFF (разрешение периферийным устройствам переписывать DM 6614..DM 6655) и переключите ПК в режим PROGRAM.
3. Установите разрешающую способность в DM 6643 или DM 6644.
4. Проверьте, нет ли фатальной ошибки FALS 9C.
5. Прочтите текущее значение ВСч с IR 232 и IR 233 (порт 1) и IR 234 и IR 235 (порт 2) для определения текущего значения перед установкой коррекции исходного.
6. Включите в 1 флаг коррекции исходного SR 25201 (порт 1) или флаг коррекции исходного SR 25202 (порт 2) с периферийного устройства.
Значение коррекции будет записано в DM 6611 (порт 1) и DM 6612 (порт 2) и флаг коррекции исходного автоматически сбросится в OFF. Значение коррекции будет записано в двоично -..4095 независимо от того, в каком режиме установлен счетчик - двоично десятичным или 360
0
.
7. Прочтите текущее значение ВСч для определения текущего значения после установки смещения исходного. После установки коррекции исходного текущее значение должно быть = 0.
CQM1 и начала сравнений.
-74-
1.4 Функции прерыванийCQM1
@CTBL(63)
P
C
TB
P: порт 001: порт 1 002: порт 2 С: (3 цифры BCD) 000: задать таблицу конечных значений и начать сравнение 001: задать таблицу зон и начать сравнение 002: задать только таблицу конечных значений 003: задать только таблицу зон TB: начальное слово таблицы сравнений
Р определяет порт. Для задания АВСч 1 установите Р = 001 или для задания АВСч 2 установите Р = 002.
Если задано С = 0000, сравнение будет производится методом конечных значений, если 0001 - методом выхода за зону. Таблица сравнения будет сохранена и сравнение начнется после завершения операции сохранения. Во время выполнения сравнения высокочастотные прерывания выполняются согласно таблицы сравнений. Подробности о содержании таблицы сравнений см. объяснения к команде CTBL(63) в гл. 5-15-6.
Замечание При сравнении с зоной результаты сравнения хранятся в AR 1500..AR
0507 (ïîðò 1)èâAR0600..AR 0607 (ïîðò 2).
При задании С = 002 сравнения будет производиться методом конечных значений, если С = 003 - методом сравнения с зоной. В обоих случаях таблица сравнений будет сохранена, но сравнение не начнется, для начала сравнения нужно выполнить команду INI(61).
2. Для прекращения сравнения выполните команду INI (61), как показано ниже. Задавайте Р = 001 для порта1иР=002дляпорта 2.
@INI(61)
P
001
000
Для возобновления сравнения задайте второй операнд = 000 (выполнить сравнение) и выполните команду INI (61).
Сохраненная таблица будет хранится в CQM1 во время работы (т.е. исполнении программы) до загрузки другой таблицы.
Чтение текущего значения
Есть 2 способа читать текущее значение.
читать из IR 232 и IR 233 (порт 1) и IR 234 и IR 235 (порт 2).
командой PRV(62).
Чтение IR 232 и IR 233 или IR 234 и IR 235
Текущее значение абсолютного высокоскоростного счетчика 1 хранится в IR 232..I R 233, текущее значение абсолютного высокоскоростного счетчика 2 хранится в IR 234..IR 235, как показано ниже:
4 левых разряда 4 правых разряда Режим BCD Режим 360
Ïîðò 1 IR 233 IR 232 0000 äî 0000 4095 0000 äî 0000 0359 Ïîðò 2 IR 235 IR 234
0
Замечание Данные слова обновляются только один раз за каждый цикл, так что данные
значения могут отличаться от фактических текущих значений.
Применение команды PRV(62)
Читайте текущее значение высокоскоростного счетчика командой PRV(62). Задавайте АВСч1или2вP(P=001 или 002).
-75-
1.4 Функции прерыванийCQM1
@PRV(62)
P
000
P1
P: порт 001: потр 1 002: порт 2 P1: ведущее слово текущего значения
Текущее значение заданного абсолютного высокоскоростного счетчика хранится в следующем виде:
4 левых разряда 4 правых разряда Режим BCD Режим 360
D+1 D 0000 0000 äî
0000 4095
0000 0000 äî 0000 0359
Текущее значение читается когда команда PRV(62) уже выполнена.
Чтение состояния АВСч
Состояние АВСч1и2можно определить либо чтением соответствующих флагов из области AR, либо командой PRV(62).
В таблице представлены флаги области AR и их функции.
Слово Áèò(û) Функция
AR 04 00 - 15 Показывает состояние абсолютного высокоскоростного счетчика.
AR 05 00 - 07 Флаг результатов сравнения ВСч 1 для зон 1..8.
08 Флаг сравнения ВСч 1
AR 06 00 - 07 Флаг результатов сравнения ВСч 2 для зон 1..8.
08 Флаг сравнения ВСч 2
00: Нормально 01, 02:Ошибка аппаратуры 03: Ошибка установочных параметров ПК
0: íå â çîíå 1: â çîíå)
0: остановлено 1: идет сравнение)
0: íå â çîíå 1: â çîíå)
0: остановлено 1: идет сравнение)
0
Состояние флага сравнения АВСч1и2можно также определить командой PRV(62). Задайте номер АВСч 1 или 2 (P=001..002) и адрес слова приемника D. Флаг состояния (0: Остановлен, 1: сравнение) будет переписан в бит 00 слова D, а биты 02..15 обнулятся.
@PRV(62)
P
001
D
Пример применения
В данном примере приведена программа, которая получает входные сигналы абсолютного вращающегося датчика положения на порт 1, и использует их для управления выходами IR 10000..IR 10003. АВСч установлен с разрешающей способностью 8 бит и режим 360
0
, сравнение с зоной. Перед выполнением программы
задайте DM 6643 = 0100 (порт 1 : режим 3600, разрешающая способность 8). Для всех остальных параметров используйте значения по умолчанию. (Входы не
обновляются во время обработки прерываний). Кроме того, в таблицу сравнения загружены следующие данные:
-76-
1.4 Функции прерыванийCQM1
DM 0000 0000 DM 0001 0085 Верхняя граница #2 (85°) DM 0002 0100 Номер подпрограммы: 100 DM 0003 0090 Нижняя граница #1 (90 град.) Çîíà 2 (90 - 175 ãðàä) DM 0004 0175 Верхняя граница # (175°) DM 0005 0101 Номер подпрограммы: 101 DM 0006 0180 Нижняя граница #1 (180°) Çîíà 3 (180 - 265 ãðàä) DM 0007 0265 Верхняя граница # (265°) DM 0008 0102 Номер подпрограммы: 102 DM 0009 0270 Нижняя граница #1 (270°) Çîíà 4 (270 - 355 ãðàä) DM 0010 0355 Верхняя граница # (355°) DM 0011 0103 Номер подпрограммы: 103 DM 0012 0000 Нижняя граница #1 (0°) Зона 5 (Не используется) DM 0013 0000 Верхняя граница # (0°) DM 0014 FFFF Номера подпрограммы нет DM 0015 0000 Нижняя граница #1 (0°) Зона 6 (Не используется) DM 0016 0000 Верхняя граница # (0°) DM 0017 FFFF Номера подпрограммы нет DM 0018 0000 Нижняя граница #1 (0°) Зона 7 (Не используется) DM 0019 0000 Верхняя граница # (0°) DM 0020 FFFF Номера подпрограммы нет DM 0021 0000 Нижняя граница #1 (0°) Зона 8 (Не используется) DM 0022 0000 Верхняя граница # (0°) DM 0023 FFFF Номера подпрограммы нет
Нижняя граница #1 (0°)
Çîíà 1 (0 - 85°)
-77-
00000
25313
25313
@CTBL(63)
001
001
DM 0000
SBN(92) 100
MOV(21)
#0001
100
RET(93)
SBN(92) 101
MOV(21)
#0002
100
1.4 Функции прерыванийCQM1
Задает порт 1, сохраняет таблицу сравнения в формате зон, начинает сравнения
Включает 10000 в 1 Включает остальные биты IR 100 в 0
Включает 10001 в 1 Включает остальные биты IR 100 в 0
RET(93)
SBN(92) 102
25313
MOV(21)
#0004
100
RET(93)
SBN(92) 103
25313
MOV(21)
#0008
100
RET(93)
Включает 10002 в 1 Включает остальные биты IR 100 в 0
Включает 10003 в 1 Включает остальные биты IR 100 в 0
На следующей диаграмме показана зависимость между текущим значением АВСч 1 и флагами результатов сравнения зон AR 0500..AR 0507 при выполнении этой программы.
-78-
AR0500
AR0501
AR0502
AR0503
AR0504.. AR0507
Текущее значение равно 0
85
1.4 Функции прерыванийCQM1
90 175 180 265 270 355 360
-79-
1.5 ФункциипрерыванийCPM1/CPM1A
В данной главе описаны установочные параметры и методы применения функций прерываний CPM1/CPM1A.
1.5.1 Типы прерываний
CPM1/CPM1A имеет 3 типа прерываний, описываемых далее:
Входные прерывания
СРМ1/CPM1A может иметь 2 или 4 входа c прерываниями. Обработка прерываний производится при включении одного из этих входовв1извнешнего источника.
Прерывания интервального таймера
Обработка прерываний выполняется по интервальному таймеру с дискретностью 0.1 мс.
Прерывания высокоскоростного счетчика
ВСч считает входные импульсы на одном из входных битов ЦУ 00000..00002. Обработка прерываний выполняется, когда значение счета достигает заданного значения встроенного ВСч.
Приоритет прерываний
При вызове прерывания выполняется заданная программа обработки прерываний. Приоритет обработки прерываний имеет следующий вид:
Входные прерывания >интервальные прерывания > прерывания ВСч.
Когда при обработке прерывания происходит прерывание с более высоким приоритетом, текущий процесс будет прекращен и вместо этого начинается обработка нового прерывания. После полного завершения этой программы продолжится обработка предыдущего прерывания.
Когда во время обработке прерывания происходит прерывание с низшим или равным приоритетом, новое прерывание будет обрабатываться как только текущая программа полностью отработается.
Когда одновременно происходят 2 прерывания одного приоритета, они выполняются в следующем порядке:
Входное прерывание 0 > Входное прерывание 1 > Входное прерывание 2 > Входное прерывание 3 > Интервальные прерывания > Прерывания ВСч.
Предосторожности в программе прерываний
При пользовании программ прерываний соблюдайте следующие меры предосторожности:
1, 2, 3,... 1. Новое прерывание можно задать внутри программы прерывания. Более
того, прерывание можно стереть из программы прерывания.
2. Другую программу нельзя написать в программе прерывания.
3. Подпрограмму прерываний нельзя записать внутри программы прерывания. Не записывайте команду SBN(92) (определить подпрограмму) в программе прерываний.
4. Программу прерываний нельзя записать внутри подпрограммы. Не записывайте программу прерываний между командой ОПРЕДЕЛИТЬ ПОДПРОГРАММУ (SBN(92)) и команду ВОЗВРАТ (RET(93)).
Входы, используемые как входы прерываний, нельзя использовать как обычные входы.
Команды и прерывания ВСч
Следующие команды нельзя выполнять в подпрограмме прерываний во время обработки в главной программе команд управления высокоскоростными счетчиками:
INI(61), PRV(62), CTBL(63)
Для обхода данных ограничений можно воспользоваться следующими методами:
Метод 1
Обработку всех прерываний можно замаскировать во время выполнения команды.
1.5 ФункциипрерыванийCPM1/CPM1A
-80-
1.5 ФункциипрерыванийCPM1/CPM1A
@INT(89)
100
000
000
INI(61)
000
000
000
@INT(89)
200
000
000
Метод 2
Повторно выполнить команду в главной программе
1, 2, 3,... 1. Секция в главной программе:
00000
LR 0000
2. Секция в подпрограмме прерываний:
SBN(92) 000
25313
@CTBL(63)
000
000
DM 0000
@PRV(62)
000
002
DM 0000
CTBL(63)
000
000
DM 0000
RSET LR 0000
LR 0000
Замечание 1. Определяйте программы прерываний в конце главной программы
командами SBN(92) и RET(93), как обычные подпрограммы.
2. При задании программы прерывания, во время операции контроля программы может появиться сообщение “SBS UNDEFD”, но программа будет выполняться нормально.
1.5.2 Входные прерывания
Блоки CPU на 10 точек имеют 2 входа прерываний (00003 и 00004)
-81-
1.5 ФункциипрерыванийCPM1/CPM1A
Блоки CPU на 20, 30, 40 точек имеют 4 входа прерываний (00003..00006). Есть 2 режима обработки входных прерываний: Режим прерывания по входу и режим
счетчика.
CPM1
CPM110CDR
CPM1A
Модули на 10 точек CPM1A-10CD-
000 03
000 04
00004
00003
CPM120CDR/CPM130CDR
00003
00004
00005
00006
Модули на 20, 30, 40 точек CPM1A-20CD-, CPM1A-30CD-, CPM1A-40CD-
000 03 000 04 000 05 000 06
Модель ПК Âõîä Номер
прерывания
CPM1-10CDR-_ CPM1A-10CDR-_
CPM1-20CDR-_ CPM1A-20CDR-_
CPM1-30CDR-_ CPM1A-30CDR-_
CPM1A-40CDR-_
0003 00 0.3 ms max (время 0004 01 0003 00 0004 01 0003 02 0004 03
Замечание Если входные прерывания не используются, используйте входы
00003..00006 как обычные входы.
Установочные параметры входных прерываний
Если предполагается использование входов 00003..00006 в качестве входов прерываний, они должны быть заданы как входы прерываний в DM 6628. Задайте соответствующую цифру в 1, если предполагается использование входа в качестве входа прерываний (по входу или в режиме счета). Задайте 0, если бит должен использоваться в качестве обычного входа.
Слово Значение параметра
DM 6628 0: Обычный вход (по умолчанию)
1: Вход прерывания 2: Вход быстрого реагирования
Время реакции
Режим прерывания
до выполнения программы прерывания
Режим счетчика
1 kHz
-82-
1.5 ФункциипрерыванийCPM1/CPM1A
Áèò 15
DM6628
Задание для входа 6: установите в 1
Задание для входа 5: установите в 1
Задание для входа 4: установите в 1
Задание для входа 3: установите в 1
0
Подпрограммы прерываний
Прерываниям со входов 00003..00006 отведены номера прерываний 00..03 и они вызывают подпрограммы 000..003. Если входные прерывания не используются, подпрограммы 000..003 можно использовать как обычные подпрограммы.
Номер входа Номер прерывания Номер подпрограммы
00003 0 000 00004 1 001 00005 2 002 00006 3 003
Обновление входов
Если обновление входа не используется, при отработке прерываний состояние входного сигнала будет ненадежным. В зависимости от константы времени входа входные сигналы могут не включиться в 1, даже если использовать обновление входов. Это относится и к состоянию бита входа прерывания, который вызвал прерывание.
Например, IR 00000 не включитсяв1впрограмме прерываний для входного прерывания 0, если он не обновлен. В таком случае используйте флаг ВСЕГДА 1 (SR 25313) в программе прерываний вместо IR 00000.
Режим прерываний по входу
При получении сигнала прерывания главная программа прерывается и сразу же начинается отрабатываться программа прерывания, независимо от момента в цикле, в который принят сигнал прерывания. Сигнал должен быть в состоянии 1 не менее 200 мкс для того, чтобы быть распознанным.
Главная программаГлавная программа
Программа прерываний
Входное прерывание
Используйте следующие команды для программирования входных прерываний в режима прерывания по входу.
Маскирование/размаскирование прерываний
Командой INT(89) установите или сбросьте маску прерываний в случае необходимости.
@INT(89)
000
000
D
Настройки производите битами 0..3 слова D, которые соответствуют входным прерываниям 0..3 0: маска убрана (входные прерывания разрешены) 1: маска установлена (входные прерывания запрещены)
Все входные прерывания замаскированы при начале работы ПК. Если используется режим прерывания по входу, разрешите использование входов командой INT(89), как показано выше.
-83-
1.5 ФункциипрерыванийCPM1/CPM1A
Стирание замаскированных прерываний
Если бит, соответствующий входному прерыванию, включаетсяв1вовремя замаскированного состояния, это входное прерывание сохранится в памяти и будет выполняться как только будет снята маска. Чтобы это прерывание не выполнялось после очистки маски, прерывание должно быть убрано из памяти.
Только один сигнал прерываний будет сохранен в памяти для каждого номера прерывания.
Командой INT(89) сотрите входное прерывание из памяти.
@INT(89)
001
000
D
Если биты 0..3 слова D, соответствующие входным прерываниям 0..3, установлены в 1, то входные прерывания будут очищены 0: входные прерывания сохраняются 1: входные прерывания очищены
Чтение состояния маски
Командой INT(89) читайте состояние маски входного прерывания.
@INT(89)
002
000
D
Состояние правой цифры слова D (биты 0..3) показывает состояние маски 0: маска снята (входные прерывания разрешены) 1: маска установлена (входные прерывания запрещены)
Пример программы
Когда вход 00003 (входное прерывание 0) устанавливается в 1, отработка сразу же переходит к программе прерывания 000. Входы для DM 6628 установлены в 0001.
25315
@INT(89)
000
000
#000E
Маскировать/размаскировать входные прерывания
SBN(92) 000
RET(93)
Подпрограмма прерываний
Режим счета
Входы внешнего сигнала подсчитываются с высокой скоростью и прерывание вызывается, когда значение счетчика достигнет заданного значения. При вызове прерывания главная программа прерывается и начинается отрабатываться программа прерывания. Можно подсчитывать сигналы до 1 кГц.
Главная программаГлавная программа
Входное прерывание
Заданное значение
Программа прерываний
Проделайте следующие операции для программирования входных прерываний с использованием режима счета.
1, 2, 3,... 1. Запишите задания для операции счетчика в слова SR, показанные в
следующей таблице. Диапазон заданий - 0000..FFFF (0..65 535). Значение 0000 запретит операцию счета до занесения нового значения и повторения шага 2.
-84-
1.5 ФункциипрерыванийCPM1/CPM1A
Прерывание Слово
Входное прерывание 0 SR 240 Входное прерывание 1 SR 241 Входное прерывание 2 SR 242 Входное прерывание 3 SR 243
Слова SR, используемые в режиме счетчика (SR 240..SR 243) содержат 16­ричные, а не двоично-десятичные данные. Если режим счетчика не используется, эти слова можно использовать как рабочие биты.
Замечание Эти слова SR очищаются перед началом работы и должны быть
записаны из программы.
2. Командой INT(89) обновите заданное значение режима счетчика и разрешите прерывания.
@INT(89)
003
000
D
Если биты 0..3 слова D, соответствующие входным прерываниям 0..3 будут равны 0, то заданное значение будет обновлено и прерывания будут разрешены 0: задание режима счетчика обновлено и маска снята 1: нет обновления
Если входное прерывание не используется, обязательно установите соответствующий бит в 1.
Прерывание, у которого обновлено задание, будет разрешено в режиме счетчика. Когда счетчик отсчитает заданное число, произойдет прерывание, счетчик сбросится и последовательность счет/прерывания продолжится до остановки счетчика.
Замечание 1. Если команда INT(89) используется во время счета, текущее значение
станет равным заданию. Таким образом, Вы должны использовать форму команды @ (срабатывающую по франту), или прерывание может не вызваться.
2. Задание будет установлено, когда команда INT(89) выполнена. Если уже идут прерывания, задание не изменится простым изменением SR 240... 243, т.е. если их содержание изменено, задание должно быть обновлено повторным исполнением команды INT(89).
Прерывания можно замаскировать таким же процессом, как и в режиме прерывания по входу, но если замаскированные прерывания очищаются с помощью того же процесса, прерывания будут в режиме прерываний по входу, а не в режиме счетчика.
Сигналы прерывания, принятые для замаскированных прерываний, можно очистить так же, как и в режиме прерываний по входу.
Текущее значение счетчика в режиме счетчика
Когда входные прерывания используются в режиме счетчика, текущее значение счетчика будет загружено в слово SR, соответствующее входным прерываниям 0..3. Диапазон значений 0000..FFFF (0..65 535) и значение равно текущему значению счетчика минус 1.
Прерывание Слово
Входное прерывание 0 SR 244 Входное прерывание 1 SR 245 Входное прерывание 2 SR 246 Входное прерывание 3 SR 247
Пример: Текущее значение для прерывания с заданием 000А будет записано как 0009 сразу после выполнения команды INT(89).
Замечание Даже если входные прерывания не используются в режиме счетчика, эти
биты SR нельзя использовать как рабочие биты.
-85-
1.5 ФункциипрерыванийCPM1/CPM1A
Пример программы
Когда вход 00003 (прерывание 0) включитсяв110раз, сразу произойдет переход к программе прерываний с номером 000. В следующей таблице показано, где хранятся задания счетчика и текущие значения - 1. Входы для DM 6628 были установлены на
0001.
Прерывание Слово, содержащее задание Слово, содержащее
Вход 00003 (Вх. прерывание0)SR 240 SR 244
Вход 00004 (Вх. прерывание1)SR 241 SR 245
Вход 00005 (Вх. прерывание2)SR 242 SR 246
Вход 00006 (Вх. прерывание3)SR 243 SR 247
25315
MOV(21)
#000A
240
текущее значение -1
@INT(89)
003
000
#000E
SBN(92) 000
RET(93)
1.5.3 Маскирование всех прерываний
Все прерывания, включая входные прерывания, прерывания интервального таймера и прерывания высокоскоростных счетчиков, можно замаскировать или размаскировать как группу командой INT(89). Эта маска является дополнительной к любым другим маскам индивидуальных типов прерываний. Кроме того, очистка масок всех прерываний не снимает маски индивидуальных типов прерываний, а возвращает их в замаскированное состояние, которое существовало перед выполнением команды INT(89) для маскирования их как группы.
Пользуйтесь командой INT(89) только когда требуется временно замаскировать все прерывания, и всегда используйте команды INT(89) в паре, используя первую команду для маскирования, а вторую для размаскирования прерываний.
INT(89) нельзя использовать для маскирования и размаскирования всех прерываний из программы прерывания.
Маскирование прерывания
Используйте команду INT(89) для запрещения всех прерываний.
@INT(89)
100
000
000
Если прерывание вызвано, когда прерывания замаскированы, обработка прерывания не произойдет, однако запрос на прерывание будет запомнен для входных прерываний,
-86-
1.5 ФункциипрерыванийCPM1/CPM1A
прерываний интервального таймера и прерываний ВСч. Прерывания будут обслужены после снятия маски.
Размаскирование прерываний
Используйте команду INT(89) для размаскирования прерываний:
@INT(89)
200
000
000
1.5.4 Прерывания интервальных таймеров
CPM1/CPM1A оснащен одним интервальным таймером. Когда интервал отсчитан, главная программа прерывается и сразу же выполняется программа прерывания независимо от места в цикле.
Есть 2 режима работы таймерных прерываний, одноразовый режим, в котором по истечении заданного времени прерывание отрабатывается только раз, и режим прерывания по расписанию, когда прерывания повторяются через фиксированные интервалы.
Задания интервальных таймеров можно установить в диапазоне 0.5..319 968 мс, единица времени 0.1 с.
Работа
Используйте следующую команду для вызова и управления интервальным таймером.
Пуск одноразового режима
Используйте команду STIM(69) для пуска интервального таймера в одноразовом режиме.
@STIM(69)
C
1
C
2
C
3
C1: интервальный таймер, одноразовый режим (000) C2: задание таймера (адрес первого слова) C
: номер подпрограммы (4 цифры, BCD) 0000..0049
3
1, 2, 3,... 1. Когда С2 введено как адрес слова:
С2: Задание декрементирующего счетчика (4 двоично-десятичных цифры): 0000..9999.
С2+1: Интервал времени декрементирования (4 двоично-десятичных цифры; единица времени: 0.1 мс): 0005..0320 (0.5 мс..32 мс).
Каждый раз по истечении заданного интервала С2+1 декрементальный счетчик уменьшит текущее значение на 1. Когда текущее значение достигнет 0, заданная подпрограмма будет вызвана один раз и таймер остановится.
Время от выполнения команды STIM (69) до того, как время истечет, рассчитывается следующим образом:
(Содержание C2) х (Содержание С2 + 1) х 0.1 мс = (0.5..319 968) мс.
2. Когда С2 введена как константа: Заданное значение декрементального счетчика станет равно заданной
константе (в мс) и интервал декрементирования будет 10 (1 мс).
Пуск режима прерываний по расписанию
Используйте команду STIM(69) для пуска интервального таймера в режиме прерываний по расписанию.
-87-
1.5 ФункциипрерыванийCPM1/CPM1A
@STIM(69)
C
1
C
2
C
3
C1: интервальный таймер, режим прерывания по расписанию (003) C2: задание таймера (адрес первого слова) C
: номер подпрограммы (4 цифры, BCD) 0000..0049
3
1, 2, 3,... 1. Когда С2 введено, как адрес слова:
С2: заданное значение декрементального счетчика (4 двоично­десятичных цифры): 0000..9999.
С2+1: интервал времени декрементирования (4 двоично-десятичных цифры; единица времени: 0.1 мс): 0005..0320 (0.5 мс..32 мс).
Значения параметров аналогичны значению в одноразовом режиме, но в режиме прерываний по расписанию текущее значение таймера будут сброшено в задание и декрементирование начнется снова после вызова подпрограммы. В режиме прерываний по расписанию прерывания будут повторяться в фиксированными интервалами до остановки работы.
2. Когда С2 введено как константа:
Значения параметров аналогичны значениям в одноразовом режиме, но прерывания будут продолжаться с фиксированными интервалами до остановки работы.
Чтение истекшего времени таймера
Используйте команду STIM(69) для чтения истекшего времени таймера.
@STIM(69)
C
1
000
000
C1: чтение истекшего времени
: первое слово параметра 1
C
2
C
: параметр 2
3
С2: Количество операций декрементирования счетчика (4 двоично-десятичных цифры). С2+1: Интервал времени декрементного счетчика (4 двоично-десятичных цифры;
единица времени: 0.1 мс). С3: Истекшее время от предыдущего декрементирования (4 двоично-десятичных цифры;
единица времени: 0.1 мс). Время от пуска интервального таймера до выполнения данной команды рассчитывается
следующим образом: [(Содержание C2) х (Содержание С2 + 1) + (Содержание C3)] х 0.1 мс. Если заданный интервальный таймер остановлен, будет сохранено значение “0000”.
Остановка таймера
Используйте команду STIM(69) для остановки интервального таймера. Интервальный таймер будет остановлен.
@STIM(69)
C
1
000
000
C1: останов интервального таймера
Пример применения (Одноразовый режим)
В данном примере прерывание вызывается через 2.4 мс (0.6 мс х 4) после включения входа 00005 в 1. Прерывание исполняет подпрограмму прерывания номер 23.
-88-
25315
MOV(21)
#0004
DM 0010
1.5 ФункциипрерыванийCPM1/CPM1A
Задает задание декрементного счетчика равное 4
MOV(21)
#0006
DM 0011
00005
@STIM(69)
000
DM 0010
#0023
SBN(92) 023
RET(93)
Задает интервал времени декрементирования 0.6мс
Запускает таймер в одноразовом режиме. Задает первое слово, содержащее задание. Задает номер подпрограммы
Подпрограмма прерываний
Пример применения (Прерывания по расписанию)
В данном примере прерывание вызывается каждые 4 мс (1.0 мс х 4) после включения входа 00005 в 1. Прерывание вызывает подпрограмму 23.
25315
MOV(21)
#0004
DM 0010
Задает задание декрементного счетчика равное 4
MOV(21)
#0006
DM 0011
00005
@STIM(69)
003
DM 0010
#0023
SBN(92) 023
RET(93)
Задает интервал времени декрементирования 1.0мс
Запускает таймер в режиме прерывания порасписанию. Задает первое слово, содержащее задание. Задает номер подпрограммы
Подпрограмма прерываний
1.5.5 Прерывания высокоскоростного счетчика
В СРМ1/CPM1A есть функция ВСч, которую можно использовать в инкрементальном режиме либо в режиме плюс/минус. ВСч можно комбинировать с входными прерываниями для управления по конечному значению или управления по сравнению с зоной, на которые не оказывает влияния время цикла.
Сигналы ВСч могут поступать на входные биты ЦУ 00000..00002.
-89-
CPM1
CPM1A
1.5 ФункциипрерыванийCPM1/CPM1A
00000
00001
00002
000 00 000 01 000 02
Режим Функции
Плюс/минус 00000: Âõîä
Инкремен­тальный
входа
ôàçû À 00001: Âõîä ôàçû Â 00002: Âõîä ôàçû Z
00000: Счетный вход 00001: См. Зам. 00002: Вход сброса
Метод входа Частота
Разность фаз, 4х входа
Индивидуаль­ные входы
Замечание В инкрементальном режиме вход 00001 можно использовать как обычный
âõîä.
Установочные параметры ВСч
При использовании функции ВСч CPM1/CPM1A нужно сделать следующие настройки в DM 6642.
Áèòû DM 6642
00 - 03 Задает режим счетчика
04 - 07 Задает Метод сброса
08 - 15 Задает счетчик:
Функция Значения
0: Плюс/минус 4: Инкрементальный
0: Сброс фазой Z + системной
программой
1: Сброс системной программой
00: Счетчик не используется 01: Счетчик используется
счета
2.5 kHz ìàêñ. -32767..
5 êÃö ìàêñ. 0.. 65535
Диапазон счета
32767
Инкремент Плюс/минус Íå
400èëè4
0 èëè 1 0 èëè 1 0 èëè 1
01 01 00
Метод управления
Управление конечным значением: можно записать до 16 конечных значений и номеров подпрограмм прерываний. Управление сравнением с зоной: можно записать до 8 зон и номеров подпрограмм прерываний.
используются
Диапазон счета
ВСч CPM1/CPM1A использует операцию линейного счета и значение хранится в SR 248 и SR 249 (старшие 4 цифры хранятся в SR 248 и младшие 4 цифры в SR 249).
-90-
1.5 ФункциипрерыванийCPM1/CPM1A
Режим Диапазон счета
Плюс/минус F003 2767..0003 2767 (-32 767..32 767)
Инкрементальный 00000..0006 5535 ( 0..65 535)
Если текущее значение ВСч превышает верхнюю границу диапазона счета, происходит переполнение +; если текущее значение ВСч становится меньше нижней границы, происходит переполнение -.
Ошибка Инкрементирование Плюс/минус Текущее значение
Переполнение + Происходит при
инкрементировании от 65
535.
Переполнение - - Происходит при
Отработка
Два типа сигналов могут поступать с импульсного датчика положения. Режим счета, используемый для ВСч, будет зависеть от типа сигналов. Режим счета и режим сброса задаются в DM 6642; Эти настройки становятся эффективными при включении ПК или пуске программы.
Режим плюс/минус
Для входов используются двухфазный сигнал с разностью фаз 4Х (фаза А и фаза В) и сигнал фазы Z . Значение счетчика инкрементируется или декрементируется в зависимости от разности двухфазных сигналов.
Самая левая цифра SR 248 указывает на знак. F - отрицательный, 0 ­положительный.
Происходит при инкрементировании от 32
767.
декрементировании от -32 767
0FFF FFFF
FFFF FFFF
Режим плюс/минус
Ôàçà A
Ôàçà B
Счетчик
12345678765432
Инкрементирование Декрементирование
Режим инкрементальный
Для входов используются однофазный импульсный сигнал и сигнал сброса счета. Значение только инкрементируется в соответствии с однофазным сигналом.
Режим инкрементальный
Импульсный вход
Ñ÷åò÷èê 1234
Только инкркментирование
5
Замечание При повторном запуске счетчика всегда нужно применять один из режимы
сброса, описанных ниже. Счетчик будет автоматически сброшен при пуске или останове программы.
Следующая последовательность сигналов трактуется как увеличивающие (инкрементальные) импульсы: Передний фронт фазы А - Передний фронт фазы В ­задний фронт фазы А - задний фронт фазы В.
Следующая последовательность сигналов трактуется как уменьшающие (декрементальные) импульсы: Передний фронт фазы В - Передний фронт фазы В ­задний фронт фазы В - задний фронт фазы А.
-91-
1.5 ФункциипрерыванийCPM1/CPM1A
Режим плюс/минус всегда использует вход с разностью фаз 4Х. Число единиц счетна для каждого оборота датчика=4хразрешающую способность датчика. Выбирайте датчик, основываясь на диапазонах счета.
Методы сброса
Для сброса (т. е. установки текущего значения счетчика в 0) можно выбрать любой из 2 методов:
Сброс сигналом фазы Z + системной программой:
Текущее значение сбрасывается, когда фазы Z (вход сброса) включается в 1, в то время как бит сброса высокоскоростного счетчика (SR 25200) = 1.
Сброс фазой Z + системной программой
1 или более
циклов
Фаза Z (вход сброса)
SR 25200
1 или более циклов
В пределах 1цикла
Сброс от прерывания
Сброс из цикла
Нет сброса
Сброс системной программой:
Текущее значение сбрасывается, когда бит сброса высокоскоростного счетчика (SR 25200) = 1.
Сброс системной программой
SR 25200
В пределах 1 цикла
Сброс из цикла
Замечание Бит сброса высокоскоростного счетчика (SR 25200) обновляется один раз
каждый цикл, так что для того, чтобы надежно его прочитать, он должен быть в состоянии 1 как минимум 1 цикл.
Z в обозначении “фаза Z” - это сокращение от Zero (нуль). Этот сигнал показывает, что датчик сделал 1 оборот.
Счет прерываний высокоскоростного счетчика
Для прерываний высокоскоростного счетчика 0 вместо “инкрементального счета” применяется таблица сравнений. Проверка счета может проводится любым из двух далее описанных метода. В таблице сравнений сохраняются условия сравнения (для сравнения с текущим значением) и комбинации программ прерываний.
Сравнение по конечному значению:
В таблице сравнений хранится максимум 16 условий сравнений (конечное значение + направление счета) и комбинаций программ прерываний. Когда текущее значение счетчика и направление совпадают с табличными, выполняется заданная программа прерываний.
Сравнение с зоной:
В таблице сравнений хранится 8 условий сравнений (верхняя и нижняя граница) и комбинаций программ прерываний. Когда текущее значение станет больше либо равным верхней границе или меньше либо равным нижней границе, выполняется заданная программа прерываний.
-92-
1.5 ФункциипрерыванийCPM1/CPM1A
Программирование:
Для программирования высокоскоростного счетчика проделайте следующие операции. Высокоскоростной счетчик начнет операцию счета при правильной настройке
установочных параметров, но сравнения с таблицей сравнений и вызов прерываний начнется только после выполнения команды CTBL(63).
Высокоскоростной счетчик сброшен в 0 при включении питания и при пуске программы. Текущее значение высокоскоростного счетчика сохраняются в SR 248 и SR 249.
Управление прерываниями высокоскоростного счетчика
1, 2, 3,... 1. Используйте команду CTBL(63) для сохранения таблицы сравнения в
CPM1/CPM1A и начала сравнения.
@CTBL(63)
P
C
TB
C: три цифры BCD 000: задать таблицу конечных значений и начать сравнение 001: задать таблицу зон и начать сравнение 002: задать только таблицу конечных значений 003: задать только таблицу зон TB: начальное слово таблицы сравнений
Если задано С = 0000, сравнение будет производится методом конечных значений, если 0001 - методом сравнения с зоной. Таблица сравнения будет сохранена и сравнение начнется после завершения операции сохранения. Во время выполнения сравнения высокочастотные прерывания будут выполняться согласно таблицы сравнений. Подробности о содержании таблиц сравнений см. объяснения к команде CTBL(63) в Главе 5 Набор команд.
Замечание При сравнении с зоной результаты сравнения хранятся в AR 1100..AR
1107.
При задании С = 002 сравнение будет производиться методом конечных значений, если С = 003 - методом сравнения с зоной. Для любого из заданий таблица сравнений будет сохранена, но для начала сравнения нужно использовать после команду INI(61).
2. Для остановки сравнения выполните команду INI (61), как показано далее.
@INI(61)
000
001
000
Для возобновления сравнения задайте второй операнд = 000 (выполнить сравнение) и выполните команду INI (61).
Когда таблица сохранена, она будет храниться в CQM1 во время работы (т. е. исполнении программы) до сохранения другой таблицы.
Чтение текущего значения.
Есть 2 способа читать текущее значение.
читать из SR 248 и SR 249.
командой PRV(62).
Чтение из SR 248..SR 249
Текущее значение высокоскоростного счетчика хранится в SR 248 и SR 249 как показано ниже. Самая левая цифра будет равна F для отрицательных значений.
4 левых разряда 4 правых разряда Режим плюс/минус Режим инкремент
SR 248 SR 249 F003 2767 (-32767) äî
0003 2767
0000 äî 0006 5535
Замечание 1. Данные слова обновляются только один раз каждый цикл, так что может
быть отличие от фактических текущих значений.
-93-
1.5 ФункциипрерыванийCPM1/CPM1A
2. Когда высокоскоростной счетчик не используется, биты данных слов
можно использовать как рабочие.
Применение команды PRV(62)
Читайте текущее значение высокоскоростного счетчика 0 при помощи команды PRV(67)
@PRV(62)
000
000
P1
4 левых разряда 4 правых разряда Режим плюс/минус Режим инкремент
P1+1 P1 F003 2767 (-32767) äî
P1: начальное слово текущего значения
0000 äî 0006 5535
0003 2767
Текущее значение читается, когда команда PRV(62) уже выполнена.
Изменение текущего значения
Есть 2 метода изменения текущего значения высокоскоростного счетчика:
Сброс методами сброса (В данном случае текущее значение сбрасывается в 0).
Использование команды INI(61).
Здесь объясняется метод с использованием команды INI(61). Для объяснения метода сброса смотрите начало этого описания высокоскоростных счетчиков.
@INI(61)
000
002
D
4 левых разряда 4 правых разряда Режим плюс/минус Режим инкремент
D+1 D F003 2767 (-32767) äî
D: ведущее слово для сохранения нового текущего значения
0000 äî 0006 5535
0003 2767
Для задания отрицательного числа в режиме плюс/минус задавайте F в самой старшей цифре.
Пример применения
(Режим инкрементирования) В данном примере показана программа, которая использует высокоскоростной счетчика
с входом одной фазы в инкрементальном режиме, сравнение методом совпадения конечных значений.
Условия сравнения (конечные значения и направление счета) хранятся в таблице сравнений с номерами подпрограмм. Можно сохранить до 16 конечных значений. Соответствующие подпрограммы выполняются при совпадении текущих значений счетчика и конечных значений.
В таблице сравнения хранятся следующие данные:
DM 0000 0002 Число условий сравнения:- 2 DM 0001 1000 Конечное значение 1: 1000 DM 0002 0000 DM 0003 0030 Номер подпрограммы обработки прерывания сравнения 1: 30 DM 0004 2000 Конечное значение 2: 2000 DM 0005 0000 DM 0006 0031 Номер подпрограммы обработки прерывания сравнения 2: 31
На диаграмме показан пример релейно-контактной схемы. DM 6642 должно быть установлено в 014, где обозначает метод сброса, который может быть 0 или 1.
-94-
1.5 ФункциипрерыванийCPM1/CPM1A
25315
CTBL(63)
000
000
DM 0000
SBN(92) 030
RET(93)
SBN(92) 031
RET(93)
Пример применения (Режим плюс/минус)
В данном примере приведена программа, использующая высокоскоростной счетчик с входами разности фаз в режиме плюс/минус, сравнение методом зон.
Условия сравнения (верхняя и нижняя граница зон) загружены в таблице сравнений с номерами подпрограмм. Можно задать до 8 зон. Соответствующая подпрограмма выполняется при выходе текущих значений счетчика за границы зоны.
Замечание Всегда задавайте 8 зон. Если требуется менее 8 зон, задайте номера
подпрограмм FFFF. Значение FFFF показывает, что подпрограммы не должны выполняться.
В таблице сравнения хранятся следующие данные:
DM 0000 1500 DM 0001 0000 Нижняя граница 1: 1 500 DM 0002 3000 DM 0003 0000 Верхняя граница 1: 3 000 DM 0004 0040 Номер подпрограммы прерывания зоны 1: 40 DM 0005 7500 DM 0006 0000 Нижняя граница 2: 7 500 DM 0007 0000 DM 0008 0001 Верхняя граница 2: 10 000 DM 0009 0041 Номер подпрограммы прерывания зоны 2: 41 DM 0010 0000 DM 0011 0000 DM 0012 0000 DM 0013 0000 DM 0014 FFFF Подпрограмма прерывания зоны 3 не исполняется ... DM 0035 0000 DM 0036 0000 DM 0037 0000 DM 0038 0000 DM 0039 FFFF Подпрограмма прерывания зоны 8 не исполняется
На следующем рисунке показан пример релейно-контактной схемы. DM 6642 должен быть установлен в 010, где обозначает метод сброса, который может быть 0 или 1.
-95-
25315
1.5 ФункциипрерыванийCPM1/CPM1A
CTBL(63)
000
001
DM 0000
SBN(92) 030
RET(93)
SBN(92) 031
RET(93)
-96-
1.6Функции прерыванийSRM1
В данном разделе описаны установочные параметры и методы применения функций прерываний SRM1.
1.6.1 Типы прерываний
В SRM1 имеется только 1 тип обработки прерываний, описанный далее.
Прерывания по интервальному таймеру:
Обработка прерываний выполняется по интервальному таймеру с точностью 0.1 мс.
1.6.2 Прерывания по интервальному таймеру
В SRM1 есть 1 интервальный таймер. Когда время интервального таймер истекает, главная программа прерывается и сразу же выполняется программа прерывания, независимо от места в цикле.
Есть два режима работы интервального таймера: Одноразовый режим, в котором только одно прерывание будет исполняться по истечении заданного времени, и Режим прерывания по расписанию, в котором прерывания повторяются через фиксированные интервалы.
Задание интервального таймера можно давать любое в диапазоне 0.5..319968, единица задания - 0.1 мс.
Отработка программы
Используйте следующую команду для запуска и управления интервальным таймером.
Пуск одноразового режима
Используйте команду STIM(69) для пуска интервального таймера в одноразовом режиме.
(@)STIM
C1 C2 C3
C1: интервальный таймер, одноразовый режим (000) C
2: заданное значение таймера (адрес первого слова)
C
3: номер подпрограммы (BCD), 0000..0049
1.6Функции прерыванийSRM1
1, 2, 3,... 1. Когда С2 введено, как адрес слова: 1
С2: Задание декрементирующего счетчика (4 двоично-десятичных цифры): 0000..9999.
С2+1: Интервал времени декрементирования (4 двоично-десятичных цифры; единица времени: 0.1 мс): 0005..0320 (0.5 мс..32 мс).
Каждый раз по истечении заданного интервала в слове С2+1 декрементирующий счетчик уменьшает текущее значение на 1. Когда оно станет равным 0, будет вызвана заданная подпрограмма только один раз и таймер остановится.
Время от выполнения команды STIM (69) до истечения заданного времени рассчитывается следующим образом:
(Содержание C2) х (Содержание С2 + 1) х 0.1 мс =(0.5..319 968 мс). 2
2. Если С2 введено, как константа: Заданное значение декрементирующего счетчика станет равно
заданной константе (в мс) и интервал декрементирования будет = 10 (1 мс).
Пуск в режиме прерываний по расписанию
Используйте команду STIM(69) для пуска интервального таймера в режиме прерываний по расписанию.
(@)STIM
C1 C2 C3
C1: интервальный таймер, режим прерываний по
C
2: заданное значение таймера (адрес первого слова)
C
3: номер подпрограммы (BCD), 0000..0049
расписанию(000)
-97-
1.6Функции прерыванийSRM1
1, 2, 3,... 1. Когда С2 введено, как адрес слова:
С2: Задание декрементирующего счетчика (4 двоично-десятичных цифры): 0000..9999.
С2+1: Интервал времени декрементирования (4 двоично-десятичных цифры; единица времени: 0.1 мс): 0005..0320 (0.5 мс..32 мс).
Значения параметров аналогичны параметрам для одноразового режима, но в режиме прерываний по расписанию текущее значение таймера будет установлено в значение задания и декрементирование начнется снова после вызова программы прерывания. В режиме прерываний по расписанию прерывания будут повторяться с фиксированными интервалами до тех пор, пока работа цикла не будет остановлена.
2. Если С2 введено, как константа: Значения параметров аналогичны параметрам для одноразового
режима, но прерывания будут повторяться с фиксированными интервалами до тех пор, пока работа цикла не будет остановлена.
Чтение истекшего времени таймера
Используйте команду STIM(69) для чтения истекшего времени таймера.
(@)STIM
C1 C2 C3
C1: чтение истекшего времени (006) C
2: первое слово параметра 1
C
3: параметр 2
С2: Число, показывающее сколько раз был декрементирован счетчик (4 двоично­десятичных цифры).
С2+1: интервал времени декрементирующего счетчика (4 двоично-десятичных цифры; единица времени: 0.1 мс).
С3: истекшее время от предыдущего декремента. (4 двоично-десятичных цифры; единица времени: 0.1 мс).
Время от начала отсчета интервала до выполнения данной команды рассчитывается следующим образом:
[(Содержание C2) х (Содержание С2 + 1) + (Содержание С3)] х 0.1 мс. Если выбранный интервальный таймер остановлен, будет сохранено значение 0000.
Остановка таймера
Используйте команду STIM(69) для остановки интервального таймера.
(@)STIM
C1 000 000
C1: останов интервального таймера
Пример применения (одноразовый режим)
В данном примере прерывание генерируется каждые 2.4 мс (0.6 мс х 4) после установки в 1 входа 0005; при прерывании отрабатывается программа прерываний 23. 25315 Флаг первого цикла
-98-
1.7Функциираспределенныхвходов/выходовCompoBus/S(ТолькоSRM1)
253 13
000 05
MOV
#0004 DM 0010
MOV
#0006 DM 0011
@STIM
000 DM 0010 #0023
SBN 023
RET
Задает задание декрементного счетчика равное 4
Задает временной интервал декремнтирования, равный 0.6 с
Запускает интервальный таймер в одноразовом режиме
Подпрограмма прерывания
Пример применения (режим прерываний по расписанию)
В данном примере прерывание генерируется каждые 4.0 мс (0.1 мс х 4) после установки в 1 входа 0005; при прерываниях отрабатывается программа прерываний 23. 25315 Флаг первого цикла
253 13
000 05
MOV
#0004 DM 0010
MOV
#0006 DM 0011
@STIM
000 DM 0010 #0023
Задает задание декрементного счетчика равное 4
Задает временной интервал декремнтирования, равный 0.6 с
Запускает интервальный таймер в режиме прерываний по расписанию
SBN 023
RET
Подпрограмма прерывания
1.7Функциираспределенныхвходов/выходовCompoBus/S(ТолькоSRM1)
Число подключенных узлов Можно подключить максимум 16 или 32 узла CompoBus/S
Число узлов Время реакции связи
32 0.8 ìñ 16 0.5 ìñ
Максимально число узлов можно задать с программирующего устройства путем следующих установок параметра DM 6603.
Слово (а) Áèò (û) Функция Задание
DM 6603 00..03 Максимальное число узлов
CompoBus/S 16 èëè 32 00: 32 óçëà 01: 16 узлов
04..15 Резерв 00
Замечание После изменения данного параметра обязательно выключите и включите
питание, чтобы сделать эти значения активными.
Прерывания терминалов входов/выходов CompoBus/S
Входные биты в IR 000..007 и выходные биты в IR 010..017 служат в качестве битов прерывания для терминалов входов/выходов CompoBus/S. Прерывания терминалов входов/выходов CompoBus/S (IN0..IN15 и OUT0..OUT 15) связаны в соответствии со следующей таблицей.
00 èëè 01
-99-
1.7Функциираспределенныхвходов/выходовCompoBus/S(ТолькоSRM1)
IN0..IN15 являются адресами узлов для терминалов входов, а OUT0..OUT 15 являются адресами узлов для терминалов выходов.
Слово Áèò
1514131211109876543210
Âõîä IR 000 IN1 IN0
IR 001 IN3 IN2 IR 002 IN5 IN4 IR 003 IN7 IN6 IR 004 IN9 IN8 IR 005 IN11 IN10 IR 006 IN13 IN12 IR 007 IN15 IN14
Выход IR 010 OUT1 OUT0
IR 011 OUT3 OUT2 IR 012 OUT5 OUT4 IR 013 OUT7 OUT6 IR 014 OUT9 OUT8 IR 015 OUT11 OUT10 IR 016 OUT13 OUT12 IR 017 OUT15 OUT14
Замечание 1. Когда макс. число узлов CompoBus/S задано 16, входы IN8..IN15 можно
использовать в качестве рабочих битов.
2. Терминалам CompoBus/S с числом точек менее 8 выделены адреса битов
начиная либо с 0, либо с 8.
3. Терминалы CompoBus/S с числом точек больше 16 можно назначать
только четные адреса.
Флаги состояния Входные биты в IR 000..007 и выходные биты в IR 010..017 служат в качестве битов прерывания для терминалов входов/выходов CompoBus/S.
Слово Старшие биты: Флаги ошибки связи Ведомых Младшие биты: Флаги сложения Ведомых
1514131211109876543210 AR04 OUT 7 OUT 6 OUT 5 OUT 4 OUT 3 OUT 2 OUT 1 OUT 0 OUT 7 OUT 6 OUT 5 OUT 4 OUT 3 OUT 2 OUT 1 OUT 0 AR05 IN 7 IN 6 IN 5 IN 4 IN 3 IN 2 IN 1 IN 0 IN 7 IN 6 IN 5 IN 4 IN 3 IN 2 IN 1 IN 0 AR06 OUT15OUT14OUT13OUT12OUT11OUT10OUT 9 OUT 8 OUT15OUT14OUT13OUT12OUT11OUT10OUT 9 OUT 8
AR07 IN 15 IN 14 IN 13 IN 12 IN 11 IN 10 IN 9 IN 8 IN 15 IN 14 IN 13 IN 12 IN 11 IN 10 IN 9 IN 8
Замечание IN0..IN15 - терминалы входов, OUT0..OUT15 - терминалы выходов.
Когда макс. число узлов CompoBus/S задано 16, входы IN8..IN15 и OUT8..OUT15 нельзя использовать.
Флаги сложения Ведомого включены в 1, когда Ведомый подключен к сети. Когда питание Модуля ЦПУ выключить и снова включить, все биты будут выключены в 0.
Флаги ошибки связи Ведомых включены в 1, когда Ведомый - участник сети ­отключен от сети. Бит будет выключен в 0, когда Ведомый снова возобновляет работу в сети. Прим. Если использованы некорректные параметры, возникает нефатальная ошибка, AR 1302 включитсяв1ибудет использоваться значение по умолчанию (0 или 00).
Информацию о параметрах сети NT link для других изделий OMRON смотрите Инструкции по работе с данными ПК.
- 100 -
1.8 Функциисвязи
Câÿçü â ÑQM1
Через порты СQM1 можно осуществить следующие типы связи.
Связь Host link с управляющим компьютером
Связь RS-232C с компьютером или другим устройством
Связь 1:1 с другим контроллером
Связь NT Link
Замечание Данных режимов связи нет у СQM1-CPU11-E, у которого есть только
периферийный порт.
В данной главе описаны начальная настройка ПК и методы применения этих типов связи.
Связь в CРM1/CPM1A
СPM1/CPM1A может осуществлять различные виды связи по периферийному порту через адаптер RS-232C или адаптер RS-422.
Связь с верхним уровнем HOST LINK
ПК СРМ1/CPM1A совместимы с системой Host Link System, которая позволяет управлять до 32 ПК с одного управляющего компьютера. Адаптер RS-232C служит для связи 1:1, а адаптер RS-422 и адаптер B500-AL004 Link Adapter служат для связи 1:n.
СРМ1/CPM1A, оборудованный адаптером RS-232C, может также сообщаться с программатором путем использования команд Host link.
Подробности см. 1.6.4 данной инструкции и 1.2.2 Инструкции по работе.
Связь 1 :1
Можно создать линию обмена данных с областью данных в другом ПК. Для создания связи 1 :1 применяется адаптер RS-232C.
Подробности см. 1-6-6 данной инструкции и 1-2-3 Инструкции по работе.
NT LINK
Используя NT LINK, СРМ1 можно подключить к программируемому терминалу (интерфейс NT LINK) через адаптер RS-232C.
Подробности см. 1-6-8 данной инструкции и 1-2-4 Инструкции по работе.
Câÿçü â SRM1
Через порты СQM1 можно осуществить следующие типы связи.
Связь Host link с управляющим компьютером
Связь RS-232C с компьютером или другим устройством
Связь 1:1 с другим контроллером
Связь NT Link
Замечание Связь NT Link невозможна при использовании SRM1-C01, который имеет
только периферийный порт. SRM1-C01 может быть присоединен к NT терминалу через адаптер RS232C в режиме Host Link.
1.8 Функциисвязи
1.8.1 Установочные параметры CQM1
Для настройки параметров портов связи служат параметры DM 6645..DM 6654. Параметры для порта RS-232C в DM 6645..DM 6649 можно задать командами меню, используя SSS.
Если секция 5 переключателя DIP CQM1 установлена в ON, параметры связи ПК будут игнорироваться, а использоваться будут следующие параметры:
Режим: Host Link Номер узла: 00 Стартовые биты: 1 бит Длина данных: 7 бит Стоповые биты: 2 áèòà
- 101 -
Loading...