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

Keyence LK-G: make reading offset and measurement mode configurable #7376

Closed
5 tasks
Tom-Willemsen opened this issue Sep 22, 2022 · 1 comment
Closed
5 tasks

Comments

@Tom-Willemsen
Copy link
Contributor

Tom-Willemsen commented Sep 22, 2022

Where?

As an instrument scientist on reflectometers (especially INTER), I would like to be able to disable the Keyence LK-G IOC from attempting to read the offset.

In order to read the offset & measurement modes, the IOC puts the device into "setup" mode, reads the offset, and then puts it back into "measure" mode. The scientists believe that this changing between modes is sometimes causing delays in reading the position, which they believe might have lead to a beamline alingment problem (?).

How?

Make the SCAN for offsets user-configurable - either by an IOC macro or by an autosaved dropdown selection (see e.g. instron for user-configurable scan rates). Scan options should be "5 second" or "Passive".

The OPI should clearly indicate that the offset & measure mode parameters are not scanning - or perhaps hide it entirely - if it is configured not to scan.

Acceptance criteria

  • As a user, I can choose to make the Keyence LK-G not scan the OFFSET parameter.
    • This means that the device no longer flicks between "measure" and "setup" modes
  • As a user, I can choose to make the Keyence LK-G scan the OFFSET parameter.
  • As above but for both measurement mode parameters (should use the same option)
  • There are IOC tests for the above

How to Test

verbose instructions for reviewer to test changes
(Add before making a PR)

@Tom-Willemsen Tom-Willemsen changed the title Keyence LK-G: make reading offset configurable Keyence LK-G: make reading offset and measurement mode configurable Sep 22, 2022
@Tom-Willemsen
Copy link
Contributor Author

This has been patched on INTER. For avoidance of doubt the patch applied is:

diff --git a/keylkg.db.bak b/keylkg.db
index f33c652..74a0e24 100644
--- a/keylkg.db.bak
+++ b/keylkg.db
@@ -59,7 +59,7 @@ record(mbbi, "$(P)MEASUREMODE:HEAD:A")
 {
     field(DESC, "Current measurement mode for head A")
     field(DTYP, "stream")
-    field(SCAN, "2 second")
+    field(SCAN, "Passive")
 
     field(INP, "@keylkg.proto getMeasureModeHeadA($(P),ERROR) $(PORT)")
 
@@ -102,7 +102,7 @@ record(mbbi, "$(P)MEASUREMODE:HEAD:B")
 {
     field(DESC, "Current measurement mode for head B")
     field(DTYP, "stream")
-    field(SCAN, "2 second")
+    field(SCAN, "Passive")
 
     field(INP, "@keylkg.proto getMeasureModeHeadB($(P),ERROR) $(PORT)")
 
@@ -173,7 +173,7 @@ record(ai, "$(P)OFFSET:OUTPUT:1")
 {
     field(DESC, "Current Offset for signal: output 1")
     field(DTYP, "stream")
-    field(SCAN, "2 second")
+    field(SCAN, "Passive")
     field(PREC, "4")
     field(EGU, "")
 
@@ -216,7 +216,7 @@ record(ai, "$(P)OFFSET:OUTPUT:2")
 {
     field(DESC, "Current Offset for signal: output 2")
     field(DTYP, "stream")
-    field(SCAN, "2 second")
+    field(SCAN, "Passive")
     field(PREC, "4")
     field(EGU, "")
 

But this ticket should provide a better solution than just blanket-disabling SCAN for these commands

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

3 participants