ФІО = GVA Запитання:Звіт З лабораторної роботи №1 Студентів 3 курсу Радіофізичного факультету Горбаченка Василя Гайдар Вікторії Лабораторна робота № 1 Програмування системи керування механічним маніпулятором Мета роботи: ознайомитись з принципами керування координатними механічними системами using System; using System.Collections.Generic; using System.Text; namespace EXP { partial class user //class user { static int Do(int N, int A, int F, int D_In) { return C.Do(N, A, F, D_In); } public static void UserStendInit() { //---------Students code----------------BEGIN C.SetStend1(); //C.SetStend2(); //C.SetStend3(); //---------Students code----------------END } //++++++++++++++++++++++++++++++++++++++++++++++++++++++ public static void UserCrateInit() { // C.SetDAC(3); //example //---------Students code----------------BEGIN C.SetStep(1); //---------Students code----------------END } //++++++++++++++++++++++++++++++++++++++++++++++++++++++ public static void UserConnect() { // Connect.Set(3, 1, 0, 3); //example //---------Students code----------------BEGIN Connect.Set(1, 1, 0, 10); Connect.Set(1, 2, 0, 11); //---------Students code----------------END } //++++++++++++++++++++++++++++++++++++++++++++++++++++++ public static void Experiment() { /* double T1 = Time.get(); for (int n = 0; n < 10; n++) { Console.Beep(5000, 200); Time.Pause(1.25); } double T2 = Time.get(); double dT = T2 - T1; Console.Beep(3000, 500); return; */ // int u = Do(3, 0, 0, 0); // string buf = String.Format(" {0:0.###}\t{1:0.###}", U, I); // C.write(buf); //---------Students code----------------BEGIN for (int i = 0; i < 5; i++) { int KN = (i % 4 )*9; // 4 - kol korzin // d - mejdu korzinami // GO TO KORZINA 1 Do(1, 0, 16, -10); Do(1, 1, 16, 2); Time.Pause(1.25); // STOUM NA KORZINE //xxxx // GO TO STEND Do(1, 0, 16, 15); Time.Pause(3); // GO TO 1 Do(1, 0, 16, -1 + KN); ///1 Time.Pause(1.25); Do(1, 1, 16, 15); Time.Pause(1.25); // GO TO KORZINA 0 Do(1, 1, 16, 2); Time.Pause(2); Do(1, 0, 16, -9); Time.Pause(1.25); } /* Do(1, 0, 16, 10); Time.Pause(1.25); */ // int Do(); //Do(1, 1, 16, 15); //---------Students code----------------END } //++++++++++++++++++++++++++++++++++++++++++++++++++++++ } } Питання 2.Для чого потрібно відстеження закінчення руху до завдання нової команди кроковому двигуну? Для того, щоб не починався наступний крок виконання программи, в якому можливо буде використовуватися кроковий двигун. А також, для контролю стану двигуна (зайнятий/вільний). Також, в вибадку використання багатопоточності, для того, шоб ніякий інший поток не перехопив контроль двигуна(«накладка»). ====================================