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

Recommended simulation EPICS IOC to test EpicsMotor #1210

Open
mguijarr opened this issue Sep 18, 2024 · 4 comments
Open

Recommended simulation EPICS IOC to test EpicsMotor #1210

mguijarr opened this issue Sep 18, 2024 · 4 comments

Comments

@mguijarr
Copy link
Collaborator

mguijarr commented Sep 18, 2024

What is the recommended simulation IOC to test EpicsMotor in Ophyd ?

I mean, to have a realistic behaviour, with real timings etc ?

I just gave a try to https://github.com/epics-motor/motorMotorSim . It does not seem to be very compatible,
since I have errors like:

epics> CA.Client.Exception...............................................
    Warning: "User specified timeout on IO operation expired"
    Context: "ca_search_and_connect"
    Source File: ../motorUtil.cc line 210
    Current Time: Wed Sep 18 2024 11:39:45.496673122
..................................................................
motorUtil.cc: getChID(IOC:moving.VAL) error: 80
CA.Client.Exception...............................................
    Warning: "User specified timeout on IO operation expired"
    Context: "ca_search_and_connect"
    Source File: ../motorUtil.cc line 210
    Current Time: Wed Sep 18 2024 11:40:45.496969230
..................................................................
motorUtil.cc: getChID(IOC:alldone.VAL) error: 80
CA.Client.Exception...............................................
    Warning: "User specified timeout on IO operation expired"
    Context: "ca_search_and_connect"
    Source File: ../motorUtil.cc line 210
    Current Time: Wed Sep 18 2024 11:41:45.497185065
..................................................................
motorUtil.cc: getChID(IOC:movingDiff.VAL) error: 80
Failed to connect to IOC:moving or IOC:alldone or IOC:movingDiff.
Check prefix matches Db

On the client side, asking for .position blocks forever (for example).

@coretl
Copy link
Collaborator

coretl commented Oct 29, 2024

I would suggest using https://github.com/epics-containers/ioc-motorsim

Docs on how to run it are part of the framework tutorials: https://epics-containers.github.io/main/tutorials.html

@coretl
Copy link
Collaborator

coretl commented Oct 29, 2024

Although I don't know if the alldone and moving PVs are present in the demo. It might need motorUtil.db loading...

@mguijarr
Copy link
Collaborator Author

Thanks for the help @coretl 👍🏻

I will check this asap

@jwlodek
Copy link
Member

jwlodek commented Oct 31, 2024

The linked motorSim should work, I've used it to test ophyd devices in the past, I think you might just be missing motorUtil.db as mentioned above.

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

No branches or pull requests

3 participants