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
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.
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]
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:
@newfileto save as a new file only with modified datetime or
@newfile filenameto 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"
A simple project file demo.daq is in the example folder, which gives some ideas to write your own 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.

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

See here to contribute to this package.