Мікропроцесори та мікроконтролери

 
 
 
Л. Якокка : «Компьютер выдает только то, что в него ввели. Секрет успеха - не информация, но люди»
Русский | Українська

На правах реклами:



Rambler's Top100 Рейтинг@Mail.ru
Мікропроцесори та мікроконтролери :: Енергозберігаючі системи :: 3.1 Засоби програмування сучасних мікроконтролерів

3.1 Засоби програмування сучасних мікроконтролерів

Сучасні програмовані логічні контролери (ПЛК) програмуються відповідно до стандарту МЕК 61131, в якому описані стандартизовані мови програмування, що представляють інтерес для практичного використання. У даному розділі наводиться їх детальний аналіз.
IL (Instruction List - список команд)-текстова мова низького рівня, синтаксично схожий на асемблер. Програма мовою IL має приблизно такий вигляд:

CAL Fp (MODE: = Sinus, BASE: = TRUE,
PERIOD: = t # 2s, AMPLITUDE: = 100)
LD Fp.Out
ST Out_Gen_1.

На його основі можна створювати швидкодіючі програмні одиниці, тому він застосовується при створенні компактних компонентів, ретельного опрацювання.

ST (Structured Text - структурований текст) - текстовий мова високого рівня, синтаксично - адаптований мову Паскаль. Програма мовою ST має наступний вигляд:

Fp (MODE: = Triangle, BASE: = TRUE,
PERIOD: = t # 2s, AMPLITUDE: = 100);
Out_Gen_1: = INT_TO_REAL (Fp.OUT);
Filter1.In: = Out_Gen_1 - Filter1.Out;
Filter1 (Tm: = 100, RESET: = FALSE);
Variable1: = SQRT (Filter1.Out).

На його основі можна створювати гнучкі процедури обробки даних. Мова ST є основним для програмування кроків мови SFC.

3. LD (Ladder Diagram - релейні діаграми) - графічна мова, що є стандартизованим варіантом класу мов релейно-контактних схем. Логічні вирази цією мовою описуються у вигляді реле, які широко застосовувалися в області автоматизації в 60-х роках. Стандартом МЕК 61131-3 передбачено використання не тільки базових елементів програмування (\ "контакт \" і \ "котушка \"), але і будь-яких інших функціональних блоків. 4. FBD (Functional Block Diagram - діаграми функціональних блоків) - графічна мова, за своєю суттю схожий на LD, але замість реле використовує функціональні блоки. FBD-схеми дуже чітко відображають взаємозв'язок входів і виходів діаграми, використовуючи технологію інкапсуляції алгоритмів обробки даних. Все програмування зводиться до \ "склеюванню \" готових компонентів.

5. SFC (Sequential Function Chart - послідовні функціональні схеми) - графічна мова, що дозволяє описати алгоритм у вигляді набору пов'язаних пар \ "крок-перехід \". Крок представляє собою набір операцій над змінними, а перехід - набір виразів, що визначає передачу правління наступного кроку. SFC має можливість розпаралелювання алгоритму, але не має коштів для опису кроків і переходів, які можуть бути виражені лише засобами інших мов стандарту. Основною перевагою SFC є висока виразність графічного представлення алгоритму.
Для створення програм на мовах стандарту МЕК 61131-3 використовуються інструментальні пакети. Зазвичай вони включають редактори (для кожної мови) і деякі додаткові функціональні розширення. Асортимент таких пакетів досить широкий (CoDeSys, Concept, IsaGRAF, OpenPCS, Multiprog, Virgo2000, KONGRAF), але ми розглянемо тільки два з них - CoDeSys (компанії 3S Software) і Concept (Schneider Electrics).
Пакет CoDeSys є одним з найбільш відомих універсальних інструментів МЕК-програмування для ПЛК і промислових комп'ютерів. Його використовують більше ста відомих компаній-виробників апаратних засобів індустрії автоматизації. Крім п'яти стандартних мов, в CoDeSys включений редактор CFC-діаграм, заснований на мові FBD, але більш зручний і наочний за рахунок вільного розміщення блоків. CoDeSys може генерувати машинний код для більшості поширених процесорів (Motorola, Intel (в т.ч. 80х86 і Pentium), Siemens, Hitachi
та ін.) Всі компоненти CoDeSys докладно документовані і мають вбудовану систему допомоги.
До основних особливостей пакету можна віднести наступні.
1. Швидке впровадження - адаптація для будь-якої стандартної процесорної платформи займає не більше двох днів.
2. Ефективні засоби введення - функції автоматичного оголошення та форматування, асистент введення і інші максимально спрощують роботу. Команди мають можливість керування мишею і введення з клавіатури.
3. Висока продуктивність - вбудований компілятор безпосередньо генерує швидкий машинний код (на відміну від звичайних трансляторів), що забезпечує максимальну продуктивність прикладних проектів при збереженні високої швидкості компіляції.
4. Низькі системні вимоги програми - CoDeSys сумісний з будь-якою операційною системою сімейства Microsoft ® Windows ®.
5. Компактність проекту - на відміну від більшості конкуруючих пакетів весь проект знаходиться в одному файлі, що зручно при його перенесення.
6. Розширена реалізація всіх п'яти МЕК-мов. Редактори для всіх мов програмування зосереджені в одному додатку, що дуже зручно. Вибір мови написання модуля здійснюється при його створенні і після цього не може бути змінений надалі. CoDeSys включає багатий набір засобів налагодження та супроводження (явне оголошення змінних, автоматичне формування списку параметрів підпрограм, моніторинг / запис / фіксація значень змінних, покрокове виконання, он-лайн корекція коду, трасування і емуляція).
Крім середовища програмування, до складу комплексу CoDeSys входять: SP RTE (емуляція ПЛК на ПК), Soft Motion (набір засобів управління рухом - до багатовимірної інтерполяції сучасних систем ЧПУ), ARTI (забезпечує символьний доступ до змінних в ПЛК) і ENI Server (дозволяє працювати з одним проектом кільком користувачам). Також CoDeSys володіє досить широкими графічними можливостями, які за функціональністю не поступаються найпростішим.
Даний пакет є фірмовим, тобто він призначений для програмування контролерів тільки одного виробника - компанії Schneider Electric. Крім стандартних, Concept підтримує мову LL984 (Ladder Logic - сходова логіка). Він використовується для програмування ПЛК старої версії (Modsoft).
За допомогою засобів конфігурації Concept дуже просто вибирати, розміщувати і переміщати об'єкти (блоки, кроки чи переходи) в графічній формі. Функції імпорту / експорту дозволяють перетворювати програми на мовах ST і IL в програми на FBD, SFC, IL або ST і навпаки.
Великим плюсом пакета є наявність великого вибору бібліотек блоків, що істотно спрощує процес програмування і розширює можливості пакета. При цьому існує можливість доповнити бібліотеки своїми власними блоками, які виконують необхідні функції, за допомогою утиліти Concept DFB (Функціональні блоки користувача). Також ця утиліта призначена для програмування кроків мови SFC.
Засобами Concept можливо документування проекту, що передбачає роздруківку всіх даних проекту або їх частина за вибором програміста. При цьому користувачеві немає необхідності турбуватися про оформлення документації - вона буде виконана у відповідності з нормами.
Ще однією перевагою пакета Concept є така функціональна можливість,
як забезпечення безпеки роботи з додатком. Існує сім рівнів доступу до
використання програмних засобів Concept, що забезпечують різні права різним користувачам. Є можливість резервування до 128 користувачів і їх паролів. Вбудований симулятор дозволяє проводити налагодження програм, не використовуючи ПЛК. Недоліком пакету можна вважати неможливість одночасного запуску декількох додатків з комплексу, що, безсумнівно,
є утрудняють обставиною, особливо при розробці складних діаграм SFC.
Обидва розглянутих пакета володіють широкими можливостями і є лідерами
на ринку програмного забезпечення для ПЛК. Головною перевагою пакета CoDeSys є його безкоштовне поширення, що дозволяє використовувати його для навчання МЕК-програмуванню. У той же час він є і зручним засобом реального програмування, яке можна здійснювати після покупки ліцензії у компанії-виробника.
Пакет Concept, навпаки, є спочатку ліцензійним, що робить його непридатним для навчання. Але він підтримує найпопулярніші моделі контролера одного з лідерів «залізного» ринку - компанії Schneider Electric.

 





<< Попередня стаття
«2.4 Регулювання освітлення»







При використанні будь-яких матеріалів з сайту зворотнє посилання на сайт Мікропроцесори та мікроконтролери обов'язкова.