EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
<== Date ==> <== Thread ==>

Subject: RE: mbbo fields don't match db definitions ???
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: John Dobbins <john.dobbins at cornell.edu>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 27 Jun 2024 21:44:57 +0000

Hi John,

 

  • Additional quirks:
  • TriggerSource = Software and TriggerMode = On produces no triggers.

 

When TriggerSource=Software and TriggerMode=On then you must manually generate software triggers by pressing the Software/Trigger button in the Trigger section of ADSpinnaker.  Each time you press that it will generate a software trigger.  Did you try that?

 

  • With extermal trigger selected (i.e. TriggerSource = Line0)  the AcquireTime and AcquirePeriod should be set to numbers smaller than those corresponding to the external trigger parameters. Otherwise the AcquireTime or AcquirePeriod settings will override the external trigger characteristics.

 

Yes, you need to set AcquireTime to be less than the time between trigger pulses, otherwise it will ignore the next trigger if it is still acquiring.  I am not sure I would call this a quirk, since the trigger just starts acquisition.  I think the sensible behavior is to ignore the next trigger if the acquisition is not complete.  AcquirePeriod is the same, if the next trigger arrives before the AcquirePeriod has expired it is ignored.

 

  • SP1:cam1:NumImages  can't be set to 1.  The lowest value I can set it to appears to be 2.   Do you know what thi sis about?

 

The FLIR cameras set a minimum value of 2 when the camera is in Multiple mode.  If you want to use 1 then you need to use Single mode instead.

 

Mark

 

 

From: John Dobbins <john.dobbins at cornell.edu>
Sent: Thursday, June 27, 2024 9:29 AM
To: Mark Rivers <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov
Subject: Re: mbbo fields don't match db definitions ???

 

Mark,

 

Thanks for your patience.  By using the Phoebus displays, where I see the changes in enums immediately, it is clearer what is happening.

 

Switching between software and external trigger modes works fine until one changes  ExposureMode to TriggerWidth

 

Then TriggerMode -> N.A.  and the TriggerSource choices 'Software' and 'Line1' disappear,

 

However, changing ExposureMode back to Timed, the TriggerMode and TriggerSources reappear.

 

Working with the MEDM screens obscured this.  

 

Additional quirks:

TriggerSource = Software and TriggerMode = On produces no triggers.

With extermal trigger selected (i.e. TriggerSource = Line0)  the AcquireTime and AcquirePeriod should be set to numbers smaller than those corresponding to the external trigger parameters. Otherwise the AcquireTime or AcquirePeriod settings will override the external trigger characteristics.

 

John

 


From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Wednesday, June 26, 2024 3:09 PM
To: John Dobbins <john.dobbins at cornell.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: RE: mbbo fields don't match db definitions ???

 

John,

 

Your output on the right lists TriggerMode as “Not available”.  I believe that is because the camera is currently acquiring, and you cannot change that feature while it is acquiring.  If you stop acquisition does TriggerMode become “Available”?  If so, once it is Available can you change it to “Off” and see if the enums for TriggerSource change?

 

Mark

 

 

From: John Dobbins <john.dobbins at cornell.edu>
Sent: Wednesday, June 26, 2024 1:14 PM
To: Mark Rivers <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov
Subject: Re: mbbo fields don't match db definitions ???

 

Mark,

 

Below are the enum values for TriggerSource and TriggerMode as read by asynReport.  The left column shows the enums after a Factory reset.  I then select TriggerSource = Line0 and TriggerMode = On [both are required to make externa l trigger work]  after which the enums take on the values on the right.  There doesn't seem to be a way to undo the external trigger choice.

 

I tried an older FLIR GigE camera (13S2M) and it does not have this behavior.

 

John

 

      Node name: TriggerSource

          value: Software

      asynIndex: 100

       asynName: GC_TRIGGER_SOURCE

       asynType: 1

  isImplemented: true

    isAvailable: true

     isReadable: true

     isWritable: true

          enums: 31: Software

                 0: Line0

                 2: Line2

                 3: Line3

                 4: UserOutput0

                 5: UserOutput1

                 6: UserOutput2

                 7: UserOutput3

                 12: Counter0Start

                 13: Counter1Start

                 16: Counter0End

                 17: Counter1End

                 20: LogicBlock0

                 21: LogicBlock1

      Node name: TriggerSource

          value: Line0

      asynIndex: 100

       asynName: GC_TRIGGER_SOURCE

       asynType: 1

  isImplemented: true

    isAvailable: true

     isReadable: true

     isWritable: true

          enums: 0: Line0

                 2: Line2

                 3: Line3

                 4: UserOutput0

                 5: UserOutput1

                 6: UserOutput2

                 7: UserOutput3

                 12: Counter0Start

                 13: Counter1Start

                 16: Counter0End

                 17: Counter1End

                 20: LogicBlock0

                 21: LogicBlock1

      Node name: TriggerMode

          value: Off

      asynIndex: 302

       asynName: GC_E_TriggerMode

       asynType: 1

  isImplemented: true

    isAvailable: true

     isReadable: true

     isWritable: true

          enums: 0: Off

                 1: On

      Node name: TriggerMode

          value: Not available

      asynIndex: 302

       asynName: GC_E_TriggerMode

       asynType: 1

  isImplemented: true

    isAvailable: false

     isReadable: false

     isWritable: false

          enums: 0: N.A.

 

 

 


From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Wednesday, June 26, 2024 1:51 PM
To: John Dobbins <
john.dobbins at cornell.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: RE: mbbo fields don't match db definitions ???

 

Hi John,

 

  • As I am using MEDM, I have to restart MEDM to see that this is happened. 

 

Another way to see the enum choices is with this iocsh command:

 

asynReport 2 SP1

 

where SP1 is the name of the camera port driver.  That will produce a complete list of all the camera features with full details in alphabetical order.  For enum records it prints the currently valid choices.  You will need to scroll back in the output to find the feature you are interested in.   Here is an example of TriggerSource for a FLIR BlackFlyS camera:

 

      Node name: TriggerSource

          value: Software

      asynIndex: 97

       asynName: GC_TRIGGER_SOURCE

       asynType: 1

  isImplemented: true

    isAvailable: true

     isReadable: true

     isWritable: true

          enums: 31: Software

                 0: Line0

                 2: Line2

                 3: Line3

                 4: UserOutput0

                 5: UserOutput1

                 6: UserOutput2

                 7: UserOutput3

                 12: Counter0Start

                 13: Counter1Start

                 16: Counter0End

                 17: Counter1End

                 20: LogicBlock0

                 21: LogicBlock1

                 27: Action0

 

I should add an iocsh command to print the information for a single feature, avoiding the need for lots of scrolling, e.g.

 

genicamShowFeature TriggerSource

 

  • Once I restart MEDM, I don't see a way to get back to software trigger.

 

Does setting TriggerMode=Off do it?

 

  • Can you point me to a script to start phoebus with the needed substitutions and paths to the other areaDetector opi screens?

 

The way I do it for both Phoebus and medm is to run a script that copies all the files from the support/ tree into a single directory.  Then I can just open the top-level screen in that directory and it finds all of the other screens.

 

This is the script for Phoebus.  It copies the files to both /home/epics/bob on the Linux machine and also to a Windows server, cars5:/Users/epics/bob.

 

[epics@viper bin]$ more sync_bobs

cars5dir=/home/epics/cars5/Users/epics

cars5bobdir=$cars5dir/bob/

bobdir=/home/epics/bob/

 

bobpath='/home/epics/support'

 

find $bobpath -name '*.bob' -exec cp -f -p {} $bobdir \;

 

# copy to cars5

if [ -e $cars5bobdir ] && [ -d $cars5bobdir ] ; then

    echo 'copying bob files to ' $cars5bobdir

    cp -pr $bobdir $cars5bobdir/.

else

    echo 'cannot find cars5 directory'

fi 

 

 

Mark

 

 

 

 

From: John Dobbins <john.dobbins at cornell.edu>
Sent: Wednesday, June 26, 2024 10:13 AM
To: Mark Rivers <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov; John Dobbins <john.dobbins at cornell.edu>
Subject: Re: mbbo fields don't match db definitions ???

 

Mark,

 

More clarity - once I put the camera in external trigger mode, the menu choices change.  As I am using MEDM, I have to restart MEDM to see that this is happened.  Once I restart MEDM, I don't see a way to get back to software trigger.

 

Can you point me to a script to start phoebus with the needed substitutions and paths to the other areaDetector opi screens?

 

John


From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of John Dobbins via Tech-talk <tech-talk at aps.anl.gov>
Sent: Wednesday, June 26, 2024 11:00 AM
To: Mark Rivers <
rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: mbbo fields don't match db definitions ???

 

Mark,

 

I have found that I can reproducibly get things into a strange state by exiting the IOC while the camera is using an external trigger. I will continue to investigate.

 

John


From: John Dobbins <john.dobbins at cornell.edu>
Sent: Friday, June 21, 2024 7:43 PM
To: Mark Rivers <
rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: mbbo fields don't match db definitions ???

 

Mark,

 

I did a Factory Reset on the camera and deleted settings in autosave. This got the camera back to the state I expected.  I will proceed carefully.

 

Thanks,

 

John


From: John Dobbins <john.dobbins at cornell.edu>
Sent: Friday, June 21, 2024 5:40 PM
To: Mark Rivers <
rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: Re: mbbo fields don't match db definitions ???

 

Thanks Mark. I shall investigate. John


From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Friday, June 21, 2024 5:30:37 PM
To: John Dobbins <
john.dobbins at cornell.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: RE: mbbo fields don't match db definitions ???

 

  • Previously, 'Software' was a trigger choice.  So something in the camera changed so that this is not now a choice?

 

Yes, I think some other parameter in the camera has changed so that software is no longer a valid choice.

 

Note that at run-time you actually have 2 fewer choices than in the template file.  The template file has 15 choices, i.e. TTxx (13) and FTxx (14) are valid.  But at run-time TTxx and FTxx are not valid.

 

It appears that the missing (invalid) entries are Software and Line1.

 

Mark

 

 

From: John Dobbins <john.dobbins at cornell.edu>
Sent: Friday, June 21, 2024 4:21 PM
To: Mark Rivers <rivers at cars.uchicago.edu>; tech-talk at aps.anl.gov
Subject: Re: mbbo fields don't match db definitions ???

 

Mark,

 

Previously, 'Software' was a trigger choice.  So something in the camera changed so that this is not now a choice?

 

John

 


From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Friday, June 21, 2024 5:17 PM
To: John Dobbins <
john.dobbins at cornell.edu>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: RE: mbbo fields don't match db definitions ???

 

John,

 

What you are seeing is completely normal.

 

The template file is created by the Python script using the camera’s XML file.  That XML file contains all possible choices for each enum.  However, not all of those choices are necessarily available at run time, depending on the camera state.  The enum choices in the record at run-time are dynamic, based on which choices are actually available for the current camera configuration.

 

Note that with older OPIs like medm you will need to close and re-open the window to see the new enum choices. On newer OPIs like Phoebus the enum choices update in the display when they are changed without needing to close and re-open the window.

 

Mark

 

 

From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of John Dobbins via Tech-talk
Sent: Friday, June 21, 2024 4:10 PM
To: tech-talk at aps.anl.gov
Subject: mbbo fields don't match db definitions ???

 

All,

 

I am using a FLIR camera with base-7.0.6, areaDetector-R3-13, ADGeniCam-R1-9, ADSpinnake-R3-5 on Alma 9.

 

This IOC has been running normally but after a restart of the IOC I am seeing a strange problem I have not encountered before. On start-up the IOC loads an mmbo record from FLIR_BFS_U3_161S7M.template but the fields in the instantiated record don't match the database file. [ this doesn't appear to be the only affected record ]

 

The instantiated record has 13 states where I expect 14. The first state has been lost and all the others are shifted down one with respect to the definition in the template file.

 

I could imagine the record being over-written later by another db file. I don't see how that would come about when it was ok previously. Is there a way to tell if this is happening?

 

Any thoughts,

 

John Dobbins

 

Research Support Specialist

Cornell High Energy Synchrotron Source

Cornell University

 

www.chess.cornell.edu

 

 

 

 

dbLoadRecords("/nfs/chess/epics/det/support_flir/areaDetector-R3-13/ADGenICam/db/FLIR_BFS_U3_161S7M.template", "P=BFS1:,R=cam1:,PORT=SP1") 

 

 

epics> dbpr BFS1:cam1:GC_TriggerSource 4                                                                                                             [0/376]

ACKS: NO_ALARM      ACKT: YES           AMSG:               ASG :                                                          

ASP : PTR (nil)     BKLNK: ELL 0 [(nil) .. (nil)]           BKPT: 00                                                       

COSV: NO_ALARM      DESC:               DISA: 0             DISP: 0                                                        

DISS: NO_ALARM      DISV: 1             DOL : CONSTANT 31   DPVT: PTR 0x53c4dc0                                            

DSET: PTR 0x7f9ca58af220                DTYP: asynInt32     EIST: Counter1Start                                            

EISV: NO_ALARM      EIVL: 0xd           ELST: LogicBlock0   ELSV: NO_ALARM                                                 

ELVL: 0x14          EVNT:               FFST:               FFSV: NO_ALARM                                                 

FFVL: 0x0           FLNK: CONSTANT      FRST: UserOutput1   FRSV: NO_ALARM                                                 

FRVL: 0x5           FTST:               FTSV: NO_ALARM      FTVL: 0x0                                                      

FVST: UserOutput2   FVSV: NO_ALARM      FVVL: 0x6                                                                          

IVOA: Continue normally                 IVOV: 0             LALM: 0                                                        

LCNT: 0             LSET: PTR 0x45da5d0 MASK: 4294967295                                                                   

MLIS: ELL 0 [(nil) .. (nil)]            MLOK: a0 51 71 04 00 00 00 00                                                      

MLST: 0             NAME: BFS1:cam1:GC_TriggerSource        NAMSG:                                                         

NIST: Counter0End   NISV: NO_ALARM      NIVL: 0x10          NOBT: 0                                                        

NSEV: NO_ALARM      NSTA: NO_ALARM      OLDSIMM: NO         OMSL: supervisory                                              

ONST: Line2         ONSV: NO_ALARM      ONVL: 0x2           ORAW: 0                                                        

ORBV: 0             OUT : INST_IO @asyn(SP1,0,1)GC_E_TriggerSource                                                         

PACT: 0             PHAS: 0             PINI: NO            PPN : PTR (nil)                                                

PPNR: PTR (nil)     PRIO: LOW           PROC: 0             PUTF: 0                                                        

RBV : 0             RDES: PTR 0x22fcdb0 RPRO: 0                                                                            

RSET: PTR 0x7f9ca571d260                RVAL: 0             SCAN: Passive                                                  

SDEF: 1             SDIS: CONSTANT      SDLY: -1            SEVR: NO_ALARM                                                 

SHFT: 0             SIML: CONSTANT      SIMM: NO            SIMPVT: PTR (nil)                                              

SIMS: NO_ALARM      SIOL: CONSTANT      SPVT: PTR (nil)     SSCN: <nil>                                                    

STAT: NO_ALARM      SVST: Counter0Start SVSV: NO_ALARM      SVVL: 0xc                                                      

SXST: UserOutput3   SXSV: NO_ALARM      SXVL: 0x7           TEST: Counter1End                                              

TESV: NO_ALARM      TEVL: 0x11          THST: UserOutput0   THSV: NO_ALARM                                                 

THVL: 0x4           TIME: 2024-06-21 15:16:03.150013012     TPRO: 0                                                        

TSE : 0             TSEL: CONSTANT      TTST:               TTSV: NO_ALARM                                                 

TTVL: 0x0           TVST: LogicBlock1   TVSV: NO_ALARM      TVVL: 0x15                                                     

TWST: Line3         TWSV: NO_ALARM      TWVL: 0x3           UDF : 0                                                        

UDFS: INVALID       UNSV: NO_ALARM      UTAG: 0             VAL : 0                                                        

ZRST: Line0         ZRSV: NO_ALARM      ZRVL: 0x0

 

 

 

record(mbbo, "$(P)$(R)GC_TriggerSource") {

  field(DTYP, "asynInt32")

  field(OUT,  "@asyn($(PORT),$(ADDR=0),$(TIMEOUT=1))GC_E_TriggerSource")

  field(DOL,  "31")

  field(ZRST, "Software")

  field(ZRVL, "31")

  field(ONST, "Line0")

  field(ONVL, "0")

  field(TWST, "Line1")

  field(TWVL, "1")

  field(THST, "Line2")

  field(THVL, "2")

  field(FRST, "Line3")

  field(FRVL, "3")

  field(FVST, "UserOutput0")

  field(FVVL, "4")

  field(SXST, "UserOutput1")

  field(SXVL, "5")

  field(SVST, "UserOutput2")

  field(SVVL, "6")

  field(EIST, "UserOutput3")

  field(EIVL, "7")

  field(NIST, "Counter0Start")

  field(NIVL, "12")

  field(TEST, "Counter1Start")

  field(TEVL, "13")

  field(ELST, "Counter0End")

  field(ELVL, "16")

  field(TVST, "Counter1End")

  field(TVVL, "17")

  field(TTST, "LogicBlock0")

  field(TTVL, "20")

  field(FTST, "LogicBlock1")

  field(FTVL, "21")

  field(DISA, "0")

}

 

 

 

 

 


References:
mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
RE: mbbo fields don't match db definitions ??? Mark Rivers via Tech-talk
Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
RE: mbbo fields don't match db definitions ??? Mark Rivers via Tech-talk
Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
RE: mbbo fields don't match db definitions ??? Mark Rivers via Tech-talk
Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
RE: mbbo fields don't match db definitions ??? Mark Rivers via Tech-talk
Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk

Navigate by Date:
Prev: RE: Errors during building of asyn package Mark Rivers via Tech-talk
Next: RE: Errors during building of asyn package Mark Rivers via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
Navigate by Thread:
Prev: Re: mbbo fields don't match db definitions ??? John Dobbins via Tech-talk
Next: compatibility of dotnet package with EPICS 7.0.8 Tiziano Niero via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  <2024
ANJ, 27 Jun 2024 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·