загрузка...
загрузка...
На головну

Мова програмування LAD

  1. Алгоритм методу гілок і меж для вирішення одновимірних задач цілочисельного програмування
  2. БЕЙСІК ЯК МОВУ операціонально-ПРОБЛЕМНО-орієнтованого ПРОГРАММИРОВАНИЯ
  3. Взаємно-двоїсті задачі лінійного програмування.
  4. Вибір порядку проведення перевірок методом динамічного програмування.
  5. Глава 4. Теорія двоїстості в завданнях лінійного програмування
  6. ГЛАВА II. МОДЕЛІ лінійного програмування 1 сторінка
  7. ГЛАВА II. МОДЕЛІ лінійного програмування 2 сторінка

Базовою мовою програмування логічного контролера LOGO! є графічний проблемно-орієнтована мова LAD (мова релейного логіки) або мову циклічних сходових діаграм (Ladder Diagram). Програмування на LAD-мові називається LD-програмуванням.

LD-програмування - формалізації процес розробки закону логічного управління об'єктом, заснований на глибокому розумінні технічного завдання, аналізі можливих варіантів і виборі оптимального рішення відповідно до заданого критерію, а також знанні всіх функціональних можливостей LAD-мови.

Керуюча LAD-програма є циклічною. Вона складається з рядків-сходинок, з'єднаних зліва з вертикальною шиною напруги Uп. Максимальне число рядків не повинно перевищувати 120-130.

Циклічна САУ (ЦСАУ) з вбудованим контролером LOGO! - Апаратно-програмний комплекс, в якому інформаційна підсистема з LOGO !, реалізує LAD-програму в циклічному режимі, керує виконавчою підсистемою відповідно до технологічної циклограми, яка може багаторазово відпрацьовуватися системою.

Предметною областю LD-програмування є різноманітні електротехнічні об'єкти (системи, електродвигуни різних класів, електромагнітні пристрої, підсилювачі потужності, релейні датчики і сигнальні елементи і ін.).

Керуюча LAD-програма формується у вигляді послідовності рядків, сконфигурированних відповідно до суворим LD-синтаксисом з програмних графічних елементів, що мають віртуальні шини харчування. Ці програмні LD-елементи в середовищі ПО LSC функціонально об'єднані в наступні групи:

· Комутуючі і комутовані (постійні) елементи, а також з'єднувачі (група Co-елементів);

· Логічні елементи і збірки (група LF-функцій або логічних функцій);

· Спеціальні функціональні елементи (група SF-функцій або спеціальних проблемно-орієнтованих функцій).

Всі перераховані групи представлені в форматі меню і знаходяться в Головному (Робочому) вікні LOGO! Soft Comfort V6 (або V7). При цьому групи LF і SF можна розглядати як підпрограми загальної керуючої LAD-програми (рис. 6).

Програмні графічні LD-елементи

Логічне управління станом Co- елементів представлено у вигляді табл.1 (додаток 2).

Група постійних елементів (Co-елементів) складається з програмних «контактів» і «котушок», які можуть асоціюватися з операторами

«Якщо-тоді», використовуваними в алгоритмічних мовах класичного програмування (табл.1). Замикає контакт (або нормально розімкнутий в початковому стані) разом з котушкою можуть бути ототожнені з наступною умовою-дією: «якщо контакт буде замкнутий (тобто з вихідного розімкненого стану перейде в замкнутий), то відбудеться деяке дію» (наприклад, включена електричне навантаження ).

конфігурація програми засноване на системі угод, які можна трактувати як своєрідний синтаксис LAD-мови:

· Кожен рядок складається з одного або декількох незалежних і / або залежних програмних контактів, розташованих правіше шини Uп і котушки, або спеціального функціонального блоку (SF-блоку), які розташовуються в кінці рядка;

· Контакти в рядку можуть бути з'єднані між собою як послідовно, так і паралельно (тобто за схемами «І» та «АБО»); котушки з'єднуються тільки паралельно;

· Блоки пам'яті (М-елементи або прапори-маркери) також розташовуються в кінці рядка;

· Число незалежних контактів в LAD-програмі має бути не більше загального числа датчиків і сигнальних елементів ЦСАУ;

· Число котушок не повинно перевищувати числа пар апаратних контактів вихідних електромагнітних реле контролера (для LOGO! 24RC - чотири виходи по 10А кожен);

· Всі типи програмних контактів і котушок можуть мати по кілька «входів» (наприклад, до одного контакту можуть бути підключені паралельно кілька датчиків за схемою «АБО»);

· Максимальне число SF-блоків в LAD-програмі дорівнює числу всіх, доступних зі списку ресурсів ПО LSC;

· Між програмними іменами всіх контактів і котушок, з одного боку, і відповідними апаратними засобами ЦСАУ має дотримуватися однозначна відповідність;

· Кожен програмний цикл инициализируется зовнішнім сигналом, який формується пусковий електричної кнопкою або датчиком;

· Послідовний опитування програмних елементів здійснюється тактовою частотою CPU природним чином; по кожному рядку - зліва направо, по рядках зверху вниз;

· Передача управління від попереднього програмного елемента до подальшого відбувається тільки при завершенні опитуваним елементом відповідної функції;

· По завершенні повного циклу CPU передає управління 1-му рядку LAD - Програми для повторення циклу за умови повторної ініціалізіціі.

Програмні контакти активізуються (або деактивізує) електричними сигналами з виходів датчиків і сигнальних елементів ЦСАУ, змінюючи їх внутрішнє біт-стан на протилежне.

Табл.1 (додаток 2) ілюструє управління внутрішнім станом програмних Со-елементів при підключеному + Uп і, як наслідок, значенням бітів їх виходів.

Нормально розімкнений контакт будемо називати просто нормальним, його инверсной формою є нормально замкнутий контакт. В 4-му стовпці табл.1 дано позначення активізують сигналів Uвх, Які надходять на відповідні входи або котушки LOGO, а також значення їх бітів. Тип програмного контакту вибирає програміст в залежності від поставленого завдання.

За замовчуванням всі програмні елементи підключені до віртуальної шині напруги живлення + Uп. Тоді програмний Со-елемент знаходиться в пасивному стані, якщо значення активізує сигналу Uвх= 0, в активному стані - якщо значення Uвх= 1 (5-й стовпець табл.1). Навпаки, програмний Со-елемент інверсного типу знаходиться в пасивному стані, коли значення Uвх= 1, і в активному - якщо Uвх= 0.

Таким чином, коефіцієнт Kвн, Який характеризує внутрішній стан активного Со-елемента, дорівнює 1, а для пасивного елемента Квн= 0. Для инверсной форми З-елемента необхідно змінити загальну вертикальну шину живлення Uп на локальну так, як показано в 6-м стовпці табл.1.

потенціал Uвих п.к або біт на виході програмного контакту може бути визначений за формулою:

Uвих п.к = GвхКвн ,

де Gвх - Біт-сигнал з виходу релейного датчика або сигнального елемента, тобто сигнал на вході відповідного незалежного контакту (6-й стовпець табл.1). У режимі емуляції LAD-програми активні елементи виділяються червоним кольором, а пасивні - чорним.

Програмні керовані контакти називаються незалежними в тому сенсі, що їх біт-стан не залежить від стану котушок реле, з якими вони пов'язані.

Програмні котушки можуть мати свої власні контакти, які називаються залежними, так як вони породжуються котушками при їх активізації незалежними контактами. Це властивість запозичене від традиційного електромагнітного реле, яке має вихідні контакти, переключають великі струми. Такі контакти можна використовувати як в силових, так і в інформаційних кіл (наприклад, у відомій схемі реле з самоблокуванням силових контактів).

Особливістю блоків групи SF є те, що вони мають формальними властивостями котушок, тобто SF-блоки породжують свої контакти, які керують біт-станами інших програмних елементів.

5. Техніка конфігурації LAD-програми

Для створення LAD-програми за технічним завданням замовника необхідно у вікні LOGO! Soft Comfort відкрити файл, привласнити йому відповідне ім'я як самостійного файлу і зберегти на жорсткому диску PC.

Техніку конфігурації керуючих програм розглянемо на трьох прикладах.

ПРИКЛАД 1

Програма самоблокировки вихідного реле контролера LOGO! (Наприклад, має котушку Q1) при імпульсному включенні реле датчиком.

Конфігурація цієї LAD-програми складається з наступних етапів:

Етап 1. Вибрати, виділивши мишкою в списку Со-елементів «Панелі інструментів програмування», нормально розімкнутий контакт. Перемістити цей контакт на робоче поле, відступивши від вертикальної шини Uп на 2-3 позиції. На поле «спливає» вікно «Доступні блоки» зі списком імен всіх програмних елементів (рис. 7). LSC пропонує ім'я для обраного елемента, наприклад, I1. Програміст може погодитися з ім'ям I1 або привласнити даному елементу інше ім'я.

Етап 2. Аналогічно на тому самому рядку розмістити нормально замкнутий контакт I2, відступивши від контакту I1 вправо на 3-4 позиції.

Етап 3. Вибрати, виділивши в списку Со-елементів котушку нормального (неінверсного) типу, присвоївши їй ім'я Q1. Розмістити котушку Q1 в кінці першого рядка програми.

Ланцюжок з послідовно з'єднаних елементів I1, I2 і Q1 не володіє пам'яттю станом незалежного контакту I1 після його включення короткочасним імпульсом напруги тривалістю ?. Це означає, що після проходження заднього фронту активізує імпульсу внутрішній стан Kвн= 1 котушки Q1 повертається до початкового Довн= 0, в якому вона перебувала до проходження переднього фронту імпульсу. Для збереження стану Kвн= 1 котушки Q1 необхідно доповнити рядок I1, I2, Q1 залежним контактом Q1, з'єднавши його з I1 по логічної схема «АБО».

етап 4. Вибрати залежний нормально розімкнутий контакт Q1 і розташувати його на 2-му рядку поля під контактом I1.

етап 5. На «Панелі інструментів програмування» вибрати «З'єднувач». Виконати мишкою з'єднання програмних елементів між собою і шиною Uп як показано на рис.8, приклад 1.

Складання програми завершено.

 Робоче вікно ПЛК для прикладу 1

У разі необхідності програміст на будь-якому етапі конфігурації може звернутися до довідкової служби LSC або до контекстного меню. Для цього необхідно вказати курсором мишки на відповідний об'єкт у вертикальному списку програмних елементів і клацнути на значку  (Help - допомога), що з'явився праворуч від найменування запитуваної об'єкта.

редагування LAD-програми, а також внесення необхідних доповнень здійснюється стандартними прийомами Edit Windows.

Етап тестування, або емуляції LAD-програми. Для перемикання LSC в режим емуляції необхідно клацнути на значку  (Емуляція) панелі «Інструменти програмування». Під робочим полем LSC з'явиться рядок «Вхідні і вихідні об'єкти емуляції»(Тобто« датчики »зовнішніх сигналів і котушки, задіяні в програмі). Тип «датчика» пуску програми вибирається з вкладки «Емуляція» вікна «Доступні блоки». Забарвлення зображень програмних елементів, вертикальної шини + Uп і сполучних ліній зміниться: шина, активні програмні елементи (за початковими умовами), а також відповідні з'єднання стануть червоного кольору. Імітація пуску LAD-програми здійснюється клацанням або двома клацаннями (в залежності від типу «датчика») на програмному пусковому контакті I1. Розблокування схеми проводиться клацанням на I2.

Котушка Q5, підключена паралельно котушці реле Q1, ілюструє роботу навантаження інверсного типу.

ПРИКЛАД 2

Програма включення котушки Q4 LOGO! і її автоматичного відключення через заданий часовий інтервал ?t. Включення здійснюється, наприклад, в момент t = t1 імпульсом тривалістю T = t2 - t1 = 15мс, який формується безконтактним датчиком, інтервал ?t = 20с.

Для реалізації програми, крім незалежного нормально розімкнутого контакту, який активізує процес, необхідно використовувати SF-блок - таймер з затримкою відключення котушку реле Q. Таймер з затримкою відключення включається, тобто переводиться в стан 1, по задньому фронту вхідного Trg- Імпульсу (в момент t2) І скидається в указаний затримки ?t. Вихідний біт таймера в момент t2 приймає значення 1 і зберігає його до t3= t2 + ?t. Котушка реле включається синхронно з включенням таймера в момент t = t3.

Розглянемо конфігурацію цієї LAD-програми.

Етап 1. Вибрати мишкою в списку Со-елементів нормально розімкнутий контакт, перемістити його на робоче поле LSC-інтерфейсу програмування. Присвоїти цього контакту ім'я, наприклад, I3.

Етап 2. Вибрати зі списку SF-блоків таймер з затримкою вимикання, привласнити йому ім'я T050, розмістити його на тому ж рядку, відступивши вправо від I3 на 3-4 позиції. Клацнувши правою кнопкою мишки на цей блок, відкрити діалогове вікно «Властивості» і налаштувати таймер на заданий інтервал відключення ?t = 20с.

Етап 3. Вибрати зі списку З - елементів нормально розімкнутий контакт, привласнити йому ім'я таймера Т050 як залежному контакту. Розмістити його на 2-му рядку програми. Біт-стан цього контакту буде змінюватися відповідно до табл.2 (3-й стовпець).

Етап 4. Вибрати котушку Q4, розмістити її на 2-му рядку праворуч від контакту T050.

Етап 5. З'єднати програмні елементи I3, таймер T050, контакт T050 і Q4, як показано на рис.8, приклад 2.

Етап емуляції програми. Вибрати тип пускової кнопки, наприклад, «Перемикач» у вікні «Доступні блоки» (вкладка «Емуляція»). Запустити LAD-програму подвійним клацанням на контакті I3, імітуючи тим самим імпульс запуску ЦСАУ від електричного ємнісного датчика, підключеного до входу I3 LOGO! Спостерігати роботу системи: біт-стан котушки Q4 буде змінюватися синхронно зі зміною стану контакту T050 таймера (4-й стовпець табл.2).

Таблиця 2

 Стан Вхід-вихід  Активізують-щий сигнал  Вихідний біт Т050-контакту  Вихідний біт котушки Q
 Початковий стан (часовий інтервал ?t = t0 -t1)      
 Інтервал ?t = t1-t-2
 момент t+2  Переходіз 1 в 0
 Інтервал ?t = t3 - t+2
 момент t+3

ПРИКЛАД 3

Скласти LAD - програму завантаження в контейнер 7-ми деталей і автоматичного включення приводу переміщення контейнера через 2,0 с після завантаження в нього останньої деталі.

У цій програмі необхідно використовувати реверсивний лічильник, рахунковий вхід якого повинен бути підключений до фотоелектричному датчику, через програмний контакт LOGO!

Необхідна інформація про роботу та налаштування лічильника міститься в розділі «Реверсивний лічильник» довідкової служби LSC.

Конфігурація LAD - програми для прикладу 3.

Етап 1. На робочому полі LSC виставляємо незалежний контакт I4, який спрацьовує при впливі на нього сигналу від фотоелектричного датчика.

Етап 2. Вибрати зі списку SF-блоків реверсивний лічильник, наприклад C051, розташувати його праворуч від контакту I4, відступивши від I4 3-4 позиції. Відкрити діалогове вікно «Властивості», налаштувати лічильник C051 відповідно до завдання:

· На вході Cnt встановити 7 (заданий число деталей);

· Як параметр Dir встановити 1 (рахунок вперед);

· Вхід Par ??не використовувати (за замовчуванням рахунок деталей починається з 0);

· Вхід R підключити до програмного контакту скидання лічильника в початковий стан.

Етап 3. Виставити незалежні контакти I5 і I6 відповідно для скидання лічильника і введення параметра Dir (в разі необхідності) на 2-й і 3-й рядках програми.

Етап 4. Вибрати залежний контакт C051, розмістити його на 4-му рядку.

Етап 5. Вибрати, розмістивши на 4-му рядку, T052 - таймер з затримкою включення. Налаштувати його на 2,0 с.

Етап 6. На 5-му рядку програми розмістити T052 - нормальний контакт таймера T052, а праворуч від цього контакту - котушку реле Q6. Котушка Q7 підключена паралельно котушці реле Q6 для імітації роботи навантаження інверсного типу. Вимкнення приводу контейнера може бути виконано оператором ЦСАУ на його розсуд через вплив на контакт I5.

Етап 7. Виконати з'єднання всіх елементів, як показано на рис.8, приклад 3.

Етап емуляції. Вибрати тип пускової кнопки. Переконатися в правильності функціонування елементів і LAD-програми в цілому.

 Програми для прикладів 1, 2, 3.

6. Інтеграція контролера LOGO! в управління пневмоприводом.

 




Єфремова К. Д., Яковлєв А. В. | Єфремова Клара Дмитрівна | Приклад 2. | Приклад 3. | Приклад 4. | Приклад 5. | Приклад 6. | Приклад 8. | Приклад 10. | ПОРЯДОК ВИКОНАННЯ ЛАБОРАТОРНИХ РОБІТ |

загрузка...
© um.co.ua - учбові матеріали та реферати