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

Bug fix and new function for Control Loop #25

Merged
merged 2 commits into from
Mar 12, 2024
Merged

Conversation

guirodrigueslima
Copy link
Contributor

@guirodrigueslima guirodrigueslima commented Mar 11, 2024

Hello @kmpeters, how are you?

I'm submitting some improvements that were made with Augusto Yoshio Horita in the Control Loop. These improvements include some optimizations, bug fixes and new functions such as AnalogInput, Over Flow, On-Targer and Error. These improvements have been running on the Carnauba beamline at Sirius/CNEPM for over a year and have already prevented collision accidents in the past.

Three new PVs were added (Analog Target Input, On-Target and Over Flow). Furthermore, a bug was observed where only the PID configurations for axis 1 were working, so the PIasynAxis::createCLParams() function was removed from the loop and now createParam() is instantiated only once in PIasynController::PIasynController( ), the values are defined by the ADDR variable of each respective axis.

The PV LAST_ERR was removed from PI_SupportCtrl.db, as this database only works for controllers with a coordinate system. The PV was added to the PI_SupportError,db file and a new PV was also created to clear the last CLEAR_ERR error.

I'm currently working on the C-887 controller for hexapod to support based on Work and Tool Coordinate system, but first I want to bring these new improvements in control loop.

Thanks.

- Bug fix in PID control function. Now all axes work correctly.
- New format in the declaration of the PI_SupportCL.db file, allowing individual axes to be created.
- New PV's OverFlow and On-Target features have been added to protect equipment.
- New PV clear the last error.
- Function PIasynAxis::createCLParams() was removed, now the address (ADDR) is passed in the PI_SupportCL.db file,
  now the parameters are instantiated once at controller initialization, following the asyn module pattern.
@kmpeters kmpeters merged commit 60af8bd into epics-motor:master Mar 12, 2024
0 of 3 checks passed
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

Successfully merging this pull request may close these issues.

2 participants