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

Beckhoff/TC - AutoParamHandler snatching all asyn callbacks #7646

Closed
rerpha opened this issue Mar 1, 2023 · 2 comments
Closed

Beckhoff/TC - AutoParamHandler snatching all asyn callbacks #7646

rerpha opened this issue Mar 1, 2023 · 2 comments

Comments

@rerpha
Copy link
Contributor

rerpha commented Mar 1, 2023

we noticed that when motion setpoints was running alongside autoparamhandler, autoparamhandler was snatching all asyn callbacks but not checking whether or not it should be acting on them.

We added ISISComputingGroup/autoparamDriver@115c065 as a workaround, but there are still issues with this approach ie this will not work if there are 2 or more autoparamhandler instances as they'll act upon each others callbacks as the driver check will still pass.

This is an unlikely scenario, but as we have had some success with adsDriver/AutoParamHandler we should fix it.

@rerpha rerpha self-assigned this Apr 24, 2023
@rerpha
Copy link
Contributor Author

rerpha commented May 3, 2023

https://github.com/Cosylab/autoparamDriver/tree/stfc-integration the changes which check instance do fix this issue I believe. ONly issue is our version of epics base does not have makeAPIHeader.pl for the api header generation, so needs to be able to be backwards compatible with versions before epics v7.0.4

@rerpha
Copy link
Contributor Author

rerpha commented May 4, 2023

ISISComputingGroup/autoparamDriver#3

the above is to revert the patch we made, then apply the latest updates from the vendor which fix the issue permanently.

To review and test, checkout NDXSANDALS for example as it has motion setpoints loaded in by TC_01 (which is what was crashing the ioc before our patch), cd to C:\Instrument\Apps\EPICS\ioc\master\TC\iocBoot\iocTC-IOC-01 and run runIOC.bat and just check that you get to an IOC terminal. No need to actually connect to a real PLC here as the motion setpoints asyn callbacks should still happen and crash if this change does not work.

#7723

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

4 participants