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

бесплатно 0
4.5 125
Команди керування верстатом. Розробка зчитування слова стану та перевірки номеру блока. Переключення біта тривоги. Виконавчий механізм блоку керування. Перевірка помилки виконуючого механізму. Складання слів для перевірки роботоздатності усієї програми.


Аннотация к работе
Курсова робота виконується з метою придбання студентами навичок моделювання фізичних процесів за допомогою персональної електронно-обчислювальної машини (ПЕОМ), засвоєння методології програмування алгоритмів на мові С та дослідження отриманих результатів.Розглянемо, за що відповідають біти у слові стану: біт «А» під номером 0 відповідає за увімкнення сигналу тривоги. Сигнал тривоги вмикається шляхом заміни значення біту на протилежне, у разі, якщо була знайдена помилка у каналі звязку або у блоці керування. біт «Е», під номером 1, має дорівнювати 0, якщо немає помилок, у іншому випадку він буде дорівнювати 1, та вказувати на те, що помилка знайдена. біти «1», які записані під 2 та 3 номерами, дорівнюють 1. Вони будуть використовуватися при знаходженні помилок у каналі звязку. біти «М», які займають позиції від 4 до 6, зберігають у собі код операції керування, який є без знаковим, трьох розрядним та може приймати тільки цілі значення. у біт «Н» під сьомим номером записується горизонтальна координата положення виконавчого механізму. Максимальне значення, яке вона може прийняти дорівнює 1. залежно від значення біту «R», який у слові стану займає 8 позицію, визначається чи може верстат прийняти нову команду, чи воно виконує попередню команду. у біти «V» записується вертикальна координата положення виконавчого механізму. Після того, як буде виконаний запис команди у память блоку керування, значення цього біту необхідно змінити на 0. біт «В» відображає те, чи зайнятий верстат у цей час виконанням минулої команди, чи вже завершив її виконання, та очікує наступної команди. у біти «U», які займають позиції від 16 до 21 записується номер блока керування.Текст, приведений у рис.2 необхідно ввести до програми одразу після коментарію «Слово состояния». Номер блоку у слові стану закодований пятьма бітами, тому для виділення цього слова потрібно використати Mask5 для виділення пяти біт. U » , яке починається з восьмого біта зрушенням в право (word >> 9 ) Для перевірки біта «W» ми належимо маску MASKW на слово стану і якщо біт «R» дорівнює нулю , то і все значення дорівнюватиме нулю , так як інші біти слова обнулились за рахунок накладення маски. Залишається тільки накласти маску , довжина якої відповідає довжині цього слова і порівняти отримане значення з числом , у якого всі ці біти встановлені , тобто рівні одиниці .Після того, як була написана уся програма, та протестовані всі її частини по окремості необхідно розробити слова стану, які дадуть змогу протестувати усю програму. Для початку складемо слово стану, яке не матиме помилки. У цьому випадку у слові стану біти «F..F», «W», «A», «B», «E» будуть дорівнювати 0, біти «11», «R» мають бути рівними 1, у бітах «U..U» має бути записане значення номера блоку згідно із варіантом, у бітах «V..V» та «H» мають бути записані будь-які числа, що позначатимуть координату, окрім 0 та максимального числа, яке можна записати у наявній кількості розрядів. Для перевірки номера блоку можна скласти багато варіантів слів стану, але для перевірки коректності роботи програми можна обмежитися одним словом стану, у якому, у біти, які відповідають за номер блоку, запишемо число 3, замість 2. Для моделювання помилок у блоці керування встановимо біт «E» рівним одиниці для сімох слів, а значення інших бітів будемо змінювати так, щоб мати змогу змоделювати усі можливі варіанти помилок.Звісно, що для того щоб раціонально використовувати бітові поля, необхідно заздалегідь знати, які значення будуть приймати окремі змінні у бітовому полі. Для зберігання біт слова стану будемо використовувати без знакові змінні та виділяти під кожну змінну рівно стільки біт, скількома розрядами вона визначається у слові стану, відповідно до варіанту. У звязку з особливостями нашої програми доцільно використовувати функції типу void, які не повертають значень у функцію, яка її викликала чи у програму. Синтаксис для функцій користувача такий самий, як і для головної функції, а саме: вказується тип значень, які буде повертати функція (у нашому випадку усі функції матимуть тип void), потім - імя функції, у круглих дужках вказується, які змінні передаються у функцію, тіло функції розташовується у фігурних дужках. У функції буде розташований умовний оператор, який буде приймати істинне значення у двох випадках: біт запису не дорівнює 0 або значення, записане в біти «11», не дорівнює 3.Змінюючи значення відповідних біт у бітовому полі, ми зможемо моделювати різні види помилок, які можуть виникнути у верстаті та каналі звязку. u.bits.B = 0; // 1 бит - признак занятости устройства u.bits.W = 0; // 1 бит - бит разрешения записи u.bits.R = 0; // 1 бит - разрешение чтения u.bits.H = 0; // 1 бит - горизонтальная координата u.bits.E = 0; // 1 бит - бит ошибки u.bits.A = 0; // 1 бит - бит тревоги u.bits.F = 0; // 2 бита - код ощибки u.bits.U = 0; // 5 бит - номер блока u.bits.V = 0; // 6 бит - вертикальная координата u.bits.M = 0; // 3 бита - код операции управления u.bits.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?