This project contains control and automation softare for particle detector module assembly using Aerotech gantry based systems. Primarily it provides a programming environment and interpreter for gScript which is a simple text-based language specifically designed to make developing routines on these systems as pain-free as possible. This includes facilities to:
- Perform relative and absolute motion, as well as a "graph-based" motion between a set of named, predefined points
- Communication with cameras, including both the gantry-head mounted camera as well as auxillary USB cameras
- Control of vacuum lines through a Festo vacuum manifold paired with an NI compactDAQ switch unit
- Perform automatic pattern recognition to identify points-of-interest within any camera's field of vision
- Coordinate fitting to find a component's location and orientation in the gantry's coordinate system based on measurements of reference points on the part
- Communicate with component tracking databases to automatically register when an assembly has occurred
An installer (found under Releases) is available for download which packages a compiled executable version of the project. Try this if you do not intend to modify the underlying LabVIEW code.
A "project folder" is defined as any folder that contains a Config\
subdirectory containing any configuration files and a Scripts\
directory to store any gScript files. An example of this can be found in the Example Project folder in this repository. Upon first running of the gScript interpreter, the user is prompted to select the project folder on their filesystem. This is then stored in ~/AppData/Local/gScript/gscript_config.ini
and can be updated there if needed.
Project | URL |
---|---|
TFPX | https://gitlab.cern.ch/cms_tk_ph2/gscript-tfpxmodules |
ETL | https://github.com/bu-etl/gscript-ETLModules |
Please create a PR to be added to either of these lists.
If you discover a bug or would like to request a feature, please feel free to open an issue. If you have general questions about how to use the software, create a discussion.
There is also a developing set of tutorials on various aspects of gScript
programming developing here.
If you intend to modify the underlying LabVIEW code, you can start by cloning this repository with
git clone [email protected]:CUASAS/pixel-gantry-control.git
Using the NI Package manager
, install LabVIEW 2022 Q3 (64-bit).
Next use NI Package Manager
to install NI-DAQmx and IMAQdx. Valid licenses for these packages are required on the development machine.
Run the Aerotech installer. The installer doesn't put the Aerotech VIs in a place where LabVIEW knows to look. To fix this, run Aerotech Dumbness Fixer.vi
to copy the VIs to user.lib
. This step will likely need LabVIEW to be started as an administrator since it is moving files around in Program Files
.