ЖУРНАЛ СТА 1/2015
2. Прежде чем описывать подпрограмму обработки прерываний, создадим гло- бальный блок данных и назовём его, например, DB HSC retain . Зададим внутри этого блока переменную HSC_1 с типом данных DInt (рис. 11). Значе- ние счётчика будем заносить в эту пе- ременную, так как переменная энерго- независимая (установлен пункт Re- tain), значение будет сохраняться и после отключения питания. 3. В качестве примера создадим подпро- грамму обработки прерывания ( Cyclic Interrupt ) со временем вызова 10 мс на языке LAD (рис. 12). Имя программ- ного блока в среде TIA Portal можно задать по своему усмотрению в разре- шённом диапазоне (например, OB30 ). Такая программа будет выполняться циклически с указанным временем цикла независимо от выполнения ос- новной программы и рабочего цикла ПЛК. Добавим в разделе объявления символьных переменных памятиПЛК ( PLC Tags > Show all tags ) переменную для чтения текущего значения высо- коскоростного счётчика (рис. 13), по умолчанию адрес данной переменной в области входов равен 1000 (табл. 5). Таким образом, значение счётчика бу- дет заноситься в энергонезависимую переменную HSC_1 глобального бло- ка данных каждые 10 мс. 4. Создадим программный (рис. 14) блок типа Startup (с именем OB100 на языке FBD), который будет выполняться каждый раз при старте ПЛК. В данном блоке будем производить копирование последнего сохранённого (после от- ключения питания или сброса ПЛК) в энергонезависимой памяти значения счётчика в специально созданную пе- ременную NEW_CV (типа DInt в обла- сти свободно адресуемой памяти – M ). В дальнейшем будем её использовать для конфигурирования высокоско- ростного счётчика при помощи входа NEW_CV блока CTRL_HSC. При этом счётчик будет вести счёт уже не с нуля, а начиная с последнего сохранённого значения. Для того чтобы активировать новое значение счётчика, создадим до- полнительно переменную CV типа Bool (рис. 13) и будем производить установ- ку этой переменной при активации программного блока. 5. Наконец, создадимосновнуюпрограм- му ( OB1 ), которая будет работать в цик- ле ПЛК и задавать параметры блока управления высокоскоростным счёт- чиком (рис. 15). Также необходимо осу- ществить сброс переменной CV после 82 СТА 1/2015 АППА РАТ НЫЕ С Р Е ДС Т В А / ДАТ ЧИКИ www.cta.ru Тип счётчика Подсчёт импульсов или частоты Источник сигнала сброса (внешний или программный) Начальное направление счёта Период измерения частоты Начальное значение счётчика Начальное значение уставки Флаг использования внешнего входа сброса (референтной метки) Активный уровень сигнала для сброса Счётчик подключён к встроенным дискретным сходам или через сигнальную плату Флаг вызова прерывания при совпадении значения счётчика с уставкой Флаг вызова прерывания по внешнему сигналу сброса (референтной метке) Имя события Флаг вызова прерывания при смене направления счёта Имя события Имя программного блока (ОВ) для обработки прерывания Имя события Имя программного блока (ОВ) для обработки прерывания Имя программного блока (ОВ) для обработки прерывания Рис. 9. Параметры конфигурации счётчика HSC_1 Рис. 11. Энергонезависимая переменная HSC_1 Рис. 12. Подпрограмма обработки прерывания с циклическим вызовом Рис. 13. Список переменных проекта Рис. 10. Конфигурирование событий, вызывающих прерывания HSC
Made with FlippingBook
RkJQdWJsaXNoZXIy MTQ4NjUy