Счетчики

Функциональный блок «Счетчик» используется для подсчета импульсов, при этом применяют прямой и обратный счет. В пакете «TwidoSoft» существует два вида счетчиков:

· обычного типа;

· быстрого счета.

Общая функциональная схема счетчиков двух типов показана на Рис.19.

Рис.19. Функциональная схема счетчика а) обычного типа, б) быстрого счета.

На этой схеме

для счетчика обычного типа:

%Ci - номер счетчика (от 0 до 127);

R - входной сигнал обнуления;

S - уставка (при S=1: %Ci.V=%Ci.Р);

CU - входной сигнал увеличения счета (каждый импульс увеличивает счет);

CD - входной сигнал уменьшения счета(каждый импульс уменьшает счет);

D - выходной сигнал при достижении заданной уставки (D =1: при

%Ci.V=%Ci.Р);

F - выходной сигнал при обнулении счетчика(E=1: при

%Ci.V=0);

E - выходной сигнал при переполнении счетчика (E=1: при

%Ci.V<0 или %Ci.V>9999);

%Ci.V - текущее числовое состояние счетчика;

%Ci.P. - конечное числовое состояние счетчика (установленное);

ADJ - возможность настройки счетчика (Y/N).

для счетчика быстрого счета:

IN - входной сигнал увеличения или уменьшения счета (в зависимости от

режима счета);

R - входной сигнал обнуления;

D - выходной сигнал при достижении заданной уставки (D =1: при

%Ci.V=%Ci.Р);

Для исследования характеристик счетчика обычного типа составим программу, структура которой показана в блоке «0» (Рис.20). Счетчики, как и другие функциональные блоки требуют своего размещения с элементами сопряжения в отдельном программном блоке. Для размещения контура счетчика обычного типа в рабочем окне нулевого блока (RUNG 0) воспользуемся клавишей «%С» в позиции «ÝF11.» окна «Ladder Editor». После этого все входы и выходы

Рис.20. Программа исследования характеристик счетчиков.

счетчика подключим к элементам, указанным на схеме Рис.20. Описав по известной схеме все символы этой схемы (в том числе и самого счетчика), приступаем к его конфигурации. Для этой цели установим курсор на контуре этого счетчика и двойным щелчком «мыши» раскроем окно «Counters» (Счетчики) Рис.21. Затем в строковом окошке «Counters %С» поставим цифру «10», что соответствует номеру выбранному для этого счетчика. В строке «Symbol» автоматически запишется то имя счетчика, которое мы выберем для него в разделе описания символов. В окошке «Preset» надо записать число 4, что соответствует заданию для счетчика конечного числа входных импульсов. После этого в окне набора параметров счетчика нужно нажать клавишу «ОК».

После набора и запуска этой программы исследуем характеристики счетчика обычного типа. Согласно схемы подключения счетчика обычного типа нажатием кнопки «К1» мы увеличиваем содержание счетчика, а копкой «К2» это содержание уменьшается. Поэтому, нажимая четыре раза на кнопку «К1» мы увидим, что лампа «L3», подключенная к выходу «D» счетчика, зажжется (заданное число входных импульсов – (4) достигнуто). Пятое нажатие на эту кнопку погасит лампу «L3». Если после этого снова нажать один раз на кнопку «К2», то лампа «L3» опять загорит. Все последующие нажатия на эту кнопку снова гасят эту лампу. Но на пятом нажатии на кнопку «К2» загорается лампа «L2», подключенная к выходу «Е» счетчика. Это сигнал о переполнении счетчика в отрицательной области (тоже самое произойдет если нажимать на кнопку «К1» 9999 раз). Если после этого нажать на кнопку «К1» то загорается лампа «L4», подключенная к выходу «F» счетчика. Это сигнал о обнулении счетчика после его переполнения. Если после этого снова нажать на «К2» то лампа «L2» снова загорит (счетчик переполняется снова). После четвертого нажатия на кнопку «К1» опять загорается лампа «L3». Кнопка «К4» обнуляет счетчик при любом его состоянии.

Рис.21. Структура окна присвоения параметров для счетчика обычного типа.

Счетчики быстрого счета используются для подсчета количества входных высокочастотных импульсов с частотой до 5 кГц. В пакете «TwidoSoft» существует три таких счетчика: %FC0, %FC1, %FC2, которые используют выделенные для них входы, соответственно %I0.2, %I0.3 и %I0.4. При составлении программы эта зарезервированность должна быть учтена.

Счетчик быстрого счета разместим в рабочем окне первого блока (RUNG 1)

программы, представленной на Рис. 20. Для этого в окне «Ladder Editor» устанавливаем курсор на позицию «ÝF12 – вызов функционального блока». После щелчка «мыши» по позиции «ÝF12» в раскрывшемся окне «Extented Ladder Palette» выбираем позицию «(%FC Fast Counter (Быстрый счетчик)». Переносим курсор на рабочее поле окна первого блока программы и устанавливаем этот счетчик в нужном месте схемы согласно Рис. 20. Зарезервированный для этого счетчика входной сигнал (%I0.2) напрямую соединяем со входом «IN» этого счетчика (кнопка «К3» при этом не показывается, хотя подразумевается).

После привязки остальных компонентов схемы к этому счетчику, приступаем к вводу его необходимых параметров. Для этой цели установим курсор на контуре этого счетчика и двойным щелчком «мыши» раскроем окно «Fast Counter» (Быстрый счетчик) Рис. 22.

Рис.22. Структура окна присвоения параметров для счетчика быстрого счета.

В его строковом окошке «Fast Counter» поставим цифру «0», что соответствует номеру, выбранному для этого счетчика. В строке «Symbol» автоматически запишется то имя счетчика (допустим FC0), которое мы выберем для него в разделе описания символов. В очерченной области «Fast Counter Type»

» этого окна курсором отмечаем позицию «Up Counter» (возрастающий счет), а в другой очерченной области «Dedicated Input» автоматически запишется «%I0.2 Pulse Input», что означает резервирование входа по третьему каналу для импульсных сигналов. В окошке «Preset» надо записать число 4, что соответствует заданию для счетчика четырех входных импульсов. После этого в окне набора параметров счетчика нужно нажать клавишу «ОК».

После запуска дополненной быстрым счетчиком программы исследуем его работу. Для этого очень быстро нажмем четыре раза на кнопку «К3», в результате чего загорится лампа «L5», подключенная к выходу «D» этого счетчика. При продолжении подачи входных импульсов кнопкой «К3» лампа «L5» продолжает гореть. Кнопка «К6» обнуляет этот счетчик при любом его состоянии.

5.4. Битовые контроллеры (командо-аппараты);

Битовый контроллер работает по принципу механического, кулачкового командо-аппарата, в котором на каждом шаге цикла его работы кулачек замыкает (или размыкает) контакт управления каким либо приводом. В битовом

контроллере на каждом шаге рабочего цикла задаются состояния выходных битов «%Qi.j» или состояние трех внутренних битов «%М0», «%М1», «%М2».

Общая функциональная схема таймера в пакете «TwidoSoft» показана на Рис.23.

Рис.23. Функциональная схема битового контроллера в пакете «TwidoSoft»

На этой схеме:

%DR - символ для обозначения битового контроллера на схеме;

i - номер битового контроллера (от 0 до 7);

R - возврат к нулевому шагу;

U - переход на следующий шаг;

F - регистрация (индикация) последнего шага;

%DR.S - номер текущего шага.

Битовый контроллер состоит из матрицы управления (состояние кулачков), организованных из 8 шагов и 16 битов данных (состояние шагов), организованных в столбцы с номерами от 0 до F.

Принцип работы битового контроллера рассмотрим на примере задачи, структура которой представлена на Рис.24. По этой программе можно в определенной последовательности зажигать и гасить все лампы стенда, а так же последовательно выводить на стрелочный вольтметр определенные уровни напряжения..

Поместим в блоке (RUNG 0) битовый контроллер для этого, устанавливаем курсор на позиции «ÝF12– вызов функционального блока» извлечом уже известным способом с позиции «%DRi-Drum» битовый контроллер и поместим его на поле блока (RUNG 0). Подсоединим, согласно схемы Рис.24., необходимые контакты к входам этого контроллера.

В блоке (RUNG 1) в соответствии с логической комбинацией трех внутренних битов этого контроллера расположим пять вариантов вывода уровня аналогового сигнала через соответствующий модуль.

После этого приступим к пошаговому программирования работы контроллера. Для этого установим курсор в блоке (RUNG 0) на контуре битового контроллера и двойным щелчком «мыши» раскроем окно «Drum Controllers», в строковом окошке «Drum % DR» которого оставим цифру «0». Это выбранный номер контроллера. Поскольку мы первоначально не определились с символом этого контроллера (пакет «TwidoSoft» это допускает), то строка «Symbol» будет пустой. Дальше в окошке «Number of Steps» нужно поставить (или оставить) цифру 8. Этим мы резервируем 8 шагов управления для контроллера.

Рис.24. Программа исследования характеристик битового контроллера.

Управляющая матрица состоит из 8-ми шаговых строк (от Step 0 до Step 7) и

битовых столбцов (от 0 до 15). Столбцы от 0 до 7 будут предназначены для управления лампами, которые в стенде подключены к соответствующим выходам микроконтроллера «Twido». Необходимо курсором и левой клавишей «мыши» поставить крыжики (Хуижики) (в соответствии с Рио.25) в ячейках этой матрицы.

При конфигурировании программы для битового контроллера необхрдимо заполнить окна «Outputs - вывода». Эти окна помечены номерами соответствующих битов (от Bit 0 до Bit 15). Биты от 0 до 7 предназначены для подключения катушек, поэтому в этих окнах помещаем соответственно (%Q0.0 …%Q0.7). Три внутренних битовых объекта «%М0», «%М1», «%М2» размещаем

соответственно в 13, 14 и 15 битах. Крыжики (Хуижики) в этих битах пошагово ставом в соответствии с двоичной нумерацией.

Рис.25. Структура окна пошагового программирования битового контроллера

Набейте, перенесите в оперативную память контроллера «Twido» и запустите программу представленную на Рис.24. После запуска этой программы при каждрм нажатии на кнопку «» лампы «L1- L8» должны мигать в соответствии

с программой. Попытайтесь изменить программу мигания ламп. Одновременно на каждом шаге программы наблюдаются скачки напряжения на стрелочном вольтметре.

5.5. Регистры сдвига

В пакете «TwidoSoft» существует два вида регистров сдвига:

· регистры сдвига битов;

· регистры сдвига строк слов.

5.5.1. Регистры сдвига битов. (блок %SBRi)

Функциональный блок регистра сдвига битов (блок %SBRi) обеспечивает сдвиг влево или вправо двоичных битов. Функциональная схема такого блока показана на Рис. 26.

Рис.26. Функциональная схема битового регистра сдвига в пакете «TwidoSoft»

На этой схеме:

%SBRi - символ для обозначения битового регистра сдвига на схеме;

%SBRi.j - биты регистра сдвига;

i - номер битового регистра сдвига (от 0 до 7);

J - номер бита в слове регистра сдвига (от 0 до 15);

R - входной сигнал обнуления всех битов;

CU - входной сигнал сдвига влево;

CD - входной сигнал сдвига вправо.

Принцип работы битового регистра сдвига рассмотрим на примере задачи, структура которой представлена на Рис.27.

Рис.27. Программа исследования характеристик битового регистра сдвига.

В этой программе битовый регистр с номером «0» располагается в отдельном программном блоке (RUNG 0), в то время как в другом блоке помещены как контакты его шесть битовых разрядов, начиная с бита номер два

(%SBR0.2). Сдвиг влево выполняется кнопкой «К1» (%I0.0), а сдвиг вправо выполняется уже кнопкой «К2» (%I0.1). Нажатием кнопки «К3» (%I0.2) перед сдвигом в нулевой бит (%SBR0.0) записывается единичный символ. Каждый разряд регистра сдвига (начиная со второго) выводится соответственно на лампы (L2, L3, L4, L5, L6, L7,).

Набейте, перенесите в оперативную память контроллера «Twido» и запустите программу представленную на Рис.27. После запуска этой программы при каждом нажатии на кнопку «К1» лампы «L2-L7» будут загораться в зависимости от того, что кнопкой «К3» будет внесено в нулевой бит. При обратном сдвиге регистра кнопкой «К2» лампы должны загораться в обратном порядке.

5.5.2. Регистры сдвига строк слов. (блок памяти %Ri)

Функциональный блок регистра сдвига строк слов (блок памяти типа %Ri) предназначен для хранения до 16-и битовых слов. Регистры сдвига строк слов бывают двух типов:

· Типа - стековый регистр. (Называется LIFO)

· Типа «FIFO» - регистр очереди.

Функциональная схема строкового регистра сдвига показана на Рис. 28.

Рис.28. Функциональная схема строкового регистра сдвига в пакете «TwidoSoft»

На этой схеме:

%Ri - символ для обозначения строкового регистра сдвига на схеме;

i - номер строкового регистра сдвига (от 0 до 3);

%Ri.I - входное слово строкового регистра сдвига;

%Ri.O - выходное слово строкового регистра сдвига;

I - входной сигнал для записи числа (слова) в регистр;

O - входной сигнал для считывания числа (слова) из регистра;

R - входной сигнал обнуления всех битов;

E - выход пуст;

F - выход полон.

5.5.2.1. Строковый регистр сдвига типа «LIFO».

Строковый регистр сдвига типа «LIFO» (Last In, First Out) работает по принципу (последним записан – первым прочитан). Совокупность регистровой памяти такого типа называется «стеком». При получении запроса на сохранение содержимое входного слова «%Ri.I» сохраняется в вершине стека. Когда стек полон, то «F=1» и дальнейшее сохранение невозможно. При получении запроса на извлечение верхнее слово данных стека загружается в выходное слово «%Ri.O». Когда регистр пуст то «Е=1» и дальнейшее извлечение не возможно. При этом выходное слово «%Ri.O» не меняется.

5.5.2.2. Строковый регистр сдвига типа «FIFO».

Строковый регистр сдвига типа «FIFO» First In, Firs Out t) работает по принципу (первым записан – первым прочитан). Совокупность регистровой памяти такого типа называется «очередью». При получении запроса на сохранение содержимое входного слова «%Ri.I» сохраняется в вершине очереди. Когда очередь полона, то «F=1» и дальнейшее сохранение невозможно. При получении запроса на извлечение нижнее слово данных очереди загружается в выходное слово «%Ri.O». Когда регистр пуст то «Е=1» и дальнейшее извлечение не возможно. При этом выходное слово «%Ri.O» не меняется.

5.5.2.2. Пример задачи со строковыми регистрами.

Принцип работы строковых регистров сдвига обеих типов рассмотрим на примере задачи, структура которой представлена на Рис.29. для того, чтобы выполнить эту задачу нужно активизировать и инициировать модуль аналогового ввода вывода этого стенда.

Регистр типа «LIFO» по этой задаче подключен входом «R» к кнопке «К3», а кнопки «К1» и «К2» соответственно подключены к входам «I» и «O». Для регистра типа «FIFO» вход «R» подключен к кнопке «К4», а входы «I» и «O» соответственно подключены к кнопкам «К6» и «К7». Кнопкой «К5» каждый из этих регистров подключается к выходному вольтметру.

Арифметическое выражение «%R0.I:= %IW0.1.0» пересылает величину цифрового сигнала, который формируется на входе модуля аналогового ввода в регистровое слово «%R0.I» предназначенное для регистра которое затем пересылается в регистр типа «LIFO», у которого кнопкой «К1» активизирован вход «I». Аналогично выражение «%R1.I:= %IW0.1.1» пересылает величину цифрового сигнала модуля аналогового ввода в регистровое слово «%R1.I» регистр типа «FIFO», у которого кнопкой «К6» активизирован вход «I».

Если кнопка «К5» находится в положении «выключено», то при последовательном нажатии на копку «К2» на выходном вольтметре стенда будет появляться уровень потенциала входного сигнала, но в последовательности

обратной записи этих уровней, которую обеспечивает регистр типа «LIFO». Если же кнопка «К5» находится в положении «включено», то при последовательном нажатии на копку «К7» на выходном вольтметре стенда будет появляться уровень потенциала входного сигнала согласно последовательности записи этого сигнала. Эту последовательность считывания обеспечивает регистр типа «FIFO».

Используя эту программу можно обеспечить режим пуска любого электропривода. Примером тому является программа представленная на Рис. 30.

Для организации ступенчатого пуска электропривода в ней используются два таймера, один из которых «%ТМ1» при нажатии кнопки «К1» через определенной промежуток времени (1с, 3с, 5с, 7с, 9с, 11с) запускает второй таймер «%ТМ0», который в свою очередь импульсно включает строковый регистр сдвига типа «FIFO», у которого кнопкой «К2» активизирован вход «I», а кнопка «К4» подключена в входу «R».

Рис.29. Программа исследования характеристик строкового регистра сдвига.

До начала ступенчатого пуска (нажатия кнопки «К1») нужно последовательно с потенциометра «П1» занести в регистр «FIFO» ступени пускового напряжения.

Рис 30. Программа ступенчатого пуска электропривода с записью параметров

ступеней в строковом регистре.

Кроме стековой и очередной организации памяти в пакете «TwidoSoft» существует еще табличная форма организации памяти.

5.6. Табличная форма организации памяти.

В пакете «TwidoSoft» существует две формы табличных объектов памяти:

· Таблица битов;

· Таблица слов.

Таблица битов представляется в следующей форме: %Mi:L.

Где: L - количество элементов в таблице.

i - адрес начала таблицы.

Таблица слов представляется в форме: %MWi:L..(параметры «L и i» имеют то же значение). Схема организации табличной памяти в пакете «TwidoSoft» показана на Рис. 31.

Рис.31. Схема организации табличной памяти в пакете «TwidoSoft».

Структурно табличная форма памяти состоит из последовательности ячеек с адресом первой ячейки этой таблицы и указанием числа последующих ячеек. При этой форме записи числовой информации (числовых сигналов) возможно обращение к любой ячейке (элементу) этой таблицы.

Для доступа к элементам этих таблиц предусмотрена следующая форма адресации. %Mx[%MWy] - для битовых таблиц

%MWx[%MWy] - для таблиц из слов.

По этой форме адресации адрес обращения к конкретному элементу таблицы находится в выражении «[%MWy]», которое является элементом строковой памяти с номером «у» и должно содержать конкретное целое число, начиная с нуля (например, 3 для нашей схемы). Это число указывает на сколько отстоит адресуемая табличная ячейка от первой ячейки этой таблицы.

Использование таблиц памяти в программах пакета «TwidoSoft» рассмотрим на следующем примере. Составим программу пуска электродвигателя в результате ступенчатой подачи напряжение на его вход. Пять уровней напряжения пуска заносим в ручном режиме в таблицу памяти, начиная с адреса «%MW10».Схема такой программы представлена на Рис.32. В блоке «RUNG 0» этой программы помещен счетчик «%C0» с максимальным числом счета импульсов равным пяти. Обнуление счетчика происходит от кнопки «К4», а счетные импульсы подаются от кнопки «К1». При очередном нажатии на кнопку «К1» арифметическим выражением «%MW20:=%C0.V+1» (RUNG 1) содержание счетчика «%C0.V» переносится в строковую ячейку памяти «%MW20» с добавлением единицы. После чего содержание этой ячейки становится адресом обращения к элементу табличной памяти. Другим арифметическим выражением «%MW10[%MW20]:=%IW0.1.0]» с потенциометра «П1» через аналоговый модуль

по этому адресу записывается уровень напряжения, который является одной из ступеней пускового напряжения привода. Таким образом, в блоках (RUNG 0 и RUNG 1) этой программы в табличную память заносят уровни пускового напряжения. Периодически выставляя этот уровень по потенциометру «П1» и нажимая на кнопку «К1» мы заносим его в очередную ячейку табличной памяти.

Рис. 32. Программа ступенчатого пуска электропривода с записью параметров

ступеней в ячейках табличной памяти.

на вход привода). Для этой цели в блоке «RUNG 2» помещен таймер, предназначенный для выдержки времени передачи информации из табличных ячеек на выходной вольтметр. Этот таймер типа «ТР», запрограммированный на пять секунд, запускается с кнопки «К2». В блоке «RUNG 3» выражением «%MW20:=%ТМ0.V» содержание этого таймера «%ТМ0.V» переносится в строковую ячейку памяти «%MW20». После чего содержание этой ячейки становится адресом обращения к элементу табличной памяти. Другим арифметическим выражением «%QW0.1.0:= %MW10[%MW20]» из табличной ячейки памяти по этому адресу (т.е. каждую секунду) извлекается цифровой сигнал и передается через аналоговый модуль к выходному потенциометру.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: