L_3_5_Fun
Створення функціональних блоків в середовищі CoDeSys
Мета роботи: Навчитися створювати власні функціональні блоки в середовищі CoDeSys
Теоретичні відомості
Функціональний блок являє собою підпрограму, об'єднану з власною структурою даних.
Як і при оголошенні структури, створення нового функціонального блоку створює тільки новий тип. Для практичного використання необхідно оголосити екземпляр відповідного функціонального блоку.
Функціональний блок може мати довільне число вхідних і вихідних змінних, доступних ззовні (інтерфейс компонента).
Внутрішні змінні недоступні іншим компонентам (до отладчику це не відноситься). Оголошення додаткового примірника функціонального блоку призводить до виділення пам'яті в області даних. Виконуваний код для різних екземплярів один і той же.
В чому різниця функціонального блока від програми? Програма в CoDeSys аналогічна функціональному блоку, але не має примірників. Програма - це глобальний об'єкт. Традиційно програми застосовуються в CoDeSys для дуже великих програмних модулів в багатозадачних проектах.
В чому різниця функціонального блока від функції? На відміну від функції функціональний блок не формує повертається значення.
Практичне використання
Оголошення функціонального блоку починається з ключового слова FUNCTION_BLOCK і закінчується ключовим словом END_FUNCTION_BLOCK.
Примірники функціонального блоку можуть бути оголошені в іншому функціональному блоці або в програмі. Оголошувати екземпляр функціонального блоку в тілі функції не можна. Примірники функціонального блоку доступні в тому POU, в якому вони оголошені, якщо вони не оголошені глобальними.
Примірники функціональних блоків можуть бути використані в якості вхідних змінних інших функціональних блоків або функцій.
Зауваження: Після виконання функціонального блоку все його змінні зберігаються до наступного виконання. Отже, функціональний блок, що викликається з одними і тими ж вхідними параметрами, може виробляти різні вихідні значення.
Завдання на роботу:
- Вибрати ПЛК ОВЕН що має від 12 дискретних входів
- В програмному середовищі CoDeSys згідно свого варіанту створити функціональний блок що порівнює сигнали від 4 дискретних входів. Якщо 1 з сигналів відрізняється від решти на виході має бути значення з 3-х входів. Якщо кількість сигналів рівна потрібно забезпечити сигналізацію «Аварія»
- Згідно свого варіанту створити програму що використовує усі 12 входів для формування 3-х виходів (сигналізація в системі водопостачання)
- Здійснити візуалізацію розробленого проекту
Варіанти завдань:
Варіант | Мова функціонального блоку | Мова програми (POU) |
---|---|---|
1 | LD | CFC |
2 | LD | FBD |
3 | LD | LD |
4 | CFC | CFC |
5 | CFC | FBD |
6 | CFC | LD |
7 | FBD | CFC |
8 | FBD | FBD |
9 | FBD | LD |
0 | LD | LD |
Зміст звіту:
Програма на мові CoDeSys згідно власного варіанту.Текстовий файл з описом ПЛК
Шрифти
Розмір шрифта
Колір тексту
Колір тла