epics-modules / optics

APS BCDA synApps module: optics
http://epics-modules.github.io/optics/
Other
1 stars 3 forks source link

fb_epid: I/O Intr not valid (no DSET) #10

Open prjemian opened 3 years ago

prjemian commented 3 years ago

from https://github.com/prjemian/epics-docker/issues/43

after iocInit: PV: xxx:epid1:outpv scanAdd: I/O Intr not valid (no DSET)

The code in the fb_epid.db database has this:

grecord(sseq, "$(P):outpv") {
        field(DESC, "follow OUT PV name")
        field(SCAN, "I/O Intr")
        field(DOL1, "$(P):out.OUTN")
        field(DLY1, "0")
        field(LNK1, "$(P):resume.INBN")
}

The SCAN field is triggering the message above.

timmmooney commented 3 years ago

This is the expected result of setting the SCAN field of a sseq record to "I/O Intr". I/O Intr scanning requires device support that has implemented code described here: https://epics.anl.gov/base/R3-14/12-docs/AppDevGuide/node18.html#12357. The sseq record has no device support that I know of.

Tim Mooney @.***) (630)252-5417 Beamline Controls Group (www.aps.anl.gov) Advanced Photon Source, Argonne National Lab


From: Pete R Jemian @.> Sent: Thursday, May 13, 2021 3:58 PM To: epics-modules/optics @.> Cc: Subscribed @.***> Subject: [epics-modules/optics] fb_epid: I/O Intr not valid (no DSET) (#10)

from prjemian/epics-docker#43https://github.com/prjemian/epics-docker/issues/43

after iocInit: PV: xxx:epid1:outpv scanAdd: I/O Intr not valid (no DSET)

The code in the fb_epid.dbhttps://github.com/epics-modules/optics/blob/master/opticsApp/Db/fb_epid.db database has this:

grecord(sseq, "$(P):outpv") { field(DESC, "follow OUT PV name") field(SCAN, "I/O Intr") field(DOL1, "$(P):out.OUTN") field(DLY1, "0") field(LNK1, "$(P):resume.INBN") }

The SCAN field is triggering the message above.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/epics-modules/optics/issues/10, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABT6PF7BMRQYR5BUNKIMETTTNQ4NTANCNFSM443HTLTA.

MarkRivers commented 2 years ago

Note that the swait record in that database also have SCAN=I/O Intr. Is that also an error?

How did this database ever work?

Should these lines all be deleted so that it defaults to SCAN=PASSIVE?

keenanlang commented 1 year ago

From the comments in the code, it appears that the intended function would be to set

$(P):outpv.SCAN = PASSIVE

and

$(P):out.FLNK = "$(P):outpv PP"
prjemian commented 1 year ago

I could try to test this in my simulation IOC by modifying the database locally.

prjemian commented 1 year ago

Looks as if this fb_epid support is ripe for an overhaul. We could compare with current use at 33ID.

prjemian commented 1 year ago

Could be tested by constructing a temperature controller simulation. Here's an example of that using an swait record (as setup for bluesky):

        calcs.calc8.reset()  # remove any prior configuration
        self.description.put("temperature")
        self.report_dmov_changes.put(report_dmov_changes)
        self.previous_value_pv.put(self.readback.pvname)
        if setpoint is not None:
            self.setpoint.put(setpoint)
            self.readback.put(setpoint)
        self.noise.put(noise)
        self.max_change.put(max_change)
        self.tolerance.put(tol)
        self.scanning_rate.put(rate)  # 1 second
        self.calculation.put("A+max(-D,min(D,(B-A)))+C*(RNDM-0.5)")
prjemian commented 1 year ago

Also, there's no button for fb_epid.adl on the XXX green button screen. $(P)epid1

prjemian commented 1 year ago

Could be tested by constructing a temperature controller simulation.

Indeed: such simulation is noted in the database: https://github.com/epics-modules/optics/blob/fdf5bc3c2731ba6769b62e71628fe3018c8245e3/opticsApp/Db/fb_epid.db#L236-L270

prjemian commented 1 year ago

Time for an overhaul of the fb_epid support.