AP0017 КОММЕНТАРИЙ ПО ПРИМЕНЕНИЮ Счетные входы, измерение оборотов/импульсов Абстрактно Каждый цифровой вход можно использовать для счета импульсов. Каким способом их можно использовать описано в этом комментарии по применению. Автор: Йиржи Палат Документ: ap0017_ru_01.pdf Приложение Содержание файла: ap0017_cz_01.zip citacovevstupy_p1_cz_01.dso Пример № 1 – программный счетчик citacovevstupy_p2_cz_01.dso Пример № 2 – программный счетчик INT, измерение оборотов citacovevstupy_p3_cz_01.dso Пример № 3 – аппаратный счетчик citacovevstupy_p4_cz_01.dso Пример № 4 – счет импульсов на DM-DI24 citacovevstupy_p5_cz_01.dso Пример № 5 – счет импульсов на DMM-DI24 ® Copyright (c) 2009, AMiT , spol. s r.o. www.amit.cz 1/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Содержание Абстрактно ..........................................................................................................................1 Приложение ........................................................................................................................1 История ревизий.................................................................................................................4 Соответствующая документация ......................................................................................4 1. Термины и определения.................................................................................................5 2. Счетные входы, измерение оборотов/импульсов .........................................................6 3. Программный счетчик.....................................................................................................7 3.1. 3.1.1 3.1.2 3.2. Программное обслуживание .............................................................................................7 Модуль ImpIn ......................................................................................................................7 Модуль DImp.......................................................................................................................7 Пример № 1 – программный счетчик................................................................................7 Процесс Quick, период 50 мс. ...........................................................................................8 Обычный процесс, период 5 с...........................................................................................8 4. Программный счетчик INT ..............................................................................................9 4.1. 4.2. 4.2.1 4.3. Interrupt процессы...............................................................................................................9 Программное обслуживание .............................................................................................9 Измерение скорости вращения.......................................................................................10 Пример № 2 – программный счетчик INT, скорости вращения .........................................10 Процесс Interrupt_0 ..........................................................................................................10 Процесс Interrupt_1 ..........................................................................................................10 Правильный процесс, период 1 сек. ...............................................................................11 5. Аппаратный счетчик......................................................................................................12 5.1. 5.1.1 5.3. 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 Программное обслуживание ...........................................................................................12 Модуль IRCMode ..............................................................................................................12 Режимы входов.................................................................................................................13 Начальные условия..........................................................................................................14 Обслуживание позиционных меток.................................................................................14 Перевод в физические величины ...................................................................................15 Параметры модуля и их изменение во время работы ..................................................15 Модуль IRCPreset.............................................................................................................15 Модуль IRCSet..................................................................................................................15 Модуль IRCIn ....................................................................................................................16 Примеры применения счетных входов...........................................................................16 Пример № 3 - аппаратный счетчик .................................................................................16 Процесс INIT .....................................................................................................................16 Процесс обработки результата, период 10 сек. ............................................................17 Свойства счетных входов................................................................................................17 Контроллер ADiS ..............................................................................................................17 Контроллер AMiRiS99 ......................................................................................................18 Контроллер ART267Ax.....................................................................................................19 Контроллер ART4000x .....................................................................................................20 Контроллеры AMiNix, AMiNi2x.........................................................................................21 Контроллеры ADOREG/36x, StartKit ...............................................................................23 6. Счет импульсов при помощи расширяющих модулей ...........................................24 6.1. Расширяющий модуль DM-DI24......................................................................................24 5.1.2 5.1.3 5.1.4 5.2. 5.2.1 ap0017_ru_01 2/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 6.1.1 6.2. 6.2.1 Пример № 4 – считывание импульсов на DM-DI24 .......................................................24 Считывание значений счетчиков из всех входов ..........................................................25 Настройка значения всех счетчиков...............................................................................25 Расширяющий модуль DMM-DI24...................................................................................25 Пример № 5 – считывание импульсов на DMM-DI24 ....................................................25 Считывание значений счетчиков на всех входах. .........................................................25 Настройка значения счетчика одного входа ..................................................................26 Настройка значения счетчиков всех входов ..................................................................26 7. Техническая поддержка ................................................................................................27 8. Предупреждение ............................................................................................................28 3/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ История ревизий Версия 001 Дата Изменения 28. 11. 2008 Новый документ Соответствующая документация 1) Справочная система к среде разработки DetStudio файл: DetStudioHelp.chm 2) Руководство по обслуживанию контроллеров AMiT файл: xxx_g_ru_xxx.pdf 3) AP0006 – Коммуникация в сети MODBUS файл: ap0008_ru_xx.pdf 4) AP0016 – Правила применения RS485 файл: ap0016_ru_xx.pdf 5) AP0025 – Коммуникация в сети ARION – задание параметров в таблице файл: ap0025_ru_xx.pdf ap0017_ru_01 4/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 1. Термины и определения DetStudio Среда разработки прикладных программ для контроллеров фирмы AMiT, которая служит также для параметризации контроллеров. Эту среду можно свободно скачать с www.amitomation.ru . Счетные входы Это дискретные входы, которые оборудованы быстродействующими счетчиками и их можно использовать для подсчета приходящих импульсов, используя для этого программные модули IRCxxx. Канал Группа из максимально шестнадцати входов/выходов одного типа (дискретные/аналоговые). RS485 Это полудуплексная последовательная шина позволяющая осуществлять коммуникацию между несколькими элементами на одной сигнальной паре. Больше информации найдете в документе AP0016 – Правила применения RS485. ARION Это последовательный полудуплексный коммуникационный протокол для коммуникации контроллеров формы AMiT с модулями удаленных вх./вых.. При помощи этих модулей можно увеличить количество входов/выходов контроллеров. К одной сети ARION можно подключить до 63 модулей. MODBUS Это открытый протокол для взаимной коммуникации разного оборудования, который позволяет переносить данные в разных сетях и полевых шинах. Коммуникация работает на принципе передачи сообщений с данными между клиентом и сервером (master и slave). Удаленная точка Речь идет о определении регистров/бинаров, в некоторых случаях групп регистров/бинаров, которые ассоциированы с входами/выходами на оборудовании (slave) выполняющем коммуникацию посредством протокола MODBUS. Модули DM-xxx Модули, которые посредством коммуникационной сети ARION позволяют расширить количество входов и выходов контроллера. Модули DMМ-xxx Модули, которые посредством коммуникационной сети MODBUS RTU позволяют расширить количество входов и выходов у оборудования, которое выполняет коммуникацию посредством протокола MODBUS RTU и является «master» в этой сети. К одной сети MODBUS можно подключить до 63 модулей. 5/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 2. Счетные входы, измерение оборотов/импульсов Все контроллеры фирмы AMiT, которые оборудованы дискретными входами можно использовать для счета импульсов или измерения количества оборотов. Счет импульсов или измерение количества оборотов может быть реализован (согласно типа конкретного контроллера) следующим способом: ♦ Программным счетчиком ♦ Программным счетчиком INT ♦ Аппаратным счетчиком Если контроллер не имеет дискретных входов, но имеет коммуникационной интерфейс RS485 или RS232 (для RS232 необходимо применить преобразователь RS232/RS485), можно для счета импульсов (до частоты 25 Гц) использовать расширяющие модули DM-DI24 (коммуникация по протоколу ARION) или DMM-DI24 (коммуникация по протоколу MODBUS). Эта возможность описана в главе 6. Программный счетчик Каждый дискретный вход можно программно обслуживать в Hi_x процессах. Применив в этих процессах определенные программные модули можно использовать эти входы как счетные, в частности для измерения количества оборотов. Максимальная частота входного сигнала при этом зависит от программной реализации. Как правило такой способ можно использовать до частоты 250 Гц. Эта возможность описана в главе 3. Программный счетчик INT Некоторые дискретные входы могут генерировать аппаратное прерывание (interrupt). Программным обслуживанием таких прерываний в Interrupt_x процессах возможно при помощи определенных программных модулей использовать эти входы как счетные, в частности для измерения количества оборотов. Максимальная частоты входного сигнала при этом зависит от программной реализации. Как правило такой способ можно использовать до частоты 10 кГц. Эта возможность описана в главе 4. Аппаратный счетчик Некоторые контроллеры оборудованы аппаратными счетчиками, подключенными к дискретным входам, в частности счетчиками, рассчитанными на работу с инкрементными датчиками перемещения. Программное обслуживание в этом случае обеспечивается при помощи программных модулей IRCxxx. Максимальная частота входного сигнала при этом зависит от типа контроллера. Эта возможность описана в главе 5. ap0017_ru_01 6/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 3. Программный счетчик Если контроллер оборудован дискретными входами, то сигналы на этих входах можно программно обрабатывать в быстрых процессах и каким способом использовать их для счета импульсов. Программирование выполняется в среде разработки DetStudio и для этого используются модули ImpIn и DImp. Максимальная частота входного сигнала при этом зависит от программной реализации. Как правило такой способ можно использовать до частоты 250 Гц. Модуль DImp можно использовать в любом обычном процессе. Модуль ImpIn располагается в быстром процессе (процесс типа Quick или Hi_x), период которого выбирается в зависимости от длины импульса. Период процесса с модулем ImpIn должен быть более чем в два раз меньше чем чем длительность обрабатываемых импульсов. Например если длительность импульса = 10 мкс, то период быстрого процесса должен быть 5 мкс или меньше. 3.1. 3.1.1 Программное обслуживание Модуль ImpIn Модуль ImpIn обслуживает до шестнадцати импульсных входов, считываемых из выбранного логического канала DI. Обрабатываемые значения не укладывает в базу данных, а сохраняет их в своих внутренних переменных. Эти значения далее обрабатываются при помощи модуля DImp. Модуль ImpIn должен быть расположен в быстром процессе (процесс типа Quick или Hi_x). Каждый из шестнадцати импульсных сигналов может иметь активным фронт или срез импульса или обе две грани одновременно. У сигналов не правильной формы как правило активным выбирается фронт. 3.1.2 Модуль DImp Модуль DImp считывает параметр из импульсного входа и пересчитывает его в размерность конкретной физической величины. Модуль используется совместно с модулем ImpIn, который предназначен для обслуживания импульсных входов. Модуль DImp располагается в любом простом процессе (Proc00 .. Proc15). При счете импульсов на нескольких входах, модуль DImp используется в прикладной программе многократно. Модуль DImp способен обрабатывать данные, получаемые от датчиков с импульсным выходом, по принципу „1 импульс = N физических величин“. На основании значения N (константы датчика) определяется состояние счетчика непрерывных величин (напр. счетчика потребления воды, счетчика газа, электросчетчика и т.д.) и определяется актуальное значение физической величины. 3.2. Пример № 1 – программный счетчик На вход DI0.0 контроллера StartKit будет подключено оборудование, которое генерирует импульсы длительностью 100 мс. Минимальная пауза между импульсами составляет 100 мс. Физическое значение одного импульса соответствует энергии 0,25 МДж. Значения счетчика будут считываться каждых 5 с. При достижении значения 1 ГДж, счетчик обнулится. Модуль ImpIn необходимо расположить в такой быстрый процесс, период которого был бы на половину меньше длительности импульса. Для данной задачи это мог бы быть процесс с периодом 50 мс. Поставленную задачу решает приведенный ниже код. 7/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Процесс Quick, период 50 мс. // обслуживание 16-ти импульсных входов канала 0 :10000 ImpIn #0, 100, 30, 0xFFFF, 0x0000 Обычный процесс, период 5 с. // считывание и перерасчет импульсного входа DI0.0 DImp :10000, 0, Delta, Suma, Okamzita, Konstanta, SyncIn.0, NONE.0 //при достижении значения 1 миллион, счетчик обнулить Let SyncIn = if(Suma >= 1000000, 1, 0) Переменная Suma является счетчиком физических единиц, переменная Delta является приращением физической величины с момента последнего считывания, переменная Okamzita содержит вычисленное актуальное значение количества физических единиц за единицу времени, в переменной Konstanta находится константа счетчика (0,25 МДж / импульс). Этот пример является составной частью проекта, находящегося в файле приложения Содержание файла: ap0017_cz_01.zip под названием citacovevstupy_p1_cz_01.dso. Этот проект создан в среде DetStudio для контроллера StartKit. Однако его можно адаптировать для любого иного контроллера, имеющего дискретные входы, при помощи меню DetStudiо Tools/Change Station... . ap0017_ru_01 8/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 4. Программный счетчик INT Некоторые дискретные входы могут генерировать аппаратное прерывание (interrupt). Программным обслуживанием таких прерываний в Interrupt_x процессах можно эти входы применить для счета импульсов. Ограничение частоты входного сигнала обусловлено спецификой программного обеспечения. Как правило данный способ можно использовать до частоты 10 кГц. 4.1. Interrupt процессы В прикладной программе можно создать до 16 interrupt процессов (в среде разработки DetStudio обозначены как Interrupt_0 .. Interrupt_15), которые запускаются при возникновении определенных событий. Под этими событиями понимается достижение сигналом, подаваемым на дискретный вход контроллера, определенного уровня. Запуск процесса может производится по фронту или по срезу сигнала, или же от обоих граней сигнала. Количество имеющихся interrupt процессов и их соответствие дискретным входам зависит от примененного типа контроллера, и приведено в нижеследующей таблице. Процесс Interrupt_0 Interrupt_1 Interrupt_2 Interrupt_3 Interrupt_4 Interrupt_5 Interrupt_6 Interrupt_7 Interrupt_8 Interrupt_9 Interrupt_10 Interrupt_11 Interrupt_12 Interrupt_13 Interrupt_14 Interrupt_15 ADiS + 2 × AD-FDI8 ADOREG/3 6x StartKit AMAP99 AMiNix AMiNi2x ART4000x ART267Ax AMiRiS99 FDI0.0 FDI0.1 FDI0.2 FDI0.3 FDI0.4 FDI0.5 FDI0.6 FDI0.7 FDI1.0 FDI1.1 FDI1.2 FDI1.3 FDI1.4 FDI1.5 FDI1.6 FDI1.7 DI0.0 DI0.1 DI0.2 DI0.3 - DI0.0 DI0.1 DI0.2 DI0.3 DI0.4 DI0.5 DI0.6 DI0.7 DI1.0 DI1.1 DI1.2 DI1.3 DI1.4 DI1.5 DI1.6 DI1.7 DI0.0 DI0.1 DI0.2 DI0.3 DI0.4 DI0.5 DI0.6 DI0.7 - DI0.0 DI0.1 DI0.2 DI0.3 DI0.4 DI0.5 DI0.6 DI0.7 DI1.0 DI1.1 DI1.2 DI1.3 - ADiR ADOSxxx APT3xxx APT3xxxS MEST1xx - Примечание У контроллера ADiS процессы Interrupt_0 .. Interrupt_7 связанны с дискретными входами первого модуля AD-FDI8 (AD-FDI8 который расположен ближе всего к CPU модулю). Процессы от Interrupt_8 до Interrupt_15 связанны с дискретными входами второго модуля AD-FDI8. При этом отсутствует какая-либо зависимость от распределения логических каналов на этих модулях. 4.2. Программное обслуживание Interrupt_x процесс возможно использовать для счета импульсов используя следующий сценарий. Импульсы будут подаваться на дискретный вход контроллера, который будет генерировать прерывание в следствии которого будет запускаться соответствующий Interrupt_x процесс (в соответствии с таблицей выше). В этом процессе потом будет выполняться счет приходящих импульсов. 9/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 4.2.1 Измерение скорости вращения При измерении скорости вращения (количества оборотов за минуту) при помощи импульсного датчика, можно использовать модуль RPM1. Этот модуль позволяет определить скорости вращения, измеряя параметры импульсов на одном дискретном входе (который вызывает прерывание). Для измерении скорости вращения на нескольких входах, в прикладной программе используется несколько модулей RPM1. Модуль располагается в Interrupt_x процессе соответствующем входу, на котором хотим измерять скорость вращения. Язык процесса должен быть типа LA или RS. В параметрах соответствующего процесса Interrupt_x необходимо задать, должен ли процесс (а в месте с ним и модуль RPM1) включаться по фронту или по срезу входного импульса. Кроме исключительных случаев, настойчиво не рекомендуется настраивать запуск Interrupt_x процесса на обе грани импульса – это могло бы отрицательно повлиять на точность измерения. В Interrupt_x процессе с модулем RPM1 не рекомендуется использовать какие-либо другие функциональные модули. Не зависимо от частоты входных импульсов, значение переменной, содержащей скорость вращения, актуализируется каждых 10 мс, и эта переменная может использоваться в любом процессе. Общее количество импульсов за единицу времени для всех модулей RPM1, примененных в прикладной программе, не должна в сумме превысить 80000 импульсов за одну минуту. Однако необходимо далее учесть что превышение границы 40000 импульсов за одну минуту может стать причиной возникновения сбоев в последовательной коммуникации, в следствии увеличения потребления процессорного времени на обслуживание счетных входов. Указанные выше границы могут отличаться в зависимости от типа контроллера. 4.3. Пример № 2 – программный счетчик INT, скорости вращения На вход DI0.0 контроллера StartKit будет подключен счетчик расхода (напр. обьема какогото вещества), который генерирует импульсы. Физически одн импульс соответствует 1 м3. При достижении значения 1·106 м3 счетчик будет обнуляться. Далее будет на вход DI0.1 подаваться сигнал с импульсного датчика для измерения скорости вращения. Датчик в течении каждого оборота генерирует 8 импульсов. Поставленную задачу решает приведенный ниже код. Процесс Interrupt_0 // счет импульсов поступающих на вход DI0.0, активным является фронт импульса IncDec cit_hodnota, 1, 1.000 Суммарное количество поступивших на вход импульсов (или значений физической величины в м3) укладывается в переменную cit_hodnota. Процесс Interrupt_1 // Измерение скорости вращения. Импульсы с датчика оборотов поступают на вход DI0.1, // активным является фронт импульса RPM1 0x0808, 10.000, Otacky Для уменьшения влияния вибрации и неточности в размещении меток на измерительном диске, для расчетов используется среднее арифметическое значение периодов восьми последних импульсов. Скорость вращения измеряется начиная со значения 10 об/мин, и укладывается в переменную Otacky. ap0017_ru_01 10/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Правильный процесс, период 1 сек. // Обработка значения счетчика, с целью его обнуления при достижении максимальной //величины Let cit_hodnota = if (cit_hodnota > 1000000, 0, cit_hodnota) Этот пример является составной частью проекта, находящегося в файле приложения Содержание файла: ap0017_cz_01.zip под названием citacovevstupy_p2_cz_01.dso. Этот проект создан в среде DetStudio для контроллера StartKit. Однако его можно адаптировать для любого иного контроллера, имеющего дискретные входы, вызывающие interrupt процессы, при помощи меню DetStudiо Tools/Change Station... . 11/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 5. Аппаратный счетчик Некоторые контроллеры фирмы AMiT оборудованы быстрыми (аппаратными) счетными входами, или входами для инкрементных датчиков перемещения. Разные типы контроллеров оборудованы разным количеством этих входов, некоторые типы контроллеров этими входами не оборудованы вовсе. Эти входы можно параметризовать в среде разработки DetStudio при помощи модулей IRCIn, IRCMode, IRCSet и IRCPreset. Для каждого счетного входа можно выбрать, для какой конкретной цели он должен быть применен, или какой тип датчика к нему подключен. Некоторые счетные входы не поддерживают все режимы или некоторые режимы поддерживаются с определенными ограничениями, см. главу 5.3. Аппаратными счетными входами оборудованы приведенные ниже контроллеры. Контроллер ADiS AMiRiS99 ART267Ax ART4000x AMiNix, AMiNi2x ADOREG/36x, StartKit Количество считывающих входов 2-а счетных входа при применении модуля AD-IRC2 (можно подключить до 8 модулей, следовательно до 16-ти счетных входов) 2 счетных входа 2 счетных входа 2 счетных входа 3 счетных входа 2 счетных входа Параметры счетных входов Контроллер AdiS + AD-IRC2 AMiRiS99 ART267Ax ART4000x AMiNix, AMiNi2x ADOREG/36x, StartKit Амплитуда входных сигналов TTL / 24 В 24 В 24 В 24 В 24 В 24 В Макс. частота 1 МГц 5 кГц 5 кГц 5 кГц 160 кГц 5 кГц Примечание Приведенные в таблицах выше данные являлись актуальными в момент написания этого комментария по применению. Актуальный перечень контроллеров, оборудованных аппаратными счетными входами можно найти на www.amitomation.ru. 5.1. Программное обслуживание Для обслуживания счетных входов, или входов для инкрементных датчиков перемещения служат модули IRCxxx. Как правило, с инкрементных датчиков на счетные входы контроллера поступают два сигнала F1 и F2, иногда три сигнала в тех случаях когда используется сигнал, определяющий направление счета (инкремент или декремент), см. главу 5.3. 5.1.1 Модуль IRCMode Модуль обеспечивает настройку режимов аппаратных счетных входов, или входов для инкрементных датчиков. В месте с тем возможен выбор активной грани входных импульсов. Далее имеется возможность задания константы для перерасчета количества импульсов (единиц) в значение физической величины. ap0017_ru_01 12/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Модуль IRCMode как правило располагается в процесс INIT, но его также возможно расположить и в периодический процесс. Это целесообразно сделать в тех случаях когда необходимо изменять режим или иные параметры счетного входа во время работы программы (например из терминала). При расположении в периодическом процессе необходимо, чтобы модуль вызывался только тогда, когда необходимо сделать изменение параметров, и чтобы в момент его вызова на вход не поступали импульсы, так как в процессе работы модуля IRCMode может произойти потеря или не корректная обработка импульсов. Режимы входов Счетный вход в разных режимах реагирует по разному на различные комбинации входных сигналов (F1 и F2) и их граней. Рис. 1 - Определение событий В указанной ниже таблице „+“ значит повышение значения счетчика, „-“ значит понижение значения счетчика, пустое поле значит, что счетчик на событие не реагирует. Реакция на событие Режим входов IRC F1-F2 IRC F2-F1 Направление +/Направление -/+ Вверх Вниз F1+ F2F1- F2+ Выбор активной грани Не имеет значения Не имеет значения Фронт Срез Обе грани Фронт Срез Обе грани Фронт Срез Обе грани Фронт Срез Обе грани Фронт Срез Обе грани Фронт Срез Обе грани Реакция на событие: 4 5 6 1 2 3 + + + + + - - - - - 7 8 9 - - - - + + + + - + + + + - + + + + - + + + + + - - + + + + + - - - + + + + + + - - + - + - + + - - - + + + - + - + + Дальнейшую информацию о режимах найдете в главе 5.3. 13/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Начальные условия После включения контроллера внутренние счетчики, обеспечивающие работу счетных входов / входов для инкрементных датчиков перемещения, обнулены. Перед первым вызовом модуля IRCMode случайные импульсы на входах игнорируются. После включения контроллера и вызова модуля IRCMode должна быть проведена синхронизация данных счетчика с действительным положением того механизма с которым данный счетчик работает. Это можно сделать, например выполнив перемещение механизма к концевику (к позиционной метке), определяющему начальное положение. До выполнения этой синхронизации прикладная программа не должна использовать значения полученные при помощи модуля IRCIn. Альтернативой является периодическая запись значения счетчика, получаемое при помощи вызова программного модуля IRCIn, в датабазовую переменную. У такой переменной не должна происходить инициализация после выключения и включения питания контроллера (так называемый "теплый старт"). Данное свойство задается программистом при инициализации переменной. В случае пропадания и последующего появления питания значение этой переменной можно использовать для инициализации счетчика. Однако следует учесть, что такой метод может отрицательно сказаться на точности определения положения механизма, поскольку часть импульсов, поступивших на счетный вход в период между последним вызовом модуля IRCIn и пропаданием питания, может быть потеряна. Таким образом и в этом случае было бы полезно калибровку производить хотя бы время от времени, чтобы возникающая ошибка, в следствии ее накопления, не превысила критическое, для данной системы, значение. Обслуживание позиционных меток Инкрементные датчики перемещения бывают, как правило, оборудованы одной или несколькими позиционными (индексными) метками. Эти метки служат для установки механизма в начальное положение, или же установки в определенное, требуемое в данном механизме, положение. Для подключения датчиков, связанных с данными метками, должны быть в контроллере выделены отдельные входы. При достижении механизмом положения, определяемого метками (срабатывании соответствующих датчиков), необходимо обеспечить запись соответствующих значений в аппаратный счетчик (например нулевого значения или какого-то определенного). Если не брать в расчет возможность мануальной синхронизации положения (когда обслуживающий персонал, например, нажатием кнопки запустит процесс, содержащий модуль IRCSet), возможны два режима обслуживания позиционных меток: Автоматический режим – требуется наличие у контроллера специального дискретного входа, связанного с аппаратным счетчиком, который бы в случае прихода на этот вход сигнала от датчика позиционной метки, обеспечил бы запись (без участия программы) в аппаратный счетчик определенного значения, предварительно заданного модулем IRCPreset. Полуавтоматический режим – позволяет использовать для обработки сигналов от позиционных меток практически любой дискретный вход, который способен, при помощи прерываний, запустить один из процессов Interrupt_0 .. Interrupt_15. Синхронизацию в этом случае выполняет прикладная программа контроллера, вызывая модуль IRCSet. В этом режиме, как правило, бывает необходимо ограничить скорость хода механизма в момент синхронизации, чтобы в период между приходом сигнала от позиционной метки и вызовом модуля IRCSet не произошла потеря импульса пришедшего на счетные входы. Информацию о том, какие контроллеры поддерживают автоматический режим и какое количество специализированных дискретных входов для обработки позиционных меток в автоматическом режиме они имеют, найдете в главе 5.3. ap0017_ru_01 14/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Перевод в физические величины Модулем IRCMode также задаются константы для перевода значения внутренних счетчиков на физические величины (напр. для длины в соответствующий величинах длины). Перерасчет согласно заданных констант проходит в модулях IRCIn и IRCSet согласно формулы: Значение = Количество × Шаг + Ноль где: Количество является состоянием внутреннего счетчика Шаг (Step), Ноль (Zero) являются одноименными параметрами модуля IRCMode Значение является значением счетчика в требуемых физических величинах Из этой формулы следует, что поскольку Количество является просто числом, не имеющим выражения в конкретных физических величинах, то Значение будет в тех же физических величинах, в которых задан Шаг и Ноль. Модуль IRCSet выполняет пересчет значения Количества из заданного Значения согласно инверсной формулы. При определении констант в режиме входа IRC F1-F2 и IRC F2-F1 необходимо учитывать то, что одному периоду входного импульсного сигнала (что соответствует расстоянию между соседними измеряющими полосками) соответствует, как правило, большее количество единиц приращения внутреннего счетчика. Количество единиц приращения на один период для конкретного входа конкретного типа контроллера найдете в главе 5.3. Параметры модуля и их изменение во время работы В следствии вызова модуля IRCMode значения внутренних счетчиков не изменяется. В ходе выполнения прикладной программы этот модуль можно применить для изменения значений параметров Ноль и Шаг. В этом случае, при вызове модуля IRCIn произойдет скачкообразное изменение выходного значения (даже без подачи на вход каких-либо импульсов), поскольку старое значение внутренних счетчиков будет пересчитано с использованием новых значений параметров Ноль и Шаг. В случаях, когда такая ситуация является нежелательной, необходимо после изменения параметров Ноль и Шаг обеспечить правильную настройку значения счетчика, используя модуль IRCSet. 5.1.2 Модуль IRCPreset Модуль задает значение, которое запишется в аппаратный счетчик в момент прихода на специализированный вход сигнала от датчика позиционной метки, при работе контроллера в режиме автоматического обслуживания позиционных меток. В режиме полуавтоматического обслуживания позиционных меток для записи значения в счетчик воспользуйтесь модулем RCSet. Модуль так же обеспечивает пересчет значения физической величины на соответствующее количество импульсов. Для пересчета физических значений в значения аппаратного счетчика используются константы, которые были для данного счетного входа заданы предыдущим вызовом функционального модуля IRCMode. Модуль располагается в процесс INIT осле модуля IRCMode, или в соответствующий периодический процесс, в случае если значение счетчика, соответствующее определенной позиционной метке, во время работы прикладной программы необходимо изменить. 5.1.3 Модуль IRCSet Модуль обеспечивает запись значения в аппаратный счетчик обслуживающий счетный вход, или вход для инкрементного датчика положения. Модуль так же обеспечивает пересчет значения физической величины в соответствующее количество импульсов. 15/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Модуль применяется преимущественно при обработке сигнала позиционной метки в режиме полуавтоматического обслуживания позиционных меток, см. главу 5.1.1. Для пересчета физических значений в значения аппаратного счетчика используются константы, которые были для данного счетного входа заданы предыдущим вызовом функционального модуля IRCMode. Модуль располагается в процесс, в котором задается значение счетчика, соответствующее какому-то определенному положению механизма. Чаще всего это процесс Interrupt_x, ассоциированный с дискретным входом, на который приходит сигнал с концевика (или иного датчика) позиционной метки. 5.1.4 Модуль IRCIn Модуль обеспечивает считывание значения из аппаратного счетчика, обслуживающего счетный вход, или вход для инкрементвого датчика положения. Модуль так же обеспечивает пересчет значения физической величины в соответствующее количество импульсов. Для пересчета значений аппаратного счетчика в физические значения используются константы, которые были для данного счетного входа заданы предыдущим вызовом функционального модуля IRCMode. Модуль располагается в процесс, в котором осуществляется обработка значения положения или иной параметр, измеряемый при помощи счетного входа. 5.2. Примеры применения счетных входов Составной частью приложения к данной инструкции ap0017_cz_01.zip является программный код, приведенный ниже, написанный для контроллера StartKit в среде разработки DetStudio. Однако его можно адаптировать для любого иного контроллера, имеющего счетные входы (поддерживающие примененный режим), при помощи меню DetStudiо Tools/Change Station... . Информация о том, поддерживает ли данный контроллер требуемый режим и к какому входу подключен сигнал F2, приведена в главе 5.3. 5.2.1 Пример № 3 - аппаратный счетчик К контроллеру StartKit будет подключено оборудование, которое генерирует импульсы (только 1 сигнал). Значения из счетчика будут считываться каждые 10 сек. Вместе с тем будет необходимо определить разницу в количестве импульсов между актуальным и предшествующим считыванием. При достижении значения счетчика 5 миллионов, или после рестарта контроллера, счетчик будет обнулен. Параметры счетчика Выбранный контроллер StartKit имеет два, поддерживаемых на аппаратном уровне, счетных входа (см. главу 5.3.6). Для счета импульсов от одного подключенного источника будет для наших целей самым приемлемым режим „вверх“, когда, с приходом каждой активной грани (фронт/срез/обе грани) на вход F2, будет происходить увеличение значения счетчика на единицу. Входной сигнал F1 в этом режиме не будет оказывать влияние на работу счетчика. Указанный режим можно применить на обоих счетных входах. Будем использовать счетчик „0“, сигнал от генератора импульсов будет подаваться на вход F2, т.е. клемму DI0.0 контроллера. Код программы приведен ниже. Процесс INIT В процессе INIT настроен счетчик „0“ в режим „вверх“. Счетный вход будет реагировать на фронт импульса. С каждым приходящим импульсом увеличится на 1. Если настройка режима счетчика будет успешной, то нулевой бит переменной nastaveno будет установлен ap0017_ru_01 16/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ в значение лог. 1. Далее в этом процессе осуществляется задание начального значения счетчика на 0. // Инициализация режима счетного входа IRCMode 0, 4, 1, 0.000, 1.000, nastaveno.0 //сброс счетчика IRCSet 0, 0.000 Let cit_old = 0 Процесс обработки результата, период 10 сек. В этом процессе считывается значение из счетчика. Из этого значения потом вычисляется отклонение от предшествующего значения счетчика. В случае превышения абсолютного значения счетчика установленного порогового значения счетчик обнуляется. // считывание значения счетчика IRCIn 0, cit_hodnota // анализ считанного значения Let ok = if ((cit_old < cit_hodnota) AND (cit_hodnota < 5000000), 1, 0) If ok.0, :NONE // вычисление отклонения Let cit_delta = cit_hodnota - cit_old Let cit_old = cit_hodnota Else //сброс счетчика IRCSet 0, 0.000 Let cit_old = 0 EndIf Этот пример является составной частью проекта, находящегося в файле приложения Содержание файла: ap0017_cz_01.zip под названием citacovevstupy_p3_cz_01.dso. 5.3. Свойства счетных входов В этой главе описаны параметры и режимы счетных входов всех контроллеров фирмы AMiT, которые этими входами оборудованы. Перечень актуален к дате создания этого комментария по применению. 5.3.1 Контроллер ADiS Этот тип контроллера оборудован счетными входами, способными также работать с инкрементными датчиками перемещения, исполязуя для этого модуль AD-IRC2. Каждый такой модуль предоставляет два счетных входа, или входа для инкрементных датчиков. В общем контроллер можно расширить и восемью модулями AD-IRC2, следовательно и шестнадцатью счетными входами, или входами для инкрементных датчиков положения. Их номера в пределах 0 .. 15 определяет пользователь в окне IO Configuration (IO Конфигурация) в DetStudiо. Канал „0“ модуля AD-IRC2 (верхний разъем CANON) Номер входа n – определено в "IO Конфигурации“ в DetStudiо Сигнал F1 сигнал Б, или пара сигналов Б-Б’ Сигнал F2 сигнал А, или пара сигналов А-А’ Диапазон внутреннего счетчика 32 бита (-2.147.483.648 .. 2.147.483.647) Входы для импульсов от Один ( номер метки – 0): сигнал I, или пара сигналов I-I’ позиционных (индексных) меток в автоматическом режиме 17/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание IRC F1-F2 Не имеет Одному полному периоду входных импулсов значения соответствуют 4 единицы изменения внутреннего счетчика. (Счетчик изменяется с каждой гранью каждого IRC F1-F2 Не имеет входного сигнала) значения Направление Фронт +/Срез Направление Фронт -/+ Срез Вверх Эти режимы данным типом контроллера не поддерживаются. Возможно использовать режимы "Направление +/-", или "Направление -/+", закоротив Вниз между собой сигналы Б-Б. F1+ F2Эти режимы данным типом контроллера не поддерживаются. F1- F2+ Канал „1“ модуля AD-IRC2 (нижний разъем CANON) Номер входа n+1 – „n“ определено в "IO konfiguraci“ в DetStudiо Сигнал F1 сигнал Б, или пара сигналов Б-Б’ Сигнал F2 сигнал А, или пара сигналов А-А’ Диапазон внутреннего счетчика 32 бита (-2.147.483.648 .. 2.147.483.647) Входы для импульсов от Один ( номер метки – 0): сигнал I, или пара сигналов I-I’ позиционных (индексных) меток в автоматическом режиме Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание Аналогично как для канала „0“ Примечание В зависимости от выбранного режима и граней импульсов, может на каждом канале гореть LED Bx, или Ax инверсно, т.е. гореть при отсутствии сигнала, гаснуть при наличии сигнала. 5.3.2 Контроллер AMiRiS99 Этот тип контроллера оборудован двумя счетными входами, или входами для инкрементных датчиков перемещения, пронумерованными 0 и 1. Вход „0“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме ap0017_ru_01 0 DI0.0 DI0.1 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. 18/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание IRC F1-F2 Не имеет Одному полному периоду входных импульсов значения соответствуют 4 единицы изменения внутреннего счетчика. (Счетчик изменяется с каждой гранью каждого IRC F2-F1 Не имеет входного сигнала) значения Направление Фронт +/Срез Обе грани Направление Фронт -/+ Срез Обе грани Вверх Фронт Входной сигнал F1 не влияет на работу счетчика, Срез соответствующий вход может быть использован как Обе грани обычный дискретный вход. Вниз Фронт Срез Обе грани В момент прихода активной грани одного входного сигнала, F1+ F2Фронт другой сигнал должен быть в уровне логического „0“. Иначе Срез вход будет реагировать на противоположную грань, чем F1- F2+ Фронт требуется. Это может привести к потере импульса в случае, Срез если импульсы приходят на оба входа одновременно. Вход „1“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 1 DI0.2 DI0.3 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание Аналогично как для входа „0“ Примечание Не смотря на то, что в случае использования счетных входов и использования в программе функциональных модулей, работающих с этими входами, входы DI0.0 .. DI0.3 могут быть одновременно доступны как обычные дискретные входы на соответствующих логических каналах DI0 и DI0AC (номера 0 и 1). Следовательно, ничто не препятствует в использовании этих сигналов привычным способом, в качестве обычных дискретных сигналов, поступающих на обычные дискретные входы. 5.3.3 Контроллер ART267Ax Эти типы контроллеров оборудованы двумя счетными входами, пронумерованными 0 и 1. Вход „0“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 0 DI0.1 DI0.0 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. 19/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание IRC F1-F2 Эти режимы данным типом контроллера не поддерживаются IRC F2-F1 Направление Фронт +/Срез Обе грани Направление Фронт -/+ Срез Обе грани Вверх Фронт Входной сигнал F1 не влияет на работу счетчика, Срез соответствующий вход может быть использован как Обе грани обычный дискретный вход. Вниз Фронт Срез Обе грани F1+ F2Эти режимы данным типом контроллера не поддерживаются F1- F2+ Вход „1“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 1 DI0.3 DI0.2 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание Аналогично как для входа „0“ Примечание Не смотря на то, что в случае использования счетных входов и использования в программе функциональных модулей, работающих с этими входами, входы DI0.0 .. DI0.3 могут быть одновременно доступны как обычные дискретные входы на соответствующих логических каналах DI0 и DI0AC (номера 0 и 1). Следовательно, ничто не препятствует в использовании этих сигналов привычным способом, в качестве обычных дискретных сигналов, поступающих на обычные дискретные входы. 5.3.4 Контроллер ART4000x Эти типы контроллеров оборудованы двумя счетными входами, входами для инкрементных датчиков перемещения, пронумерованными 0 и 1. Вход „0“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме ap0017_ru_01 0 DI0.0 DI0.1 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. 20/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Поддерживаемые комбинации режима и выбор активных граней: Грани Примечание Одному полному периоду входных импульсов Не имеет соответствуют 4 единицы изменения внутреннего значения счетчика. (Счетчик изменяется с каждой гранью каждого IRC F2-F1 Не имеет входного сигнала) значения Фронт Направление Срез +/Обе грани Фронт Направление Срез -/+ Обе грани Фронт Вверх Входной сигнал F1 не влияет на работу счетчика, Срез соответствующий вход может быть использован как Обе грани обычный дискретный вход. Фронт Вниз Срез Обе грани В момент прихода активной грани одного входного сигнала, F1+ F2Фронт другой сигнал должен быть в уровне логического „0“. Иначе Срез вход будет реагировать на противоположную грань, чем F1- F2+ Фронт требуется. Это может привести к потере импульса в случае, Срез если импульсы приходят на оба входа одновременно. Режим IRC F1-F2 Вход „1“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 1 DI0.2 DI0.3 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание Аналогично как для входа „0“ Примечание Не смотря на то, что в случае использования счетных входов и использования в программе функциональных модулей, работающих с этими входами, входы DI0.0 .. DI0.3 могут быть одновременно доступны как обычные дискретные входы на соответствующих логических каналах DI0 и DI0AC (номера 0 и 1). Следовательно, ничто не препятствует в использовании этих сигналов привычным способом, в качестве обычных дискретных сигналов, поступающих на обычные дискретные входы. 5.3.5 Контроллеры AMiNix, AMiNi2x Эти типы контроллеров оборудованы тремя счетными входами, или входами для инкрементных датчиков перемещения, пронумерованными 0, 1 и 2. Вход „0“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 0 AMiNi, AMiNi-E, AMiNi-ES, AMiNi2x – DI0.1 AMiNi-T, AMiNi-TE – DI0.6 AMiNi, AMiNi-E, AMiNi-ES, AMiNi2x – DI0.0 AMiNi-T, AMiNi-TE – DI0.7 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. 21/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Поддерживаемые комбинации режима и выбор активных граней: Грани Примечание Не имеет Одному полному периоду входных импульсов значения соответствуют 4 единицы изменения внутреннего счетчика. (Счетчик изменяется с каждой гранью каждого IRC F2-F1 Не имеет входного сигнала) значения Направление Фронт +/Срез Обе грани Направление Фронт -/+ Срез Обе грани Вверх Фронт Входной сигнал F1 не влияет на работу счетчика, Срез соответствующий вход может быть использован как Обе грани обычный дискретный вход. Вниз Фронт Срез Обе грани F1+ F2Эти режимы данными типами контроллеров не поддерживаются F1- F2+ Режим IRC F1-F2 Вход „1“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 1 AMiNi, AMiNi-E, AMiNi-ES, AMiNi2x – DI0.3 AMiNi-T, AMiNi-TE – DI0.4 AMiNi, AMiNi-E, AMiNi-ES, AMiNi2x – DI0.2 AMiNi-T, AMiNi-TE – DI0.5 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание Аналогично как для входа „0“ Вход „2“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 2 AMiNi, AMiNi-E, AMiNi-ES, AMiNi2x – DI0.5 AMiNi-T, AMiNi-TE – DI0.2 AMiNi, AMiNi-E, AMiNi-ES, AMiNi2x – DI0.4 AMiNi-T, AMiNi-TE – DI0.3 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание Аналогично как для входа „0“ Примечание Не смотря на то, что в случае использования счетных входов и использования в программе функциональных модулей, работающих с этими входами, входы DI0.0 .. DI0.5 могут быть одновременно доступны как обычные дискретные входы на соответствующих логических каналах DI0 и DI0AC. Следовательно, ничто не препятствует в использо- ap0017_ru_01 22/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ вании этих сигналов привычным способом, в качестве обычных дискретных сигналов, поступающих на обычные дискретные входы. 5.3.6 Контроллеры ADOREG/36x, StartKit Эти типы контроллеров оборудованы двумя счетными входами, или входами для инкрементных датчиков перемещения, пронумерованными 0 и 1. Вход „0“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 0 DI0.1 DI0.0 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. Поддерживаемые комбинации режима и выбор активных граней: Грани Примечание Не имеет Одному полному периоду входных импульсов значения соответствуют 4 единицы изменения внутреннего счетчика. (Счетчик изменяется с каждой гранью каждого IRC F2-F1 Не имеет входного сигнала) значения Направление Фронт +/Срез Обе грани Направление Фронт -/+ Срез Обе грани Вверх Фронт Входной сигнал F1 не влияет на работу счетчика, Срез соответствующий вход может быть использован как Обе грани обычный дискретный вход. Вниз Фронт Срез Обе грани F1+ F2Эти режимы данными типами контроллеров не поддерживаются F1- F2+ Режим IRC F1-F2 Вход „1“ Номер входа Сигнал F1 Сигнал F2 Диапазон внутреннего счетчика Входы для импульсов от позиционных (индексных) меток в автоматическом режиме 1 DI0.3 DI0.2 32 бита (-2.147.483.648 .. 2.147.483.647) Отсутствуют. Возможно применить любой свободный дискретный вход для полуавтоматического режима обслуживания позиционных меток. Поддерживаемые комбинации режима и выбор активных граней: Режим Грани Примечание Аналогично как для входа „0“ Примечание Не смотря на то, что в случае использования счетных входов и использования в программе функциональных модулей, работающих с этими входами, входы DI0.0 .. DI0.3 могут быть одновременно доступны как обычные дискретные входы на соответствующих логических каналах DI0 и DI0AC (номера 0 и 1). Следовательно, ничто не препятствует в использовании этих сигналов привычным способом, в качестве обычных дискретных сигналов, поступающих на обычные дискретные входы. 23/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 6. Счет импульсов при помощи расширяющих модулей Если контроллер оборудован коммуникационным интерфейсом RS485 или RS232, можно для счета импульсов использовать расширяющие модули. Расширяющие модули DM-DI24 или DMM-DI24 позволяют использовать функцию счета приходящих импульсов на любом из их входов. Это, по крайней мере частично, решает проблемы с улавливанием коротких импульсов. Однако, при применении этой функции необходимо учитывать нижеуказанные свойства: ♦ Максимально возможное считываемое значение равно 32767 (число 15 бит.) После прибавления дальнейших импульсов, счет начинается снова от нуля. ♦ Максимально возможная частота приходящих импульсов может быть 25 Гц. При высшей частоте не возможно гарантировать, что все приходящие импульсы будут зафиксированы. ♦ Внутренний счетчик модуля обнуляется при отключении питающего напряжения, или же его можно обнулить программно. ♦ Необходимо программно обрабатывать переполнение внутреннего счетчика. 6.1. Расширяющий модуль DM-DI24 Коммуникация с расширяющим модулем DM-DI24 происходит при помощи протокола ARION. Больше информации найдете в комментарии по применению AP0025 – Коммуникация в сети ARION – задание параметров в таблице. Примечание Функция счета приходящих импульсов на любом из входов расширяющего модуля DM-DI24 поддерживается при наличии фирмваре версии 1.65 и выше. 6.1.1 Пример № 4 – считывание импульсов на DM-DI24 Пример реализации коммуникации по протоколу ARION (38400 Бод, порт 1) с DM-DI24 (адрес 1). Сеть ARION с расширяющим модулем DM-DI24 конфигурируется согласно приведенных ниже рисунков и описания. Рис. 2 - Задание параметров сети ARION с расширяющим модулем DM-DI24 Для применения модуля DM-DI24 в режиме счета импульсов, необходимо в таблицу Arion0 добавить модуль с именем DM-DI24_impuls. Значение параметра PeriodDI задать как 0, а в параметр PeriodAI задать требуемое значение. Модуль одновременно можно применить для считывания состояний цифровых входов. В этом случае параметры PeriodDI и PeriodAI настраиваются на требуемое значение. После этого можно программным модулем ARI_DigIn считывать актуальное состояние входов DI расширяющего модуля DM-DI24, а модулем ARI_AnIn считывать состояние счетчиков из входов DI. ap0017_ru_01 24/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ Считывание значений счетчиков из всех входов ARI_AnIn 1, 0, 24, DataCit_all[0,0], NONE[0,0], 16384.0, 0.0, 16383.0, 0.0, 16383.0 Настройка значения всех счетчиков ARI_AnOut 1, 0, 24, NastavCit[0,0], NONE[0,0], 16384.0, 0.0, 16383.0, 0.0, 16383.0 //настройка значений счетчиков If Nastav.0 // запуск процесса переноса в DM-DI24 ARI_Trig 1, 1 // обнуление признаков настройки Let Nastav = 0 EndIf После записи значений в выравнивающую память при помощи модуля ARI_AnOut необходимо запустить процесс переноса модулем ARI_Trig, так как значения в узел типа AO у DM-DI24 переносятся периодически. Внимание У счетчиков необходимо позаботиться о их переполнении! Диапазон счетчика равен 0 .. 32767. Следовательно счетчик считает следующим образом: 0, 1, 2, ..., 32766, 32767, 0, 1, 2, ... Это значит, что будет необходимо считывать и количество переполнений „p“ счетчика, а итоговая сумма импульсов потом будет равна: сумма = p × 32768 + счетчик. Этот пример является составной частью проекта, находящегося в файле приложения Содержание файла: ap0017_cz_01.zip под названием citacovevstupy_p4_cz_01.dso. Этот проект создан для контроллера StartKit. Однако его можно адаптировать для любого иного контроллера, имеющего серийный коммуникационный интерфейс, при помощи меню DetStudiо Tools/Change Station... . 6.2. Расширяющий модуль DMM-DI24 Коммуникация с расширяющим модулем DMМ-DI24 происходит при помощи протокола MODBUS. Больше информации найдете в коментарии по применению AP0008 – Коммуникация в сети MODBUS. 6.2.1 Пример № 5 – считывание импульсов на DMM-DI24 Позиция удаленных точек (регистров/бинаров) в каждом модуле всегда определяется номером данного входа/выхода модуля DMM-DI24. Для считывания/записи значений счетчика из/в модуль DMM-DI24, можно применить указанную ниже функцию MODBUS. Функция 3 4 6 16 Применение в DMM-DI24 Считывание значений счетчиков. Считывание значений счетчиков (аналогично с функцией 3). Запись значения в один счетчик. Запись значений во все счетчики. Считывание значений счетчиков на всех входах. Для одновременного считывания значений всех счетчиков используем для определения удаленной точки программный модуль RmtDef с указанными ниже параметрами. 25/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ RmtDef DIc[0,0],"4,0-23", 1, NONE, 5, 17, NONE.0, Prn_DIc, Poz_DIc │ │ │ └ Канал сопряженный с модулем MODBS_R │ │ └ Адрес модуля │ └ Период ввода запросов └ Функция 4 – считывания значений нескольких счетчиков. Переменная DIc[] является матрицей типа MI размером [1,24], эта конструкция обеспечит считывание значений всех счетчиков расширяющего модуля с периодом однократного вызова модуля RmtAct. Настройка значения счетчика одного входа Значение счетчиков модуля DMM-DI24 можно посредством протокола MODBUS также настроить на требуемое значение (наприм. обнулить). Для записи значения в один счетчик используем для определения удаленной точки модуль RmtDef с указанными ниже параметрами. RmtDef DIcx1,"6,10", 0, NONE, │ │ │ └ Функция 5, 17, NONE.0, Prn_DIcx1, Poz_DIcx1 │ │ └ Канал сопряженный с модулем MODBS_R │ └ Адрес модуля └ Период ввода запросов для записи равен 0 6 – запись значения одного счетчика Всегда при изменении значения переменной DIcx1, ее значение записывается в счетчик, связанный со входом DI10. Внимание У счетчиков необходимо позаботиться о их переполнении! Диапазон счетчика равен 0 .. 32767. Следовательно счетчик считает следующим образом: 0, 1, 2, ..., 32766, 32767, 0, 1, 2, ... Это значит, что будет необходимо считывать и количество переполнений „p“ счетчика, а итоговая сумма импульсов потом будет равна: сумма = p × 32768 + счетчик. Настройка значения счетчиков всех входов Для одновременной записи значений во все счетчики, используем для определения удаленной точки модуль RmtDef с указанными ниже параметрами. RmtDef DIcx[0,0],“16,0-23", 0, NONE, 5, 17, NONE.0, Prn_DIcx, Poz_Dicx │ │ │ └ Канал сопряженный с модулем MODBS_R │ │ └ Адрес модуля │ └ Период ввода zaprosov для записи равен 0 └ Функция 16 – запись всех 24 счетчиков Переменная DIcx[] является матрицей типа MI размером [1,24]. При изменении любого значения в этой матрице произойдет инициализация записи значений во все счетчики модуля. Этот пример является составной частью проекта, находящегося в файле приложения Содержание файла: ap0017_cz_01.zip под названием citacovevstupy_p5_cz_01.dso. Этот проект создан для контроллера StartKit. Однако его можно адаптировать для любого иного контроллера, имеющего серийный коммуникационный интерфейс, при помощи меню DetStudiо Tools/Change Station... . ap0017_ru_01 26/28 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 7. Техническая поддержка Любую информацию, касающуюся счетных входов, Вам предоставит отдел технической поддержки фирмы AMiT. Отдел технической поддержки лучше всего контактировать посредством электронной почты на адрес support@amit.cz. Вопрос желательно задавать на русском или английском языке. 27/28 ap0017_ru_01 СЧЕТНЫЕ ВХОДЫ, ИЗМЕРЕНИЕ ОБОРОТОВ/ИМПУЛЬСОВ 8. Предупреждение "AMiT, spol. s r.o." предоставляет информацию в этом документе в таком виде, в каком она есть, не берет на себя никаких гарантий касающихся содержания этого документа и оставляет за собой право изменять содержание документа без обязательства сообщить об этих изменениях какому-либо лицу или организации. Этот документ может копироваться и распространяться при нижеследующих условиях: 1. Весь текст должен копироваться без изменений и включать все страницы. 2. Все копии должны содержать обозначение авторского права компании "AMiT, spol. s r.o." и все дальнейшие предупреждения указанные в документе. 3. Этот документ запрещено распространять с целью получения прибыли. Примененные в публикации названия продуктов, фирм и т.п., могут быть торговыми марками или зарегистрированными торговыми марками соответствующих владельцев. ap0017_ru_01 28/28