Проілюструємо створення системи автоматизації шляхом проектування «від шаблонів», тобто будемо створювати інформаційну базу проекту - канали по аргументах розроблювальних шаблонів екранів і програм, доповнюючи основний підхід методами автопобудови й зв'язування каналів у вузлах проекту.
Відкриємо інтегроване середовище й створимо новий проект. Як стиль розробки виберемо Стандартний.
Перейдемо у шар Бібліотеки_компонентів, де в розділі Користувальницькавідкриємо бібліотеку Бібліотека_1. Збережений у даній бібліотеці об'єкт Об'єкт_1містить у своєму шарі Ресурсинеобхідний для подальшої розробки набір графічних об'єктів - зображення клапанів, ємностей, двигунів і т.д. (рис. 2.3)
Перенесемо групи в шар Ресурсипоточного проекту за допомогою механізму drag-and-dropі перейменуємо їх як показано нижче. Тут же, в шарі Ресурси,створимо групу Картинки для приміщення в неї текстур, які будуть застосовані в оформленні створюваних графічних екранів. Створимо в групі Картинки новий компонент – Бібліотека_ Зображень#1(рис. 2.4).
Відкриємо подвійним натисканням ЛК створену бібліотеку для редагування. Для її наповнення скористаємося іконкою з підказкою «Імпортувати» на панелі інструментів. У діалозі вибору файлів для імпорту, що відкрився, вкажемо піддиректорію …\Lib\Texture. Виберемо всі файли й натиснемо екранну кнопку Відкрити.
Подібно до описаного вище способу створимо в шарі Ресурсигрупу Анімація, у ній – бібліотеку Бібліотека_Відеокліпів#1. Наповнимо її вмістом …\Lib\Animation... Після проведення підготовчих заходів збережемо виконану роботу, натиснувши ЛКі вказавши ім'я (використовувати латинський шрифт). Перейшовши в шар Шаблони екранів, створимо в ньому Екран#1. На створеному екрані будуть відображатися технологічні параметри ділянки термічної обробки, з нього ж будемо здійснювати формування завдання на підтримку робочої температури. Перейменуємо його в Ділянку_термообробки. Створимо також екран для завдання параметрів ПДД-регулятора. Відповідно до ТЗ на проектування призначимо аргументи екрану ділянки термообробки – натисканням ПКна знову створеному шаблоні екрана й вибором зі списку, що випадає, пунктуВластивості, там – вкладка Аргументи. Тут і далі за допомогою іконки з підказкою Створити аргумент створюються необхідні аргументи, задаються їхні імена, тип, тип даних, значення за замовчуванням, прив'язки, прапори й т.д. Ті аргументи, значення яких будуть відображатися на екрані, мають тип IN, а ті, що задаються із клавіатури АРМ, відображаються на екрані й пересилаються в остаточному підсумку в PC-based контролер, мають тип OUT. Прапор NPдля аргументу Date_Timeозначає те, що при автопобудові каналів за аргументами шаблона, цей аргумент не буде брати участь у процесі автопобудови.
Закриємо бланк властивостей екрана.
Для переходу до безпосереднього створення й редагування вмісту екрана ділянки термообробки, двічі натиснемо на ньому ЛКмиші. Задамо як тло екрана текстуру ice_0161. Для цього виберемо в основному меню пункт Сервіс, у ньому – Параметри екрана. У діалоговому вікні, що відкрилося, укажемо як тип тла зображення, а з наявних у бібліотеці текстур – наприклад ice_0161. Після натискання екранної кнопки Готовотло графічного екрана буде змінено на зазначене (рис. 2.5).
За допомогою графічних об'єктів (ГО), збережених у ресурсних бібліотеках і які викликаються за допомогою іконки Об'єктпанелі інструментів, а також графічних елементів (ГЕ) об'ємних труб і тексту створимо статичну частину екрана. Зразок вигляду екрана представлений нижче.
Графічні об'єкти розміщаються з використанням методу drag-and-dropі допускають масштабування. Для зміни розміру ГО необхідно виділити його ЛКі за допомогою позиціювання вказівника миші у вузлові точки виконати необхідні корегувальні дії (рис. 2.6).
Значення витрати теплоносія й робочої температури будемо відображати за допомогою ГЕ Стрілочний прилад . Розмістивши їх на екрані, подвійним натисканням ЛК відкриємо властивості лівого ГЕ й задамо йому властивості. Аналогічно вчинимо із правим ГЕ, здійснивши основну прив'язку до аргументу Температура_робоча(рис. 2.7).
У нижній частині екрана розмістимо ГЕ Тренд – для виводу параметрів Температура_ робоча, Витрата_ теплоносія й Завдання_температури. Основні властивості ГЕ залишимо заданими за замовчуванням, додавши заголовок "Ділянка термообробки". Додамо для відображення на тренді три криві, зв'язавши їх з відповідними аргументами екрана, і задамо для них кольори й товщину ліній, інтервали виведених значень. Для формування завдання регулятору розмістимо праворуч від ГЕ ТрендГЕ Прямокутник , він буде слугувати підкладкою для ГЕ Повзунок, за допомогою якого будемо задавати значення завдання й відображати його ж. Точну величину завдання будемо відображати у верхній частині прямокутника за допомогою ГЕ Текст .
Відмовимося від використання рамки й заливання для даного ГЕ. Властивості ГЕ Текст, в даному випадку представлено нарис. 2.8.
Властивості ГЕ Повзункапризначаються як показано на рис. 2.9:
Також відмовимося від рамки й заливання. У верхній частині графічного екрана розмістимо ГЕ Текст, для відображення поточного часу. Властивості – кольори, шрифт, прив'язка й формат виводу представлено на рис. 2.10.
Також на екрані розмістимо напис – Ділянка термообробки. Оскільки для АРМ буде розроблено ще два екрани (створимо в Шаблоні екранівдодатково екрани: Ділянка_Зберігання, Ділянка_ дозування), то для здійснення переходів між екранами необхідно передбачити відповідні засоби. У якості їх будемо використовувати ГЕ Кнопка . Подвійним натисканням ЛКна ГЕ Кнопка– Зберігання відкриємо його властивості. У розділі Події виділимо ЛКпункт pressed(подія по натисканню ЛКна ГЕ) і по натисканню ПКдодамо перехід на екран. У пункті, що відкрився, Jump toScreen, по натисканню ЛК зі списку виберемо шаблон екрана Ділянка_зберігання (рис. 2.11).
Аналогічно вчинимо для організації переходу на екран ділянки дозування. Параметри ПДД-регулятора – Кп, Кд, Кдд і Зону нечутливості будемо формувати за допомогою спливаючого вікна. Відкриття даного вікна оформимо також за допомогою ГЕ Кнопка, який розмістимо в лівій частині екрана, прив'язку виконаємо як у вище описаних випадках. Аргументи екрана Параметри_ПДД-регулятора задамо наступним чином:
Відкриємо екран на редагування. Для завдання екрану властивостей випадаючого вікна виберемо в основному меню пунктСервіс –Параметриекрана. У діалоговому вікні, що відкрилося, задамо розміри екрана, фон, визначимо екран як спливаюче вікно й укажемо початкову позицію при першому виклику (рис. 2.12)
На даному екрані розмістимо ГЕ Рамка , перемістимо його вниз за допомогою відповідної позиції контекстного меню, яке викликається натисканням ПКна ГЕ, потім у верхній частині екрана за допомогою ГЕ Текстзадамо заголовок екрана – Параметри ПДД-регулятора. Далі розмістимо ГЕ Кнопкадля посилки значень параметрів і лівіше від неї ГЕ Текст, для їхнього відображення. Скориставшись інструментарієм для розмноження форм відображення Меню Сервіс – Тиражуваннястворимо кнопки уведення й вікна відображення для інших аргументів екрана (рис. 2.13).
Відредагуємо створені ГЕ, привівши їхні прив'язки у відповідність із аргументами екрана. Наприклад, для ГЕ, що здійснюють уведення й відображення коефіцієнта пропорційного посилення (Кп) отримаємо:
Збережемо виконану роботу. Таким чином, графічна частина проекту для АРМ виконана й настала черга розробки математичного забезпечення проекту - шаблонів програм.
Написання програм
Продовжуючи розробку проекту прийнятим способом, створимо шаблон програми, що реалізує керуючу функцію підтримки температури. У лівому вікні навігатора проекту ЛКвиберемо шар Шаблони програм, по натисканню ПКстворимо компонент Програма#1.
Виділивши створений компонент ЛК, змінимо його ім'я на Керування#1 (рис. 2.14), оскільки дана програма буде створена для завантаження в PC-based контролер, з метою підтримки заданої температури в апараті на ділянці термообробки.
Подвійним натисканням ЛКна компоненті Керування#1 відкриємо вікно редактора шаблонів програм і, виділивши ЛКпункт Аргументи, перейдемо в табличний редактор аргументів. Створимо аргументи для даного шаблона програми виходячи із ТЗ на розробку ПДД-регулятора з керуванням виконавчим механізмом методом широтно-імпульсної модуляції (ШІМ). Після визначення вхідних/вихідних аргументів приступимо безпосередньо до розробки програми. Для цього виділимо ЛКім'я створеного шаблона й у діалозі вибору мови програмування, що з'явився, оберемо Техно FBD (Function Block Diagram) (рис. 2.15).
У вікні створення програм, що відкрилося, виберемоЛК іконку з підказкою «Показати/сховати палітру FBD блоків» для доступу до бібліотеки функціональних блоків, призначаємо їх у робоче поле редактора, групуємо, визначаємо внутрішні зв'язки між входами й виходами блоків, призначаємо прив'язки до аргументів. Готова програма виглядає, так як показано на рисунку. Перед налагодженням розроблений шаблон програми необхідно скомпілювати. Для цього використовуємо функціональну клавішу F7. Результат компіляції показується у вікні Вивід , яке може бути відкрито з основного меню інтегрованого середовища розробки (меню Вид– пункт Вивід).
У нашому випадку вікно містить повідомлення про вдале закінчення процесу компіляції:
Для перевірки працездатності створеного проекту вдамося до імітації технологічного об'єкта на ділянці термообробки. У шарі шаблонів програм створимо програму Імітатор_Термообробки й задамо їй аргументи:
Вхідні аргументи Плюсі Мінус– сигнали від ПДД – регулятора із ШІМ, а вихідні аргументи відповідно витрата теплоносія й температура в апарату. Побудуємо математичну модель апарата, ґрунтуючись на припущенні, що його функціонування описується класичною ланкою – інерційною ланкою першого порядку із запізнюванням. Виходячи з постановки завдання, для створюваної моделі вхідним впливом буде слугувати витрата теплоносія, вихідним – температура в апарату. Параметри об'єкта призначимо наступними: коефіцієнт передачі (посилення) 2.5, постійна часу 20 (у тактах перерахування), запізнювання 3 (у тактах перерахування), а також накладемо на його вихід гармонійні й випадкові завади. У якості мови програмування оберемо Техно FBD. Функціональні блоки TRACTзастосовані для згладжування й обмеження формованих вихідних параметрів, а функціональні блоки X*Y5 і 6 – для приведення значень до вихідного діапазону 12-ти розрядного АЦП. Відкомпілюємо створену програму.