Аналіз засобів побудови програмованих логічних контролерів циклічної дії

Спосіб завдання алгоритмів функціонування автоматів циклічної дії у вигляді циклограм. Розробка абстрактної моделі паралельного логічного контролера, структурної схеми. HDL-модель і комп’ютерне моделювання паралельного логічного контролера циклічної дії.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 24.06.2011
Размер файла 190,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Аналіз засобів побудови програмованих логічних контролерів циклічної дії

1. Синтез структури паралельного логічного контролера циклічної дії

1.1 Спосіб завдання алгоритмів функціонування автоматів циклічної дії у вигляді циклограм

Одним з найбільш наочних способів завдання алгоритмів функціонування автоматів циклічної дії (далі будемо називати їх цикломатами) є використання циклограм, що представляють собою одну або декілька взаємозалежних таблиць. Обмежитися однією таблицею можна лише для опису найпростіших алгоритмів - без розгалужень і з єдиним варіантом послідовності виконуваних операцій. Оскільки на практиці переважають алгоритми з розгалуженнями, розглянемо форму циклограми, представленої у вигляді двох взаємозалежних таблиць - таблиці станів та таблиці переходів.

Кожен рядок таблиці станів (див. рис. 1) містить інформацію про номер поточного стану (мікроциклу) Z, номер виконуваної операції W поточного мікроциклу, команди керування виконавчими механізмами C, очікувані стани датчиків B і стан сигналу закінчення мікроциклу ENDmс.

Кожен рядок таблиці переходів містить (див. рис. 2):

1. номер поточного стану (мікроциклу) Zp керуючого автомата;

2. стан вхідних сигналів, при появі яких здійснюється перехід до нового мікроциклу;

3. інформацію про контроль сигналу закінчення мікроциклу ENDmc (символ «1» означає наявність контролю, а символ «х» - його відсутність, тобто негайний перехід до нового стану з перериванням відпрацьовування поточного мікроциклу);

4. стан Zk (мікроцикл), до якого виконується перехід при виконанні заданих умов.

Найменування технологічної операції та групи операцій (мікроциклів)

Z

№ кроку в мікроциклі

W

Команди керування

C

Очікуваний стан вхідних сигналів

B

Сигнал закінчення

мікроциклу

ENDmс

Z0

Операція 0.0.

0

С0.0

B0.0

Операція 0.1.

1

С0.1

B0.1

1

Z1

Операція 1.0.

0

С1.0

B1.0

Операція 1.1.

1

С1.1

B1.1

Операція 1.2.

2

С1.2

B1.2

Операція 1.3.

3

С1.3

Х

1

ZN

Операція n. 0.

0

СN.0

BN.0

Операція n. 1.

1

СN.1

Х

1

Рис. 1. Таблиця станів (мікроциклів)

Номер поточного стану (мікроциклу)

Zp

Вхідний стан

A

Контроль сигналу закінчення мікроциклу

ENDмс

Наступний стан (мікроцикл)

Zk

Z0

AZ0>Z1

1

Z1

Z1

AZ1>Z2

1

Z2

Z2

AZ2>Z1

1

Z1

Zp

AZp>Zk

х

Zk

Рис. 2. Таблиця переходів між станами (мікроциклами)

Опис переходів між станами також може бути задано за допомогою графа переходів, наведеного на рис. 3. На даному графі жирною лінією показано перехід, що виконується без врахування сигналу ENDmc, тобто за перериванням.

Размещено на http://www.allbest.ru/

Рис. 3. Граф переходів між станами (мікроциклами)

Таким чином, завдання алгоритму функціонування цикломата зводиться до формування простору можливих станів об'єкта керування в процесі аналізу його роботи шляхом заповнення двох взаємозалежних таблиць, одна з яких описує послідовність операцій для кожного мікроциклу, а друга - умови переходів між цими мікроциклами.

1.2 Розробка абстрактної моделі паралельного логічного контролера циклічної дії

При розробці абстрактної моделі паралельного логічного контролера циклічної дії варто враховувати особливості опису алгоритмів в формі циклограми, що розглянуті вище. Виходячи з того, що алгоритм являє собою дві взаємозалежні таблиці, абстрактна модель паралельного логічного контролера циклічної дії може бути представлена у вигляді двох взаємодіючих компонентних автоматів S і T (рис. 4). Автомат Т (Transition) є автоматом переходів між станами і описується таблицею переходів:

T = {A, Z, ENDmc, ?},

де ? - функція переходів, що визначає стан Zt автомата S залежно від попереднього стану Zt-1, вхідного стану А та сигналу ENDmc.

Размещено на http://www.allbest.ru/

Рис. 4. Абстрактна модель канонічного цикломату

Автомат S (State) являє собою автомат станів (описує простір станів об'єкта керування відповідно до таблиці станів):

S = {Z, B, B', W, ENDmc, C, ?, ?, ?'},

де ? - функція переходів, що визначає стан В' залежно від стану Z та номера поточної операції W,

?' - функція, яка визначає стан сигналу ENDmc залежно від стану Z та номера поточної операції W,

? - функція переходів, що визначає вихідний стан С у залежності від стану Z і номера поточної операції W.

Таким чином, часові залежності між станами автоматів S і T, що входять до складу канонічного цикломата, описуються виразами:

Z(t) = ? {A(t), Z (t-1), ENDmc(t)};

B'(t) = ? {Z(t-1), W(t)};

ENDmc = ?' {Z(t-1), W(t)};

C(t) = ? {Z(t-1), W(t)};

W(t) =

Размещено на http://www.allbest.ru/

W (t-1)

при B'(t) B(t);

W (t-1) + 1

при B'(t) = B(t) и ENDmc = 0

1.3 Розробка структурної схеми паралельного логічного контролера циклічної дії

Розробка структурної схеми паралельного логічного контролера циклічної дії зводиться до формування взаємозв'язків між наступними функціональними блоками (див. рис. 5):

KS1 - комбінаційна схема, що забезпечує реалізацію функції ?;

BP - блок пам'яті, що забезпечує зберігання інформації про поточний стан Z автомата T, а також формування команди скидання лічильника при зміні стану Z (у такий спосіб відпрацьовування кожної підпрограми завжди починається з нульової операції);

KS2 - комбінаційна схема, що забезпечує реалізацію функцій ?, ?';

KS3 - комбінаційна схема, що забезпечує реалізацію функції ?;

Count - лічильник адреси, що містить вхід збільшення Ena, вхід скидання sclr та формує на виході W число, що відповідає номеру поточної операції;

Compare - схема порівняння, що забезпечує формування сигналу Е при B'(t) = B(t) і ENDmc = 0, що надходить на вхід Ena лічильника Count.

Размещено на http://www.allbest.ru/

Рис. 5. Структурна схема паралельного логічного контролера циклічної дії

2. Розробка HDL-моделі та комп'ютерне моделювання паралельного логічного контролера циклічної дії

HDL-модель паралельного логічного контролера циклічної дії реалізовано мовою опису апаратури AHDL у середовищі MAXplus+II (проект - cyclomat_canon). Для наочності файл верхнього рівня ієрархії реалізований у графічному редакторі (рис. 6).

Алгоритм функціонування паралельного логічного контролера циклічної дії описується таблицями станів та переходів (табл 1, 2).

циклічний комп'ютерний моделювання контролер

Таблиця 1. Таблиця станів (мікроциклів)

Найменування технологічної операції та групи операцій (мікроциклів)

Z

№ кроку в мікроциклі

W

Команди керування

C

Очікуваний стан вхідних сигналів

B

Сигнал закінчення

мікроциклу

ENDmс

0

Операція 0.0.

0

0

0

0

Операція 0.1.

1

1

1

0

Операція 0.2.

2

1

0

1

1

Операція 1.0.

0

10

10

0

Операція 1.1.

1

11

11

0

Операція 1.2.

2

12

12

0

Операція 1.3.

3

0

0

1

2

Операція 2.0.

0

20

20

0

Операція 2.1.

1

21

21

0

Операція 2.2.

2

22

22

0

Операція 2.3.

3

22

0

1

Таблиця 2. Таблиця переходів між станами (мікроциклами)

Номер поточного стану (мікроциклу)

Zp

Вхідний стан

A

Контроль сигналу закінчення мікроциклу

ENDмс

Наступний стан (мікроцикл)

Zk

0

1

1

1

1

2

1

2

2

3

1

1

2

4

х

0

Блок пам'яті bp цикломата являє собою параметричний модуль, що забезпечує багаторазову перевірку правильності прийняття керуючих рішень, причому час між перевірками задається параметром period1; період, після якого забезпечується скидання (обнуління) блоку пам'яті при відсутності стабільності інформації на вході блоку пам'яті задається параметром period2; кількість дискретних входів задається параметром width. Параметри c1_width та c2_width необхідні для завдання розрядності лічильників, що забезпечують реалізацію функції виміру часових параметрів.

Логічна структура блоку пам'яті bp (див. рис. 7) містить наступні функціональні вузли:

- тактовий генератор ТГ,

- лічильник С1, призначений для формування сигналу Е, що являє собою імпульс із тривалістю в один такт сигналу синхронізації С и формується періодично з інтервалом часу t',

- лічильник С2, що забезпечує підрахунок кількості виконаних перевірок правильності реалізації логічних функцій ?,

Рис. 6. Файл верхнього рівня ієрархії в графічному редакторі

Размещено на http://www.allbest.ru/

Рис. 7. Логічна структура блоку пам'яті bp

- лічильник С3, що забезпечує скид регістра RG2, якщо на виході Q лічильника С2 протягом заданого інтервалу часу не формується сигнал логічної 1,

- N» - розрядні регістри пам'яті RG1 і RG2,

- N» - розрядна схема порівняння.

Блок пам'яті bp працює в таким чином. Вхідні сигнали q(t) [N»..1] надходять на входи регістра RG1 D [N»..1] і схеми порівняння а [N»..1]. На виходах регістра RG1 формуються сигнали Q [N»..1], що надходять на входи регістра RG2 D [N»..1] і схеми порівняння b [N»..1]. У випадку зміни стану вхідних сигналів q(t) [N»..1] сигнали на входах а [N»..1] і b [N»..1] схеми порівняння стають нееквівалентними, у результаті чого на виході ab схеми порівняння формується сигнал логічної 1, що надходить на вхід R лічильника С2 і забезпечує його скид. При надходженні чергового імпульсу Е на вхід Е регістра RG1 виконується запис інформації, що надходить на його входи D [N»..1]. У результаті цього сигнали на входах а [N»..1] і b [N»..1] схеми порівняння стають еквівалентними і вихідний сигнал схеми порівняння ab приймає значення логічного 0. Далі лічильник С2 здійснює підрахунок імпульсів Е, що надходять на його вхід Е з виходу лічильника С1. У випадку, якщо лічильник С2 дорахує до заданого значення n (що означає успішне виконання n-кратної перевірки), на його виході Q буде сформований сигнал логічної 1, що надходить на вхід Е регістра RG2, забезпечуючи таким чином запис інформації і формування сигналів q (t-1) [N»..1] на виході блоку пам'яті. Якщо наступна зміна вхідних сигналів q(t) [N»..1] відбудеться до того, як лічильник С2 дорахує до n, лічильник С2 знову буде обнулений і підрахунок імпульсів Е буде виконуватись спочатку.

Структурна схема HDL-моделі блоку пам'яті bp приведена на рис. 8. Результати моделювання компонентів bp_rg, bp_compare, bp_counter приведені на рис 9 - 10. Результати моделювання блоку пам'яті bp наведені на рис. 11.

Размещено на http://www.allbest.ru/

Рис. 8. Структурна схема HDL-моделі блока пам'яті bp

Рис. 9. Результати моделювання компонента bp_rg

Рис. 10. Результати моделювання компонента bp_compare

Рис. 11. Результати моделювання компонента bp_ counter

Рис. 12. Результати моделювання блоку пам'яті bp

Комбінаційна схема KS1 реалізує логічну функцію ? відповідно до таблиці переходів, наведеної на рис. 12. Опис функції ? с використанням конструкцій CASE і IF THEN виглядає так:

CASE zi[] IS

WHEN 0 =>

IF a[] == 1 and kp then z[] = 1;

ELSE z[] = 0;

END IF;

WHEN 1 =>

IF a[] == 2 and kp then z[] = 2;

ELSE z[] = 1;

END IF;

WHEN 2 =>

IF a[] == 3 and kp then z[] = 1;

ELSIF a[] == 4 then z[] = 0;

ELSE z[] = 2;

END IF;

END CASE;

Для опису функцій ?, ?, ?' у блоці RS2_3 використана конструкція TABLE:

TABLE zi [1..0], w [1..0] => b [7..0], ENDmc, c [7..0];

0, 0 => 0, 0, 0;

0, 1 => 1, 0, 1;

0, 2 => 0, 1, 1;

1, 0 => 10, 0, 10;

1, 1 => 11, 0, 11;

1, 2 => 12, 0, 12;

1, 3 => 0, 1, 0;

2, 0 => 20, 0, 20;

2, 1 => 21, 0, 21;

2, 2 => 22, 0, 22;

2, 3 => 0, 1, 22;

END TABLE;

Схема скидання лічильника count виконана з використанням примітивів DFF, NOT, AND2, які виділяють передній фронт сигналу на виході reset блоку пам'яті шляхом формування імпульсу тривалістю в один такт сигналу синхронізації.

Фрагмент результатів моделювання паралельного логічного контролера циклічної дії наведено на рис. 14.

Рис. 14. Фрагмент результатів моделювання паралельного логічного контролера циклічної дії

3. Метрична оцінка програмного забезпечення згідно методу Холстеда

Метрики Холстеда відносяться до метрик, що обчислюють на підставі аналізу числа рядків і синтаксичних елементів вихідного коду програми.

Основу метрик Холстеда становлять чотири характеристики програми, що вимірюються:

- NUOprtr (Number of Unіque Operators) - число унікальних операторів програми, включаючи символи-роздільники, імена процедур і знаки операцій (словник операторів);

- NUOprnd (Number of Unіque Operands) - число унікальних операндів програми (словник операндів);

- Noprtr (Number of Operators) - загальне число операторів у програмі;

- Noprnd (Number of Operands) - загальне число операндів у програмі.

На підставі цих характеристик розраховуються наступні показники:

- Словник програми;

- Довжина програми;

- Обсяг програми;

- Складність програми.

У табл. 3 наведено перелік метрик Холстеда.

Таблиця 3. Перелік метрик Холстеда

Назва метрики

Спосіб обчислення

Словник програми:

Довжина програми:

Оцінювана довжина програми:

Обсяг програми:

Потенційний обсяг програми

Складність програми

Рівень програми

Зусилля на розроблення програми

Кількість помилок у програмі

Час розроблення програми

Примітка. Дані для розрахунку метрик Холстеда:

n1 - число простих операторів, що розрізняються (словник операторів);

n2 - число простих операндів, що розрізняються (словник операндів);

N1 - загальне число усіх операторів;

N2 - загальне число усіх операндів;

n2* - число різних вхідних і вихідних параметрів;

S = 18 - число Страунда (кількість елементарних розумових операцій за секунду).

Виконаємо порівняльний аналіз описів лічильника в табличному й текстовому виді. Текстовий опис реверсивного лічильника з реалізацією функцій скидання, завантаження та дозволу лічби текстовою мовою AHDL виглядає таким чином:

SUBDESIGN counter

(

clk, reset, load, ena, dir, inp [3..0] : INPUT;

out [3..0] : OUTPUT;

)

VARIABLE

state [3..0]: DFF;

Begin

If reset

then state[].d = 0;

elsif load

then state[].d = inp[];

elsif ena and! dir

then state[].d = state[].q + 1;

elsif ena and dir

then state[].d = state[].q - 1;

else state[].d = state[].q;

End If;

out[] = state[].q;

End;

Табличний опис аналогічного лічильника виглядає таким чином:

counter

Поточний стан

Умови переходів

Наступний стан

state [3..0]

in [3..0]

ena

reset

load

dir

state [3..0]

1

0

1

in[]

1

0

state[] + 1

1

1

state[] - 1

Відповідно до формул, запропонованих Холстедом, виконаний розрахунок основних метрик, результати якого зведені у табл. 4.

Таблиця 4. Значення метрик Холстеда

Метрика

Текстовий формат

Табличний формат

Mтекст / Mтабл

1.

Словник операторів

n1

29

12

2,42

2.

Загальна кількість операторів

N1

96

31

3,1

3.

Словник операндів

n2

9

6

1,5

4.

Загальна кількість операндів

N2

25

10

2,5

5.

Словник програми

n = n1 + n2

38

18

2,11

6.

Довжина програми

N = N1 + N2

121

41

2,95

7.

Об'єм програми

V = N log2 n

635

170,97

3,71

8.

Потенціальний об'єм програми

V* = (n2*+2) log2(n2*+2)

24

24

1

9.

Складність програми

D = (n1 / 2) (N2 / n2)

40,278

10

4,03

10.

Рівень програми

L = 1 / D

0,0248

0,1

0,248

11.

Зусилля на розробку

E = V / L

25 576

1 709,7

15

12.

Кількість помилок

B = V / 3000

0,2117

0,057

3,71

13.

Термін розробки

T = E / 18

1420,9

94,982

15

Таким чином, використання табличних форм опису цифрових пристроїв дозволяє істотно покращити основні характеристики програмного забезпечення для широкого класу задач, у тому числі складність програми, термін розробки та кількість помилок.

4. Лабораторні випробування паралельного логічного контролера циклічної дії

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

Структурну схему полігону показано на рис. 15. Полігон складається з наступних складових частин: модуль програмування ПЛІС та зв'язку з комп'ютером - Byteblaster (ВВ) - призначений для конфігурації ПЛІС з допомогою PC-сумісного комп'ютера з використанням програмного пакету MAX+plus II 10.0 фірми Altera; панель для змінних ПЛІС сімейств MAX7000, MAX9000, FLEX10K; JTAG-рознім, призначений для контролю JTAG-послідовності з допомогою JTAG-тестера; стандартний рознім зв'язку з комп'ютером (паралельним портом LPT); комутаційні розніми для підключення периферійного обладнання, які з'єднані з виводами користувача ПЛІС, що програмуються (Х4, Х5); джерело живлення (ДЖ).

Рис. 15. - Структурна схема полігону

До базового комплекту полігону входить пульт ручного керування та налагодження, з допомогою якого імітується подання на вхід приладу, що моделюється, контрольних сигналів та сигналів від датчиків, а з виходів ПЛІС сигнали управління виводяться на інформаційне табло, що імітує вмикання або вимикання виконавчих механізмів, сигнальних пристроїв тощо. базовий комплект полігону може бути дооснащений контролером обміну даними та керування з допомогою PC через послідовний інтерфейс (Serial port).

Размещено на Allbest.ru


Подобные документы

  • Використання мікроконтролера ATmega16 при моделювання схеми та написанні програми. Характеристики аналогово-цифрового перетворювача. Розробка блок-схеми ініціалізації контролера, алгоритму отримання результату перетворень та головного циклу програми.

    курсовая работа [691,7 K], добавлен 22.04.2014

  • Розв'язання задач мовою програмування VBA з використанням алгоритмів лінійної, розгалуженої та ітераційної циклічної структури. Розробка блок-схеми алгоритму, таблиці ідентифікаторів та тексту програми. Створення власної панелі інструментів користувача.

    практическая работа [1012,6 K], добавлен 19.02.2010

  • Розробка алгоритмів виконання арифметичних операцій для систем числення в різних кодах з оцінкою точності. Проектування цифрового автомату в булевих базисах з використанням логічних елементів. Складення структурної схеми комбінаційних цифрових автоматів.

    курсовая работа [264,6 K], добавлен 10.09.2012

  • Вибір конфігурації контролера і схем підключення. Розроблення прикладного програмного забезпечення для реалізації алгоритму керування. Самодіагностика та індикація несправностей. Обробка цифрової інформації. Розрахунок надійності системи керування.

    курсовая работа [1,1 M], добавлен 25.08.2014

  • Розробка SCADA/HMI – проекту для моніторингу і управління процесом випікання хлібу пшеничного І ґатунку. Опис змінних програмуємого логічного контролера (ПЛК) і технологічних параметрів у загальному вигляді. Основні (глобальні) настройки програми.

    курсовая работа [4,1 M], добавлен 10.01.2015

  • Політичне прогнозування як процес розробки науково обгрунтованого судження про ймовірносний розвиток політичних подій, шляхи і терміни його здійснення. Можливості комп'ютерного моделювання - системний підхід. Моделі та методи моделювання, їх використання.

    контрольная работа [26,0 K], добавлен 13.03.2013

  • Комп’ютерне моделювання системи сегментації та розпізнавання облич на зображеннях. Підвищення швидкодії моделювання за кольором шкіри та покращення якості розпізнавання при застосуванні робастних boosting-методів. Розробка алгоритмів функціонування.

    дипломная работа [1,6 M], добавлен 02.07.2014

  • Розробка програмного забезпечення для управління транспортними платформами на базі програмованого логічного контролера S7-300 в Simatic STEP-7. Аналіз програмного забезпечення, розрахунок показників його надійності. Опис алгоритму функціонування системи.

    дипломная работа [2,1 M], добавлен 17.05.2012

  • Алгоритмічна структура алгоритму керування. Вибір конфігурації контролера, схем підключення, технічних засобів автоматизації. Схеми підключення зовнішніх пристроїв. Розроблення прикладного програмного забезпечення для реалізації алгоритму керування.

    курсовая работа [3,5 M], добавлен 22.01.2014

  • Методика та порядок програмування алгоритмів циклічної структури із заданим числом повторень за допомогою мови програмування VAB. Алгоритм роботи з одновимірними масивами. Програмування алгоритмів із структурою вкладених циклів, обробка матриць.

    курсовая работа [27,7 K], добавлен 03.04.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.