Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Success Stories #15
Comment by xiaoqiangwang, Jun 29, 2012
To make offline software development for a sample changer robot, I use pcaspy to create a robot simulator. It mocks the necessary PVs to accept commands and give feedbacks. Different to a dummy softIoc made of EPICS database, it can also pretend to behave like a working robot by introducing delays. Moreover it can simulate various failures that could happen. This makes software development much independent. In my experience, right after passing offline tests, it is ready to be used in production and handles robot failures correctly.
Comment by kenneth.lauer, Apr 5, 2012
This library has enabled me to very easily bridge the gap between Windows-only devices and EPICS channel access (USB devices). All without requiring EPICS base or even a C compiler. This, of course, goes for Windows-only software, also (in my case, Zygo interferometer software).
I've also tried it under Linux and had similarly great results. It is quick and stable.
In a more complex example, I've simulated portions of the EPICS motor record and implemented a Python "Soft Motor". From this, I extended it into a sort of pseudo motor, which allows me to use Python's dynamic nature to relate a single pseudo motor with multiple real motors. I specify two equations converting from one space to the other, and pcaspy creates all of the pseudo motors and PyEpics? interacts with the real motors over channel access. All of this works quite well with 10s of pseudomotors (and the hundreds of PVs comprising the soft motor record!).
Comment by andrewgomella, Sep 28, 2014
pcaspy is instrumental to our lab's instrumental control on multiple experimental setups. Basically if something has python support out there, it can easily also have EPICS support thanks to pcaspy.
For instance we have several National Instruments DAQS in use on our setups- pcaspy (along with the pydaqmx library) allows us to easily and reliably control and monitor the daqs through a simple EPICS interface.
Our main implementation of pcaspy on one of our setups is basically a fully fledged EPICS camera driver in 600 lines through pcaspy (and other various python libraries). It has 50 PV's, and has many features the camera driver did not originally include but we were able to add using other python libraries. As far as the end-user is concerned it is as fast as our drivers written in C++.
Comment by xresende, May 7, 2015
We are starting to use pcaspy for creating a virtual accelerator to develop and test high level applications for Sirius, the brazilian 4th-generation synchrotron storage ring currently being constructed. It will be used in conjunction with our in-house developed python library pyaccel, a code for beam tracking and beam dynamics calculations built on top of optimized c++ routines.