рикладного програмного забезпечення використовуються зовсім різні методи програмування. Найбільш традиційною частиною є прикладні обчислювальні завдання. Вирішувати ці завдання прагнуть традиційними методами і для цього намагаються використовувати програмування на мовах високого рівня, не упускаючи при цьому з видимості той факт, що робота програми повинна вестися в реальному часі. Зазвичай вдається тут обійтися програмуванням на мові С, С + +, Pascal, залучаючи для цього (по можливості швидкодії) інтегровані середовища типу Visual C, Builder або Delphi. p align="justify"> Якщо це вдається, то є можливість створення потужного сучасного програмного забезпечення, що задовольняє всім вимогам до інтерфейсів користувача.
Непереборною бар'єром тут може виявитися відсутність необхідних засобів розробки ПЗ для конкретної ОС РВ. В даний час для всіх популярних ОС РВ маються, принаймні, компілятори мови С. Це істотно полегшує роботу програміста. p align="justify"> При створенні програмного забезпечення для локальних контролерів важливо дотримуватися наступних принципів:
При розробці проекту САУ ТП намагатися забезпечити однорідність обчислювальної платформи, що дозволить надалі спростити програмування. В даний час реально це означає, що доцільно в локальних системах використовувати не спеціалізовані мікроконтролери, а PC-сумісні контролери. Ця вимога, звичайно, не є імперативним, оскільки є достатня кількість прикладів, коли найбільш ефективні саме спеціалізовані контролери. p align="justify"> Наприклад, у задачах цифрової обробки сигналів використовуються спеціальні DSP-процесори. Але при цьому слід розуміти, що обслуговування вузькоспеціалізованого програмного забезпечення часто накладно. p align="justify"> При розробці мікропрограм для локальних контролерів ретельно обгрунтовувати вибір контролерів, виходячи з перспективності тієї чи іншої микроконтроллерной платформи. Причому, основним аспектом є не економічний, так як вартість сучасних мікроконтролерів стрімко знижується, а системний. Використання застарілих контролерів недоцільно. Крос-засоби програмування для різних контролерів істотно відрізняються з погляду універсальності, стандартизованности і орієнтованості на інтеграцію до складу більш складних ієрархічних систем. p align="justify"> Бібліотеки програм, створені для мікроконтролерів, насилу піддаються повторному використанню і передачі іншим користувачам, часто виявляється простіше створити програми заново. На жаль, об'єктно-орієнтований підхід тут застосуємо далеко не завжди, оскільки тягне різке збільшення обсягів кодів. p align="justify"> Альтернативою традиційного програмування мікроконтролерів, в принципі, є технологія Java, що припускає мережеву завантаження виконуваних програм (аплетів) у контролери. Тут слід зазначити, що це не цілком безпечно і не завжди надійно. p align="justify"> Міжнародна Електротехнічна Комісія (МЕК) в 1993 р. затвердив стандарт IEC 61131 частина 3 (IEC 61131-3). Цей міжнародний стандарт входить до групи IEC 61131 стандартів, які охоплюють різні аспекти використання програмованих логічних контролерів (ПЛК - PLC). p align="justify"> Призначення IEC 61131-3 - стандартизація існуючих мов ПЛК. Стандарт IEC 61131-3 виявився настільки актуальний, що чекати його адаптації не вистачило сил: функції підтримки, і впровадження стандарту на ринку взяла на себе незалежна організація PLCOpen, що складається з виробників і користувачів програмного забезпечення (ПО), орієнтованого на IEC 61131 - 3. У результаті діяльності PLCOpen на ринку ПЗ з'явилася серія сертифікованих засобів програмування ПЛК, - коштів, які досить широко і небезуспішно впроваджуються в промисловості. В цілому, це сприймається як черговий прогресивний крок у рамках концепції "відкритих систем". Стандарт IEC 61131-3 описує синтаксис і семантику п'яти мов програмування ПЛК. Ці мови не є чимось абсолютно новим, а лише узагальнюють те, що широко відомо в області автоматизації пром об'єктів:
SFC (Sequential Function Chart) - графічний мова, яка використовується для опису алгоритму у вигляді набору пов'язаних пар: крок (step) і перехід (transition). Крок являє собою набір операцій над змінними. Перехід - набір логічних умовних виразів, що визначає передачу управління до наступній парі крок-перехід. За зовнішнім виглядом опис мовою SFC нагадує добре відомі логічні блок - схеми алгоритмів. SFC може розпаралелювання алгоритму. Однак, SFC не має коштів для опису кроків і переходів, які можуть бути виражені тільки засобами інших мов стандарту (наприклад, умовними операторами Pascal - мова ST). Тому будь-яка реалізація мови SFC - це просто початкове уявлення логіки алгоритму. p align="justify"> LD (Ladder Diagram) - графічний мова програмування, який є стандартизованим варіантом класу мов релейно-контактних схем. Логічні вирази на цій мові описуються у вигляді реле, які широко застосовувалися в області автома...