">). BACK. Вихід в нульову позицію. У даному стані ми робимо n імпульсів назад, для виходу в задану позицію, встановлюємо значення поточної координати рівною нулю і переходимо в стан блокування гальма BRAKE.
У результаті одержимо структуру станів завдання GotoY, представлену на малюнку 2.5.
Малюнок 2.5 - Структура станів завдання GotoY
Таблиця 2.4 Стани завдання GotoY
№ИмяВходДействиеВыход0InitState--Ostanovka=1=gt;sost=STOP1STOPOstanovka=1-sost=BRAKE2BRAKEsost=1 do T_y=1 else T_y=0 TtekT=Ttek + T_yDSS_Y=0 or (DSS_Y=1 amp; (DSP_Y=1orDSP_Y=1) 3ACCELVt, Tt, Vm, A, Yc, Yt Vt, dt, Ttek4SMALL_VYt, Yc A, Ssh, Tt, Vtdy=Yc-Yt St=Ssh * i - гальмівний шлях Vt=Vi + ai * dtDSP=1= gt; sost=DOGE5DOGEDSP=1Stcount=msost=BACK6CONSTYt, Yc Ai Sshdy=Yc-Yt St=Ssh * i -гальмівний шлях Vt=Vi + ai * dtDSS=1= gt; sost=DEACCEL7DEACCELYc Ytdy=Yc-Yt Vt=Vi-ai ** dt Vt=Vmin Sost=SMALL_V 8BACKYt sost=DOGEStcount=nYt=0 sost=BRAKE
Де Vt - поточна швидкість переміщення маніпулятора по координаті Y;
Dx - відстань до цільової координати Yс;
St - гальмівний шлях, необхідний для зниження поточної швидкості до нуля;
Vm- максимальна швидкість;
sost - мінлива вказує попередній стан завдання.
Завдання ProgControl:
Читає поточну команду користувача й відповідно до неї змінює параметри руху і координати цільової точки.
Має наступні стани:
. Wait_cmd. Стан очікування команди оператора. У цьому стані завдання очікує, поки оператор відкриє файл або поки виконується поточна команда. Як тільки отримана команда розбирання наступного рядка завдання переходить у стан розрахунку Calculation.
. Calculation. У цьому стані завдання розбирає поточний рядок команди оператора і має з неї максимальну швидкість цільові координати і час зупину, розраховує тимчасові інтервали між імпульсами на кожному кроці розгону. Розрахувавши все це, завдання переходить у стан очікування Wait_cmd.
3. Проектування інтерфейсу СРВ
Інтерфейс оператора (користувача) служить для організації взаємодії між людиною і системою управління (ОУ). Залежно від призначення і функцій СРВ може бути використаний інтерфейс оператора різного типу:
- Командний інтерфейс. Для відображення інформації використовуються символьні буквено-цифрові повідомлення. Вводяться команди і параметри також представляють набори символів. Використовується алфавітно-цифровий дисплей і клавіатура. Для тимчасового або віддаленого підключення до системи може використовуватися послідовна лінія. Командний інтерфейс вимагає мало ресурсів процесора, порвіть на його основі володіють високою мобільністю.
- Графічний інтерфейс. Для відображення інформації використовується як текстові, так і графічні елементи. Для управління використовується клавіатура в поєднанні з пристроєм вказівки. Як правило застосовується кольоровий графічний дисплей високого дозволу з сенсорною панеллю. Графічний інтерфейс вимагає велику кількість ресурсів і ускладнює перенесення ПЗ на іншу апаратну платформу.
- Приладовий інтерфейс. Інформація відображається за допомогою дискретних цифрових шкал, світлових індикаторів і.т.п. Введення команд проводиться за допомогою тумблерів, перемикачів, верньєрів і.т.п. Вимагає мало ресурсів. Є спеціалізованим.
- Спеціальний інтерфейс. Введення і виведення інформації здійснюється через спеціальні органи управління. Приклад - штурвал літака або кермо автомобіля. Застосовується в спеціальних умовах.
Вікно інтерфейсу оператора показано на малюнку 3.1
Малюнок 3.1 - Інтерфейс оператора СРВ
Форма інтерфейсу містить такі елементи:
1. Елемент MultiText - відкритий файл, в якому містяться координати точки X, Y, швидкість руху двигуна (мм/с), час очікування переходу до наступної точки.
2. Кнопка Inicializate - зберігає всі введені оператором дані (Vmax_X, Vmax_Y (m/c); A_x, A_y (m/c2); Ssh_x, Ssh_y (mm)).
. Кнопка Start - при натисканні починається виконання завдань з файлу.
. Кнопка Stop - зупиняє виконання читання з файлу.
. Кнопка GoTo_0X - встановлює двигун в початкове положення по
осі Х.
6. Кнопка GoTo_0Y - встановлює двигун в початкове положення по
осі Y.
7. Кнопка Otkrit - щоб відкрити файл виконання програми,