GalilPVT is an application created by Galil Motion Control as a developer's tool for using the PVT (Position,Velocity,Time) mode of motion on the DMC-40x0 series motion controller. PVT allows arbitrary motion profiles to be defined by position, velocity and time individually on all 8 axes. This motion is designed for systems where the load must traverse a series of coordinates with no discontinuities in velocity. By specifying the target position, velocity and time to achieve those parameters the user has control over the velocity profile.

Background: Learning about the PVT mode of motion

GalilPVT Software Features

* GalilPVT will read DMC format PV and CD commands when coded explicitly. Programming loops which populate the contour or PVT buffer can not be opened in GalilPVT.

File Menu


GalilPVT can open data in one of four formats:

  1. Contour CSV data (*.cm.csv)
  2. Contour DMC data (*.cm.dmc)
  3. PVT CSV data (*.pvt.csv)
  4. PVT DMC data (*.pvt.dmc)


GalilPVT can save data in one format:

  1. PVT CSV data (*.pvt.csv)


Close will close all data currently in the GalilPVT environment.


Print will allow printing of the segments or kinematics data. For large datasets, a range feature allows the user to only print the data of interest.


Exit will quit the GalilPVT application.

Views Menu

Table Display | Segments

Segments view displays data as entered by the user into the PVT mode (e.g. PVA=1000,-2000,256). Elapsed Time and Total Distance are displayed for convenience. Cells with a white background can be edited. Each row represents a segment, as would be input into the PVT segment buffer. Multiple axes are displayed side by side.

Table Display | Kinematics

Kinematics view displays data as calculated internally by the PVT mode of motion. With this screen, the user can browse the motion kinematics within a segment. Typically, many profile points will occur for each segment point. To determine the number of profiles in a segment, take the final argument to the segment (e.g. PVA=1000,-2000,256)and divide by two.

This view is non-editable.

New Graph

The New Graph menu item allows various visualizations of the PVT data.

Graph Features

Motion Summary

The Motion Summary window provides an overall statistical view of the entire movement showing absolute maximums.

DMC Command Info

The DMC Command Window shows the activity of the internal parser. This screen is for debug purposes and need not be used unless unexpected behavior occurs.

Controller Menu

Connect To...

The Connect To... item allows the user to choose a controller for connection. Ethernet is the only communication bus supported in this version of GalilPVT.


Choosing Disconnect will terminate any connections.

Stream Command...

Stream Command... allows the data in the GalilPVT environment to be downloaded to the controller. GalilPVT will stream arbitrarily long PVT trajectories.


Contour Mode

Contour mode allows the user to specify segments with a delta-time(DT) and a delta-position(CD). The controller firmware will linearly interpolate the position to achieve the delta-position during the delta-time interval. The delta-time argument is specified by n, where 2n samples determine the interval. Velocity discontinuities can occur at each segment boundary, with velocity constant during the segment.


CSV, or Comma Separated Values, format is a simple, widely-supported format for the distribution of table data. Each table row is separated by a carriage return, and each table cell is separated by a comma. CSV is a default data format for GalilPVT and GalilTools.


Profile refers to both the Galil motion profiler as well as the samples during which profiling occurs. Profiling is the process of calculating the position, velocity, acceleration, etc in a mode of motion on a periodic basis. In the PVT mode, Postion, Velocity and Acceleration are calculated every other sample. On the alternate sample, position is linearly interpolated. Jerk is calculated every segment.

PVT Mode

PVT mode allows the user to specify segments with a position to reach, a velocity to attain, and a time in which to attain them. A key difference with PVT vs. Contour, is that with PVT, velocity and acceleration stay continuous, while jerk is discontinuous. By moving the discontinuity two kinematic derivatives down (p'(t)=velocity, p'''(t)=jerk), PVT generally provides smoother motion than Contour, while still reaching the desired points at the appropriate times. PVT is less trivial to command, however, hence the GalilPVT software tool.


In a digital motion controller (DMC) real time is split up into discrete parts, called samples. The servo control law, motion profiling, and other controller functions are timed in samples. Samples relate to real time as a function of the number of samples in a duration of real time. By default, Galil controllers break one second into 1024 samples, though this sample rate can be made faster or slower with the TM command*. It is important to know what sample rate the controller uses in order to understand how the internal calculations of the hardware relate to real world, time-based quantities such as velocity, acceleration, and jerk.

*Changing the sample rate with the TM command can be advantageous, and also can be troublesome, depending on the application. To determine if changing the TM sample rate will benefit your application, please contact Galil to discuss with an applications engineer.


Buffered modes of motion (Contour, PVT, Vector, Linear Interpolation) maintain a buffer of data for the motion profile. Users supply this data and the mode of motion uses it to create motion profiles based upon the mode's unique algorithm. The atomic unit of data in a buffer is called a segment. Each segment contains all the information necessary for the mode of motion to generate motion. Multiple segments are buffered to create arbitrarily long motion paths. In PVT mode, a segment contains position, velocity and time information.

Galil Motion Control - 270 Technology Way - Rocklin, California 95765 - 916-626-0101 -