| gclib 528 Communications API for Galil controllers and PLCs |

position_tracking.cs
Go to the documentation of this file.
1
10 using System;
11
12 namespace examples
13 {
14 public static partial class Examples
15 {
19
28 public static int Position_Tracking(gclib gclib, int speed)
29 {
30 int acc = 100 * speed; // Set acceleration/deceleration to 100 times speed
31
32 gclib.GCommand("STA"); // Stop motor
33 gclib.GMotionComplete("A"); // Wait for motion to complete
34 gclib.GCommand("SHA"); // Set servo here
35 gclib.GCommand("DPA=0"); // Start position at absolute zero
36 gclib.GCommand("PTA=1"); // Start position tracking mode on A axis
37
38 gclib.GCommand("SPA=" + speed); // Set speed
39 gclib.GCommand("ACA=" + acc); // Set acceleration
40 gclib.GCommand("DCA=" + acc); // Set deceleration
41
42 Console.WriteLine("Begin Position Tracking with speed " + speed +
43 ". Enter a non-number to exit.\n");
44 int position;
45
46 //Loop asking user for new position. End loop when user enters a non-number
47 while (true)
48 {
49 Console.WriteLine("Enter a new position:");
50 bool ok = int.TryParse(Console.ReadLine(), out position);
51
52 if (ok) //A valid position was provided
53 {
54 gclib.GCommand("PAA=" + position); // Go to new position
55 }
56 else //A non-number was entered
57 {
58 Console.WriteLine("Position Tracking has exited");
59 break;
60 }
61 }
62
63 gclib.GCommand("STA"); //stop motor
64 gclib.GMotionComplete("A"); //Wait for motion to complete
65
66 return GALIL_EXAMPLE_OK;
67 }
69 }
70 }
examples.Examples.GALIL_EXAMPLE_OK
const int GALIL_EXAMPLE_OK
Examples success code.
Definition: examples.cs:29
examples
Definition: commands.cs:13
examples.Examples.Position_Tracking
static int Position_Tracking(gclib gclib, int speed)
Puts controller into Position Tracking Mode and accepts user-entered positions.
Definition: position_tracking.cs:28