Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Короткі теоретичні відомості. Лічильники дозволяють використовувати CPU в обчислювальних завданнях



Лічильники дозволяють використовувати CPU в обчислювальних завданнях. Лічильники можуть вести рахунок за зростанням (прямий рахунок) і по убуванню (зворотний рахунок). Область рахунку охоплює три розряди (від 000 до 999). Лічильники розташовуються в системній пам'яті CPU; кількість лічильників визначається версією CPU.

Лічильник можливо запрограмувати повністю у вигляді блочного елементу або з використанням окремих програмних елементів. Для лічильника мжливо задати певне початкове значення або скинути його, вести прямий і зворотний рахунок. Лічильник сканується шляхом зчитування його стану (нульове або ненульове значення рахунку) або поточного значення лічильника (значення рахунку, count value), яке можливо отримати або в двійковому коді, або у двійковій-десятковому коді.

З лічильниками можливо проводити наступні операції:

– установка лічильника, завдання значення лічильника;

– прямий рахунок;

– зворотний рахунок;

– скидання лічильника;

– зчитування стану (двійкового) лічильника;

– зчитування (числового) значення лічильника в двійковій формі;

– зчитування (числового) значення лічильника в двійково-десятковій формі.

Блоковий елемент лічильника містить всі операції рахунку в формі функціональних входів і функціональних виходів (рис. 4.1). Над блоковим елементом розташований абсолютний або символічний адресу лічильника. У блоковому елементі в якості заголовка вказується тип лічильника (S_CUD означає «up-down counter», «лічильник прямого і зворотного рахунку»). Призначення для першого входу (на прикладі CU) обов'язково; для інших входів і виходів призначення можна не робити. Опис виводів лічильника представлено в таблиці 4.1.

а) б)
Рисунок 4.1 – Графічне представлення лічильника: а) мова програмування LAD; б) мова програмування FBD

 

Таблиця 4.1 – Опис виводів лічильника

Позначення Тип даних Опис
CU BOOL Вхід прямого рахунку
CD BOOL Вхід зворотного рахунку
S BOOL Вхід установки
PV WORD Вхід передустановки
R BOOL Вхід скидання
CV WORD Поточне значення в двійковому коді
CV_BCD WORD Поточне значення в двійковому-десятковому коді
Q BOOL Стан лічильника

Існує три виконання блокових елементів лічильників:

– лічильник прямого і зворотного рахунку (up-down counter, S_CUD),

– лічильник тільки прямого рахунку (up counter, S_CU)

– лічильник зворотного рахунку (down counter, S_CD).

Ці блокові елементи лічильника відрізняються тільки типом і кількістю входів лічильника. S_CUD має входи для обох напрямів обчислення, а S_CU оснащений тільки входом прямого рахунку, і S_CD має тільки вхід зворотного рахунку.

Лічильник встановлюється, коли RLO змінюється з «0» на «1» на вході установки S або перед котушкою установки або блоковим елементом установки. Для установки лічильника завжди потрібно позитивний фронт. «Установка лічильника» («Set counter») означає, що лічильник встановлюється в початкове значення. Область значення – від 0 до 999.

Коли лічильник встановлюється, він приймає в якості значення рахунку значення на вході PV або значення під котушкою установки. Ви можете визначити Значення лічильника можливо визначити як константою, операндом довжиною в слово або змінної типу WORD.

Лічильник виконує прямий рахунок ("інкрементується"), якщо інструкція CU обробляється при позитивному (зростаючому) фронті сигналу RLO (RLO змінює свій стан з "0" на "1"). Кожен позитивний фронт сигналу, що передує операції CU, збільшує значення лічильника ("count value") на одиницю, поки не буде досягнутий верхня межа, рівна 999. Після цього позитивний фронт сигналу RLO перед входом CU ніяк не впливатиме на стан лічильника.

Лічильник виконує зворотний рахунок ("декрементується"), якщо інструкція CD обробляється при позитивному (зростаючому) фронті сигналу RLO (RLO змінює свій стан з "0" на "1"). Кожен позитивний фронт сигналу, що передує операції CD, зменшує значення лічильника ("count value") на одиницю, поки не буде досягнута нижня межа, рівна 0. Після цього позитивний фронт сигналу RLO перед входом CD ніяк не впливатиме на стан лічильника. Значення лічильника негативними бути не можуть.

Швидкість рахунку лічильників залежить від часу сканування програми. Для забезпечення процесу рахунку CPU повинен виявляти на вході лічильника зміни вхідного сигналу, інакше кажучи, вхідний імпульс (або міжімпульсна пауза) на вході повинна бути присутньою принаймні один цикл сканування програми. Чим триваліший цикл сканування програми, тим повільніше швидкість рахунку лічильника.

Хід роботи

1. Ознайомитися з основними типами лічильників в програмному пакеті WinPLC7.

2. Згідно з варіантом завдання (таблиця 4.2) створити програму, яка через t1 після пуску видаватиме n імпульсів тривалістю t2 і паузою t3. По завершенню циклу повернутися на початкову позицію. Осцилограма імпульсів наведена на рис. 4.2.

Рисунок 4.2 – Осцилограма імпульсів

 

Нехай t1 = 3 с, n = 5, t2 = 1 с, t3 = 2 с.

При програмуванні контролера за допомогою пакету WinPlC7 задаються наступні параметри: кнопка «Пуск» – I0.0; кнопка «Стоп» – I0.1; допоміжні реле, що не виводяться на вихідний порт – M0.0 - M0.3; вихідний сигнал – Q0.0; таймери – T0 - T2; зворотній лічильник – C0.

При натисненні кнопки «Пуск» вмикається перший таймер T0, розрахований на відлік однієї секунди. Через одну секунду вмикається другий таймер T1 (час – дві секунди) і подається живлення на M0.1 та Q0.0. Маємо затримку часу в три секунди, після якої вмикається таймер T2 (час – одна секунда). Саме він відповідає за тривалість імпульсу і вмикає M0.2. Через одну секунду T2 вимикається і тоді T1 і T2 перезавантажуються, так як вимикається M0.2. Після цього майже миттєво знову вмикається T1 і алгоритм повторюється.

М0.1, вмикаючись, подає сигнал на лічильник С0. Фактично, С0 веде відлік кількості вмикання Т2. Відлік встановлено на п’ять сигналів, після чого лічильник вимикає М0.3, що призводить до розмикання ланцюга живлення програми і вона припиняється. Також її можна зупинити в будь – який інший момент часу, натиснувши кнопку «Стоп». При цьому також розмикається ланцюг живлення і перезавантажуються всі таймери. Програма готова до наступного запуску.

3. Навести часові діаграми роботи розробленої програми.

4. Провести покроковий контроль розробленої програми.

Таблиця 4.2 – Варіанти завдань

№ п/п , c , c , c n № п/п , c , c , c n

Зміст звіту

1. Титульна сторінка.

2. Тема й мета роботи.

3. Опис проведеної роботи.

4. Структурна схема розробленої програми.

5. Висновки щодо роботи.

 

Контрольні питання

1. Охарактеризуйте основні типи лічильників та операції які вони дозволяють виконувати.

2. Поясніть роботу лічильника прямого і зворотного рахунку.

3. Поясніть роботу лічильника прямого рахунку.

4. Поясніть роботу лічильника зворотного рахунку.

5. Охарактеризуйте різницю між лічильниками прямого та зворотного рахунку.

6. Поясніть необхідність використання допоміжних реле, що не виводяться на вихідний порт.

7. Від чого залежить швидкість рахунку лічильника?

Література:[8, с. 193–205; 9, с. 36–42; 10, с. 38–42].

Рисунок 4.3 – Програма реалізації системи створення імпульсів

Лабораторна робота №5

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.