Success Stories #15

Open
xiaoqiangwang opened this Issue May 8, 2015 · 6 comments

Comments

Projects
None yet
1 participant
@xiaoqiangwang
Collaborator

xiaoqiangwang commented May 8, 2015

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

@xiaoqiangwang

This comment has been minimized.

Show comment
Hide comment
@xiaoqiangwang

xiaoqiangwang May 8, 2015

Collaborator

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.

Collaborator

xiaoqiangwang commented May 8, 2015

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

This comment has been minimized.

Show comment
Hide comment
@xiaoqiangwang

xiaoqiangwang May 8, 2015

Collaborator

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.

Collaborator

xiaoqiangwang commented May 8, 2015

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

This comment has been minimized.

Show comment
Hide comment
@xiaoqiangwang

xiaoqiangwang May 8, 2015

Collaborator

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

Collaborator

xiaoqiangwang commented May 8, 2015

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

This comment has been minimized.

Show comment
Hide comment
@xiaoqiangwang

xiaoqiangwang May 8, 2015

Collaborator

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

Collaborator

xiaoqiangwang commented May 8, 2015

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

This comment has been minimized.

Show comment
Hide comment
@xiaoqiangwang

xiaoqiangwang May 8, 2015

Collaborator

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

Collaborator

xiaoqiangwang commented May 8, 2015

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

This comment has been minimized.

Show comment
Hide comment
@xiaoqiangwang

xiaoqiangwang May 8, 2015

Collaborator

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.

Collaborator

xiaoqiangwang commented May 8, 2015

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.

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