датчика початкового положення для координати X PSP0.
Вихідні дані:
- значення стану фрикційного гальма B0 по координаті X;
- сигнали на висновках блоку введення-виведення до обмоток ШД1.
. 1.6 GotoY
Завдання виходу в нуль вихідної ланки по координаті Y. Нагадує задачу керування швидкістю ШД2 Sled_Y. Однак на відміну від останньої об'єкт рухається тільки в негативному напрямку і переходить в режим гальмування і зупинки згідно сигналах датчика зниження швидкості і датчика початкового положення, а не тимчасових інтервалів. Коли значення сигналу датчика початкового положення встановлюється в одиницю, вважається, що вихідна ланка знаходиться на початку координат і поточна координата Yc обнуляється.
Вхідні дані:
- значення датчика початкового положення для координати Y PSP1.
Вихідні дані:
- значення стану фрикційного гальма B1 по координаті Y;
- сигнали на висновках паралельного порту до обмоток ШД2.
Завдання I/O в нашому випадку відсутня, так як інші завдання середнього та низького рівнів взаємодіють з пристроєм вводу/виводу безпосередньо, формуючи готові сигнали, які згодом потрібно тільки підсилити.
. 1.7 PWM_Task
Завдання ШІМ модуляції. На вхід завдання надходить ширина імпульсу, і дана задача включає/вимикає сигнал, що надходять на ДПТ.
. 1.8 InTask
Завдання отримання даних від пристрою введення/виводу.
. 1.9 OutTask
Дане завдання передає дані пристрою введення/виводу.
Таким чином, описані завдання становлять комплекс управління МС. І тепер на основі всього вищесказаного ми можемо побудувати діаграму завдань системи управління мехатронним об'єктом. Діаграма завдань представлена ??на малюнку 2.1.
Рисунок 2.1 - Діаграма завдань системи управління мехатронним об'єктом
2.2 Розробка структури станів завдань
Багато задач СРВ можуть бути структуровані відповідно до моделлю станів. Тоді всі операції у складі однієї задачі можна розділити по групах, відповідним станам процесу, виділеним за певними критеріями і представити всю задачу у вигляді кінцевого автомата. Так як наш процес управляє рухом, доцільним було б в якості таких критеріїв прийняти характеристики руху - прискорення і швидкість.
У нашому процесі ми вителілі шість задач, які мають структуру станів. Це - завдання управління швидкістю. У загальному випадку, в русі вихідної ланки можна виділити три стани: прискорення, рівномірний рух, гальмування. Розглянемо кожну задачу.
Як вже говорилося, завдання Sled_X відповідальна за розрахунок тимчасових характеристик і координат руху ШД1. Так як Привід з ШД не має зворотного зв'язку, вся траєкторія повинна розраховуватися до початку руху. Розрахунок характеристик руху здійснюється за допомогою миттєвого значення часу і незалежного від нього параметра. Бо за завданням прискорення змінюється по трикутному законом, то цим параметром можна вважати модуль похідною від прискорення k.
У задачі Sled_X можна виділити такі стани:
). STOP. Стан очікування дій. У цей стан завдання переходить при ініціалізації. У ньому перевіряється виконання виходу в нуль по обох координатах. Якщо вихід в нуль зроблений, то перевіряється умова руху, а саме різниця між поточною і цільовою координатами по осі X. Якщо умова виконується, то завдання переходить у стан звільнення гальма BRAKE.
). BRAKE. У цьому стані завдання вичікує час дії гальма, яке задано за умовою, і потім переходить в стан прискорення або зупину.
). ACCEL. Стан прискорення. У цьому стані відбувається розгін, тобто збільшення поточної швидкості до максимальної. Так як система стежить, і користувач може в будь-який момент часу змінити координати цільової точки, то ми повинні враховувати ці зміни введені користувачем. У даному стані ми розраховуємо різницю між поточною і цільовою координатами по осі X (dx).
Далі перевіряються умови переходу в інші стани.
Якщо переміщення dx не збігається за напрямком з поточною швидкістю або dx по модулю менше або дорівнює шляху, необхідного для зниження поточної швидкості до нуля, то відбувається перехід в стані DEACCEL. Якщо ж вже набрана максимальна швидкість і не виконується умови переходу в стан DEACCEL, то відбувається перехід в стан руху на постійній швидкості CONST. Якщо ж не відбувається переходів в стану DEACCEL і CO...