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

GUI: Spectra OPIs in DAE not always connecting #7216

Closed
1 task
ThomasLohnert opened this issue Jul 5, 2022 · 7 comments
Closed
1 task

GUI: Spectra OPIs in DAE not always connecting #7216

ThomasLohnert opened this issue Jul 5, 2022 · 7 comments

Comments

@ThomasLohnert
Copy link
Contributor

ThomasLohnert commented Jul 5, 2022

As a user of the IBEX client, I would like to be able to see all spectra plots on the DAE immediately when I open the relevant tab.

POLREF have reported a bug where currently, some or all of the spectra OPIs show as disconnected initially. The workaround they have used is to keep resetting the layout until all plots have successfully connected.

Not sure if this has been observed anywhere else, please comment if you can confirm or deny whether this is a problem on other beamlines

Acceptance Criteria

What is the acceptance criteria?

  • Spectra plot OPI reliably connects on first try

How to Test

@ThomasLohnert is this easily reproducible (on POLREF)? Otherwise more a test it doesn't make things worse.

  • caget %MYPVPREFIX%DAE:SPEC:1:1:Y.STAT and caget %MYPVPREFIX%DAE:SPEC:1:1:Y.UDF will not work before PR but will afterwards
  • GUI panel does not show disconnected spectra or pink border
  • you can set var isisdaePCASDebug 1 in the isisdae IOC console window and it will print a message each time an update timer expires, a spectra pv is updated (scanned), and interest (basically a camonitor) happens to a PV. You should only see expiring timers for items being monitored, a caget on an unmonitored PV will just print a "doscan" message to console. Previously there would have been a lot of unnecessary scans on items that were no longer of "interest", but you would need to back port a few print statements to show this.
  • it is hard to reproduce the original issue, it may require a slower computer than most developers desktops
  • There is an additional path to get a pink border on a plot that happens if the Mode: (cound/us or counts) box doesn't get created properly (it looks blank). This is a separate GUI issue and not covered in this ticket.
@FreddieAkeroyd
Copy link
Member

May be fixed when issue with dae caching too many spectra is resolved

@JackEAllen
Copy link
Member

Check if restarting IOC speeds things up.

@davidkeymer
Copy link
Contributor

@FreddieAkeroyd will check whether or not a ticket exists for the issue mentioned in his comment above.

@FreddieAkeroyd
Copy link
Member

Trying to remove old PVs/spectra looks a bit messy, however though memory can get a bit large it is not the biggest issue. The failing to connect may be due to there being too many slow scan timer loops left running after a scan, so have attempted to improve the performance of this

  • Do not slow scan PVs that are not being monitored
  • Reduce scan rate on fixed pvs that do not change

In addition, i have occasionally seen a pink border arounf a plot so also tried

  • Remove alarm level limits on axis PVs
  • Add SEVR STAT and UDF fields to data arrays (though not sure if GUI accesses these)

@LilithCole
Copy link
Contributor

Happy with the changes once I got my head around them, but my server has fallen over at some point so I'm rebuilding in order to check it actually runs. Sadly not going to be ready before review/retro at this point, but pretty much certain it'll go straight to review complete

@FreddieAkeroyd FreddieAkeroyd removed the 5 label Sep 7, 2022
@LilithCole
Copy link
Contributor

Seems to be working (or at least not breaking on my machine), only issue is that I'm unable to check the extra logging, getting this error when attempting to change debug level:
image

@FreddieAkeroyd
Copy link
Member

FreddieAkeroyd commented Sep 9, 2022

Did you rebuild your isisdae-ioc-01 ioc after rebuilding support\isisdae ? The variable is defined in isisdae.dbd so would need an ioc rebuild to pick up

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

6 participants