logo
Konspekt_lektsy_KISU_redaktirovannyy_308

25.3 Застосування|вживання| орс-сервера| з|із| matlab| і Lab| view

|У MATLAB, починаючи з версії 7, входить пакет ОРС Toolbox, що підтримує ОРС-сервери версії v2.05a. Він містить також блоки Simulink для обміну даними з ОРС-серверами. Аналогічно, Lab VIEW, починаючи з версії 7, також має вбудовану підтримку стандарту ОРС. Попередні версії MATLAB і Lab VIEW не підтримують ОРС, проте підтримують OLE Automation. Для роботи з|із| такими програмами можна використовувати об'єкт ОРС Wrapper|. Service|, розроблений НИЛ АП (www.RealLab.ru) який є буфером, що перетворює стандартні виклики ОРС в стандартні виклики OLE| Automation|. Для використання об'єкту OPCWrapper|.Service спочатку створюють з'єднання|сполучення,сполуку| з|із| ним за допомогою рядка (у середовищі|середі| MATLAB|)

wrapper| = actxserver|('OPCWrapper|.Service'), потім підключають об'єкт до сервера:

invoke|(wrapper,'OpcOpenServer','NLopc|.Server',"), де замість «NLopc|.Server» можна використовувати ім'я будь-якого ОРС-сервера|.

Значення тега|, наприклад «NL8TI|.Vinl», читають за допомогою функції invoke| з|із| пакету MATLAB|:

value| = invoke|(wrapper,'OpсReadItem','NL8TI|.Vinl').Запис у фізичний пристрій|устрій| дискретного значення «1»| тега| «NL8TI|.Bit. DOUTO|» виконується аналогічно:

invoke|(wrapper,'OpcWriteltem','NL8TI|.Bit.DoutO',1). Від'єднати об'єкт від сервера можна таким чином:

invoke|(wrapper|, 'OpcCloseServer|'). Після|потім| цього з'єднання|сполучення,сполука| з|із| об'єктом OPCWrapper|.Service необхідно закрити|зачиняти|:

release|(wrapper|). Приклади|зразки| роботи пакету MATLАВ| з|із| фізичними пристроями|устроями| можна знайти на сайті.

ЛЕКЦІЯ 26.

Системи програмування на мовах МЕК 61131-3.

26.1. Мова релейноконтактних схем LD.

26.2. Список інструкцій IL.

26.3. Структурований текст ST.

26.4. Діаграми функціональних блоків FBD.

26.5. Функціональні блоки стандартів МЕК 61499 і МЕК 61804.

26.6. Послідовні функціональні схеми SFC.

26.7. Програмне забезпечення.

Стандарт МЕК 61131-3 встановлює п'ять мов програмування ПЛК: три графічних і дві текстові. Спочатку стандарт називався IEC 1131-3 і був опублікований в 1993 р., але в 1997 р. МЕК (IEC) перейшов на нову систему позначень і в назві стандарту додалася цифра «6». Просуванням стандарту займається організація PLCopen (http://www.plcopen.org).

Основною метою стандарту було підвищення швидкості і якості розробки програм для ПЛК, а також створення мов програмування, орієнтованих на технологів, забезпечення відповідності ПЛК ідеології відкритих систем, виключення етапу додаткового навчання при зміні типу ПЛК.

Системи програмування, засновані на МЕК 61131-3, характеризуються наступними показниками:

Мови МЕК 61131-3 з'явилися не як теоретична розробка, а як результат аналізу безлічі мов, вже використовуваних на практиці і пропонованих ринку виробниками ПЛК. Стандарт встановлює п'ять мов програмування з наступними назвами:

• структурований текст (ST — Structured Text);

Графічними мовами є SFC, FBD, LD. Мови IL і ST є текстовими.

У стандарт було введено декілька мов (а не одну) для того, щоб кожен користувач міг застосувати найбільш зрозумілу йому мову. Програмісти частіше вибирають мову IL (схожий на асемблер) або ST (схожий на мову високого рівня Паскаль); фахівці, що мають досвід роботи з релейною логікою, вибирають мову LD, фахівці з САУ і схемотехніки вибирають звичну для них мову FBD.

Вибір однієї з п'яти мов визначаться не тільки вибором користувача, але і сенсом вирішуваного завдання. Якщо початкове завдання формулюється в термінах послідовної обробки і передачі сигналів, то для нього простіше і наочніше використовувати мову FBD. Якщо завдання описується як послідовність спрацьовувань деяких ключів і реле, то для неї найнаочнішою буде мова LD. Для завдань, які спочатку формулюються у вигляді складного розгалуженого алгоритму, зручнішою буде мова ST.

Мови МЕК 61131-3 базуються на наступних принципах:

Будь-який ПЛК працює в циклічному режимі. Цикл починається із збору даних з модулів введення, потім виконується програма ПЛК і закінчується цикл виведенням даних в пристрої виводу. Тому час виконання контролерного циклу залежить від тривалості операцій введення-виводу і швидкодії процесорного модуля.