Text: |
ФІО = 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.Для чого потрібно відстеження закінчення руху до завдання нової команди кроковому двигуну?
Для того, щоб не починався наступний крок виконання программи, в якому можливо буде використовуватися кроковий двигун. А також, для контролю стану двигуна (зайнятий/вільний). Також, в вибадку використання багатопоточності, для того, шоб ніякий інший поток не перехопив контроль двигуна(«накладка»).
====================================
|