Прямое чтение ячейки памяти в программном блоке

Данные значения можно изменять по своему усмотрению в конфигурации конкретного HSC (в настройках дискретных входов). Для чтения значения счётчика достаточно произвести прямое чтение соответствующей ячейки памяти в любом программном блоке. Тем не менее частота опроса программных блоков ограничена длительностью рабочего цикла ПЛК. Поэтому для чтения значения счётчика в программный блок аппаратных прерываний, исполняемый при запуске аппаратного прерывания, связанного со счётчиком (при сбросе счётчика или при смене направления счёта), обычно помещают функциональный блок CTRLHSC. Кроме того, поскольку при отключении питания или после перезапуска ПЛ К инкрементный энкодер не сохраняет текущую позицию (в отличие от абсолютного), то логичным будет использовать энергонезависимую память ПЛК для хранения текущего значения высокоскоростного счётчика. Примеры работы со счётчиками HSC можно найти на сайте технической поддержки Siemens Industry Online Support.

Рассмотрим пример подключения и конфигурирования инкрементного эн-кодера, имеющего три выходных канала (фаза А, фаза В и фаза Z): 1. Для управления работой высокоскоростного счётчика, а также чтения его выходного значения можно использовать не только определённые в конфигурации счётчика события, но и, например, периодически активирующуюся подпрограмму обработки аппаратного прерывания (Cyclic Interrupt). В любом случае необходима подпрограмма, которая будет производить обработку прерывания для определённых в конфигурации счётчиков событий (ссылка на эту программу указывается в пункте Hardware Interrupt).

2. Прежде чем описывать подпрограмму обработки прерываний, создадим глобальный блок данных и назовём его, например, DB HSC retain. Зададим внутри этого блока переменную HSC I с типом данных Dint. Значение счётчика будем заносить в эту переменную, так как переменная энергонезависимая (установлен пункт Retain), значение будет сохраняться и после отключения питания.

В качестве примера создадим подпрограмму обработки прерывания (Cyclic Interrupt) со временем вызова 10 мс на языке LAD (рис. 12). Имя программного блока в среде TIA Portal можно задать по своему усмотрению в разрешённом диапазоне (например, ОВЗО). Такая программа будет выполняться циклически с указанным временем цикла независимо от выполнения основной программы и рабочего цикла ПЛК. Добавим в разделе объявления символьных переменных памяти ПЛК (PLC Tags > Show all tags) переменную для чтения текущего значения высокоскоростного счётчика, по умолчанию адрес данной переменной в области входов равен 1000. Таким образом, значение счётчика будет заноситься в энергонезависимую переменную HSC1 глобального блока данных каждые 10 мс.

19.01.2014

Добавить страницу в мои закладки:

Смотрите также:

Что вы чаще всего делаете в Интернете?

Загрузка ... Загрузка ...