How to run multiple GUI clients on the same KCU105 server
The SURF’s RUDP connection only support 1 “physical” client/server connection. If you need more than 1 software client to access the hardware server, then you can use ZeroMQ for multiple “virtual” connections to the hardware.
This means that you can run multiple devGui.py
scripts
at the same time (refer to How to run the Software Development GUI with KCU105 Hardware) because the PyDM GUI does NOT access the hardware directly, but uses a ZeroMQ to manage asynchronous I/O from
multiple clients and manage the hardware access.
How to start the ZMQ server then launch two different ZMQ clients
For the first terminal:
Setup rogue software (refer to Rogue Software Setup)
Start the ZMQ server (basically devGui script but with
--guiType None
argument)$ cd Simple-PGPv4-KCU105-Example/software $ python scripts/devGui.py --guiType None &
Start the 1st ZMQ client
$ python -m pyrogue --server=localhost:9099 gui
For the second terminal:
How to get access with another client if ZMQ server is already running
Setup rogue software (refer to Rogue Software Setup)
Run the ZmqClientGui python script to get access to the devGui’s script ZMQ server
$ cd Simple-PGPv4-KCU105-Example/software $ python -m pyrogue --server=localhost:9099 gui