Об’єктно орієнтоване програмне забезпечення

Д/З: економічні новини по темі «Фінансова діяльність підприємств у сфері ЗЕД», цікаві повідомлення, опрацювати статтю Луценка І. Оцінка фіскальної ефективності податкової політики в сфері зовнішньоекономічної діяльності. Світ фінансів – 2012 - № 2

Чи будуть до мене питання по даному питанню і по лекції загалом???

Як в програмному забезпеченні для перетворення даних, так і в прикладному програмному забезпеченні, в широкому розумінні (промисловому, господарському), використовують об’єктну структуру. Здійснюється це шляхом поділу даного процесу на структурні блоки, які називають об'єктами і які містять всі дані та необхідні функції для роботи блоку. Одиничні об'єкти взаємодіють між собою шляхом обміну інформацією. Кожен об'єкт є автономний і орієнтований на певну сферу своїх завдань. Нарис. 20.7представлено приклад системи, яка керує процесом кондиціювання певного приміщення. Центр управління може відчитувати дані в приміщенні, яке треба кондиціонувати, але не може їх змінювати. Центр управління також хоч і може висилати значення завдань до регуляторів, але не може впливати безпосередньо на вибір регулювальної функції. Регулятор працює на підставі своєї внутрішньої логіки. Під час програмування дані і функції встановлюються за допомогою класів (типів) об'єктів. Наприклад, це може бути регулятор класу PID.

З цього класу можна виділити правило регулювання типу РІ, яке може працювати цілком самостійно. Ця обставина створює власне об'єкт - структурний блок. З одного класу можливе утворення дуже багатьох об'єктів. Цей принцип застосований у всій системі Windows. В оточенні програми можуть бути частково графічні процедури, які полягають у зверненні до бібліотеки і вміщенні у вікнах одиничних об'єктів. Пов’язують функціональні об’єкти у текстовому вигляді за допомогою відповідного редактора, наприклад, пакети DELPHI, C-BUILDER, VISUAL C, VISUAL BASIC. У так званих повних процедурах, об'єкти пов’язують графічно. Здійснюється це графічним формуванням об'єднань між окремими блоками. Це має місце в таких пакетах програмного забезпечення, як: LabView чи DasyLab.

Пакет програмного забезпечення C-BUILDER

Після створення вікна, відбувається розміщення окремих графічних об'єктів і пристосування їх властивостей до особливостей передбачених для них завдань. Можливим є звертання до існуючих об'єктів через відповідні смуги меню. До кожного об'єкту приписаний так званий інспектор об'єкту, який полегшує програмістові визначення його особливостей, а також приписування йому відповідних випадків. На рис. 20.8 показано скидання екрану середовища компілятора.

Приклади програми зчитування вимірювальних даних:

Нехай потрібно показувати на графіку зміну тиску в процесі руху поршня рушія однобічної дії. Рис. 20.9представляє схему з’єднань установки. Сенсор тиску подає аналоговий сигнал напруги 0...10 V при зміні тиску в межах 1...10 бар. Значення напруги перетворюється на 12-бітовий цифровий сигнал (0 - 4096). За допомогою готових функцій, напрацьованих виробником, можна, за допомогою цього 12-бітового числа, прямо зі значення напруги перейти до значення тиску. У табл.20.1представлено приклад опитування цієї вимірюваної величини.

Програмування в середовищі C-BUILDER

Спочатку встановлюються особливості окремих об'єктів (рис.20.10), наприклад, для об'єкту „Таймер" встановлюється час циклу на 10 мс, для об'єкту „Іmage" (графіка діаграми) - вигляд фону і шкала. Кожен з об'єктів виробляє відповідний фрагмент первинного коду, який надалі програміст доповнює відповідними процедурами програми. Об'єкт викликається за допомогою наданого коду.

Програмування в середовищі LabView

Після введення в дію середовища відкриваються два вікна.

Будова шару споживача

У шарі споживача, який називають панеллю, розташовані об'єкти (рис. 20.11).Об'єкт 1 є двійковою (логічною) змінною. Після його залучення, на діаграмі появиться (первинний код) символ ТF. Разом з об'єктом 2, повинен встановитися номер каналу зчитування. Тому той об'єкт мусить бути числового типу. Початковим настроюванням був обраний тип цілих чисел. У первинному коді з'явиться голубий символ з етикеткою „U16", що означає 16-бітове ціле додатне число. Об'єкт 3 є об'єктом виходу – тут застосовано часову діаграму з можливістю зміни її особливостей, наприклад, кольору, масштабів. Максимальним значенням для осі У буде 5. Для осі X значення масштабу мусить бути узгодженим з часом циклу вимірювання. Для часового циклу 10 мс ділянка dx = 0,01. На рис.20.12 представлено вікно, яке служить для встановлення цих властивостей (параметрів).

Формування первинного коду

Кожен об'єкт шару споживача викликає появу символу на стороні з первинним кодом. Об'єкт 1 може приймати два стани. До символу цього об'єкту додається структура „True", в якій вписуються графічні символи всіх інших об'єктів. З бібліотеки функцій буде отримана функція опитування вимірюваного значення і обслуговування інтерфейсу. До цих функцій долучається номер пристрою, а потім і номер каналу. Тому, що обрана функція очікує ряду даних, числа повинні бути представлені рядом (послідовністю) даних. Далі записується максимальне значення - в даному випадку 10. Результат дій функції опитування значення є зараз зв'язаний з символом часової діаграми. Тому, що програма повинна працювати з визначеним часом циклу, потрібно отримати з бібліотеки функцій функцію часового циклу і встановити властиву сталу (10). Це означає, що кожні 10 мс розпочнеться черговий цикл програми.

Введення в дію програми

У головному меню програми LabViewрозташовані кнопки, які служать для обслуговування програмування. Після перемикання об'єкту 1 програма вводиться в дію і виконує наступні завдання:

1.запитання, чи Кнопка 1 - „True", якщо „False" - стрибок до 1,

2.якщо „True" - зчитати канал, перетворити числа в послідовність, зчитати номер пристрою, зчитати максимальне значення. Функція зчитує з периферійного пристрою аналогове значення, пересилає його до рисунка діаграми, де буде представлятися у вигляді лінії. Генератор імпульсів чекає 10 мс,

3.стрибок до 1.

Програма закінчиться в моменті клацання (натискання) на позначці „Стоп".

Передавання даних

Цифрові сигнальні порти працюють, як правило, від стандартної постійної напруги 24 В. На рис. 20.13представлено принцип адресації сигналів. Вільний адресний простір в комп'ютері використовується для обслуговування сигнальних входів і виходів. У наведеному прикладі вхідною адресою є 314Нех, вихідною – 318Нех. Адреси вхідних портів розміщені в інтерфейсі. Якщо карта інтерфейсу є типу Plug&Play, то адреси визначає операційна система.

Кожна мова програмування має функції, які дозволяють читати за визначеною адресою та записувати під визначеною адресою. Ці функції завжди використовують та перетворюють цілі значення 8 бітів за даною адресою – значення з діапазону від 0 до 255 і визначають їх як процесуальне відображеннявходу або виходу. Для дослідження стану окремих сигнальних входів потрібно застосовувати відповідну техніку, яку називають маскуванням. У випадку застосування цієї техніки процесуальне відображення пов’язується з прийнятим бінарним зразком (маскою) бажаного входу за допомогою функції кон’юнкції (І).

Приклад:

Треба визначити стан біта номер 1.

Номер біта = 76543210

Приклад відображення = 11, бінарний запис = 00001011

Маска для біта номер 1 (І) = 2, бінарний запис = 00000010

Актуальний стан біта = 1, значення 2.

В цілому, залежно від процесуального відображення, значення може бути 2 або 0.

Програмування в середовищі C-BUILDER.

На рис. 20.14 наведений приклад відображення процесу входу - з другого рядка програми (РАЕ) - інверсія тут необхідна з огляду на застосований спосіб формування вхідних сигналів. У третьому рядку значення висвічується в полі редагування процесового відображення входу (ЕditРАЕ). У рядках від 3 до 5 програми стан сигналів на входах Е0, Е1 і Е2 визначається шляхом маскування, а в рядках від 6 до 8 - виведений на моніторі (ЕditЕ0, ЕditЕ1, ЕditЕ2). Весь первинний текст програми знаходиться в об'єкті „Таймер", налаштованому на цикл 10 мс. Це означає, що значення будуть поповнюватися кожні 10 мс.

Приклад: Секвенційне керування

На практиці у промисловості часто використовуються мови програмування високого рівня. У наведеному прикладі предмети висовуються послідовно за допомогою пневматичного рушія з випадного (гравітаційного) штабеля. Про стан пристрою для висування вказують сигналізатори у відповідному комунікативному полі пульта управління (рис. 20.15).Всі сигнальні входи і виходи пристрою висування з’єднані провідниками з цифровим інтерфейсом (рис. 20.16).У схемі системи керування розміщено також аварійний вимикач. Всі контактні вимикачі входів систем, окрім кнопкового вимикача „стоп” – є розімкненими контактами.

Програмування в середовищі C-BUILDER здійснюється так само як робота програмованого контролера (PLC). Цикл програмованого керування реалізується тут об'єктом „Таймер", настроєним на час, наприклад, 10 мс. Це означає, що Windows буде отримувати кожні 10 мс сигнал переривання, який викликає введення в дію функції Таймер 1. Змінні S, а також ЕО ... Е7 були задекларовані як глобальні змінні, бо як змінні локальні вони наново мали би бути ініціалізовані при кожному виклику функції, і через це могли би виникати неправильні результати роботи. Програма складається з трьох частин. У 1-й частині була задекларована структура процесу, в 2-й частині окремим крокам були призначені відповідні виходи; 3-тя частина встановлює процес формування текстової інформації і вивід її на монітор (рис. 20.17).

Після написання програма компілюється до вигляду *.еxе і в цій версії виводиться в дію безпосередньо на комп'ютері.

Рис. 20.17. Організація секвенційного керування в середовищі C-BUILDER.

Інтерфейс DDE

Інтерфейс DDE(aнгл. Dynamic Data Exchange) дозволяє здійснювати динамічне перетворення даних. У промисловості він часто використовується для моніторингу і візуалізації процесів. Інтерфейс DDEскладається з сервера і клієнта DDE. Споживач - об'єкт, який представляє дані, - називається сервером, а той, який отримує дані - клієнтом. Сервер в безперервному режимі записує всі дані до пам'яті. Клієнт, також в безперервному режимі, забирає дані з пам'яті сервера DDE. Обмін даними триває, залежно від комп'ютера, до 10 мс. На рис. 20.18представлено приклад, в якому програмне забезпечення контролера PLC, - окрім інших завдань - записує змінні і інформацію про стан процесу в пам'яті DDE, натомість програма LabView отримує дані з пам'яті DDEі на їх підставі здійснює візуалізацію процесу. Існує також можливість пересилання даних від клієнта через пам'ять DDEдо сервера.

Під час програмування клієнта потрібно вказати три дані:

DDE-Service: назва сервера, напр., PROSYS, EXCEL,

DDE-Topic: назва файлу сервера, напр., C:\xxxx\Visual.PRO.

DDE-ltem: назва змінної, через яку буде відбуватися зв’язок, напр., %IB32).

До змінної „ Text" вписується значення змінної.

Приклад: Програмне забезпечення програмованого контролера (PLC) як сервера DDE у співпраці з програмою LabView

Змінні були представлені в вигляді позначень на рис. 20.19. Стан кнопок Старт і Стоп розпізнається прямо зі змінної опису стану процесу (байт вхідних даних %132).

На стороні панелі представлені об’єкти, доступні для оператора, а на стороні діаграми - функція „ Open", яка активує канал DDE (рис. 20.20). Функція „Śtart" вводить в дію зв’язок - дані доставляються через „Items". Завдяки функції „Check", дані, перетворені до вигляду послідовності знаків, чекають на подальшу обробку.

Рис. 20.20. Зв'язок DDE з LabView

Складові частини програмного забезпечення

Домінуючою тенденцією у виробництві програмного забезпечення є розвиток складових частин (модулів) програмного забезпечення. Завдяки цьому, конкретні рішення можна скласти оптимальним чином з різного виду складових частин і з різних бібліотек. Технологія ActiveXокреслює межі розвитку програмного забезпечення цього типу. COMi DCOM(aнгл. Component Object Model та Distributed COM) становлять середовище для об’єктного управління операційними системами для ActiveX. Об'єкт типу ActiveX є окремою складовою частиною програмного забезпечення, яка мусить мати місце в конкретному застосуванні. Таке застосування називається носієм ActiveX (aнгл. ActiveX-Container). Технологія ActiveX є основою нового стандарту - OPC (aнгл. Object Linking for Process Control).

Приклад: Зчитування даних із зчитувача рискового коду за допомогою порту RS232С

На екрані повинна з’явитися назва статті. Тому що C-BUILDER не має жодних засобів для обслуговування порту RS232С, треба використати модуль ActiveX-Control, завданням якого є зчитування з порту.

1. Модуль ActiveX-Control TMSCommProxy додається до програмного забезпечення через складову меню „Частини" (рис. 20.21).Цей модуль з’явиться як іконка в меню вибору для ActiveX-Control.

2. При опрацюванні застосування завдання, для нього копіюється модуль ActiveX-Control. Наступним кроком мусять бути встановлені особливості, наприклад, номер порту, настроювання отримуваних даних, підтвердження тощо. Це дозволяє зробити меню „Особливості" (рис. 20.22).

3. На рис. 20.23і20.24показана повна будова прикладу для застосування.

 

Рис. 20.24. Первинний код для зчитування даних з послідовного порту