Independent Motion, Programming, Interrogation, Motion Profiling
- C++ (Galil.h)
- C# .net (COM)
- VB .net (COM)
When profiling motion on Galil axes, it is common to need a method to determine if motion is complete on a given axis. This can be done in embedded DMC code with the trippoints AM or MC, but from a host program, trippoints are not supported.
The Motion Complete examples demonstrate three ways for the host to determine motion complete status.
- Polling, the simplest method has two drawbacks
Data Record, an excellent method which has the following characteristics
- Polling is inefficient. If the controller is polled "n" times to determine a given state, the efficiency is given by 1/n
- Polling puts unnecesary overhead on the controller, especially at faster polling frequencies, because the controller must answer every poll.
Interrupts, a minamalist approach with 100% efficiency and low data bandwidth usage
- Non-polled, asynchronous communications
- Extra information for free. The data record contains more information than just motion complete status.This additional information, such as motor position, and I/O status, is likely needed elsewhere by the application. Therefore using the data records is often a solution to many needs
- Faster data record updates do put a higher overhead on the controller. The recordsStart() period should only be set as low as is necesary for the required data rate.
- A PCI or UDP (where supported) interrupt signal is fired when an axis completes motion
- Coding for interrupts takes a bit more host-side though because the last state must be maintained by the software
- Synchronous and asynchronous communications
- Event handlers (COM library)
- Galil motion profiler
- Download the appropriate version of the C++ library from Galil's software page. Required files are the following
- Runtime dll (galil1.dll or galil2.dll)
- Lib file (galil1.lib or galil2.lib)
- Galil header file (Galil.h)
- C# and VB
- Install GalilTools prior to using the example. This installs and reigisters the Galil COM component.
- Alternatively, install the communications redistributable installer