Skip to content

FaresX/QInsControl.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QInsControl

Dev Build Status Coverage

QInsControl is designed for controling instruments and data acquiring, which is based on the NI VISA and provides a friendly GUI and a flexible script written mannar to keep both the convenience and universality. See docs here or 视频【QInsControl.jl 开源的可编程仪器控制和数据采集工具】 https://www.bilibili.com/video/BV1Y2421N75d/?share_source=copy_web&vd_source=9bb5f2e2197b605d0d141ae8f55c67c7

install

Before installation, make sure you have NI VISA installed! Now it's able to run without VISA and supports TCPIP socket and serial port. At the same time, instruments tracked by the ISOBUS are allowed to be splited into individual addresses.

julia> ]
(@v1.10) pkg> add https://github.com/FaresX/QInsControl.jl.git

or you can download the execution file on the releases pages, which is a quicker taste.

usage

using QInsControl
QInsControl.start()

TCPIP address: TCPSOCKET::127.0.0.1::8080 [TCPSOCKET::ip::port]
serial port address: SERIAL::COM1 [SERIAL::port]
ISOBUS address: ASRL1::INSTR::ISOBUS::1 or SERIAL::COM1::ISOBUS::1 [bus address::ISOBUS::port]

Besides, two QInsControl can comunicate with each other. It is possible to use QInsControl as a monitor to logging the instruments' status. For the server end, you have to run the server first. As for the client end, you can add the server as adding a new instrument to comunicate with the instruments that are connected to the server.
QIC address: TCPSOCKET::127.0.0.1::6060::QIC::SERIAL::COM1 [server::QIC::instrument]

useful features

To use with the monitor mode, it is able to save as a new file in a single task. To realize this, just use the macro as follows:

@newfile

to save as a new file only with modified datetime or

@newfile filename

to save as a new file with a modified name and modified datetime. Whichever function is used, the file name is always in the format of "[$(now())] Task i $(filename).qdt"

example

image A simple project file demo.daq is in the example folder, which gives some ideas to write your own scripts.

scripts

Block mode and text mode can be changed from each other. Block mode is better for selecting instruments, addresses and quantities and some more useful functions. Text mode is better for reading and copying codes. Only block mode is supported to be compiled to executable tasks and run them. image image

custom widgets

now it comes to a new feture that anyone could create your own widgets to control the instruments. image

Contributing

See here to contribute to this package.

About

Extensible instrument control and data acquisition framework with GUI

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages