Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Success Stories #15

Open
xiaoqiangwang opened this issue May 8, 2015 · 10 comments
Open

Success Stories #15

xiaoqiangwang opened this issue May 8, 2015 · 10 comments

Comments

@xiaoqiangwang
Copy link
Collaborator

This is an abuse of issue tracker. Please comment it to add your use cases.

@xiaoqiangwang
Copy link
Collaborator Author

Comment by xiaoqiangwang, Mar 15, 2012

I have made EPICS interfaces to call IDL scripts written by beamline scientists. So that to isolate user from IDL interactive session and provide a universal entry for other applications.

@xiaoqiangwang
Copy link
Collaborator Author

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.

@xiaoqiangwang
Copy link
Collaborator Author

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!).

@xiaoqiangwang
Copy link
Collaborator Author

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++.

@xiaoqiangwang
Copy link
Collaborator Author

Comment by ztyaner11, Mar 8, 2013

While exploring the potential of pcaspy, I found it is quite convenient to create pcaspy server in CSS with pyDev. For example, I can debug the server code and look at the PVs in BOY side by side.

pcaspy_css

@xiaoqiangwang
Copy link
Collaborator Author

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.

@John-Holt-Tessella
Copy link

John-Holt-Tessella commented Oct 2, 2018

We are using at ISIS to server configurations and other dynamic information using python; multiple examples

@xresende
Copy link

At this point we are commissioning the Sirius storage ring (Brazilian Synchrotron Light Laboratory) and various current power supply IOCs have been running using PCASpy as EPICS server library.
SIRIUS PS IOC github repo

@shadowguy
Copy link
Contributor

We are using a PCASpy based IOC in SwissFEL Aramis to control a Shimadzu HPLC pump, the reason for choosing PCASpy over a traditional IOC is that we wanted to use the device’s web interface, and Python offered a simpler option (the requests library) over C/C++ and curl based solutions. It has also been deployed successfully at the Australian Synchrotron.
GitHub Repo

@MarcoMontevechi
Copy link

MarcoMontevechi commented Apr 4, 2022

We used succesfully a pcaspy IOC to controll an MCPS36 motor controller in Brazilian Synchrotron Light Laboratory. We chose to use pcaspy because the controller used commands with complex syntax and PVs which interacted with each other.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants