Please email any comments and bug reports to Kevin Peterson
Record Name | Record Type | Purpose |
$(P)$(R):activeCalc | calcout | delayDo.st monitors activeCalc and starts the delay timer when activeCalc's output transitions to zero. |
$(P)$(R):doSeq | sseq | doSeq is the output of the delayDo support. It is processed by delayDo.st when the delay timer expires. |
$(P)$(R):standbyCalc | calcout | delayDo.st monitors standbyCalc and enters the standby state when standbyCalc's output transitions to a non-zero value. |
$(P)$(R):enable | bo | Allows delayDo.st to be put into a disabled state. |
$(P)$(R):delay | ao | The amount of time in seconds to wait from transition out of the active state until the doSeq is processed. |
$(P)$(R):delayCalc | calcout | (OPTIONAL) Allows the calculation of the delay period if the delay depends on other PVs |
$(P)$(R):state | stringout | Contains the current state of delayDo.st |
$(P)$(R):debug | longout | Allows enabling debug messages on the IOC console by setting to a non-zero value (higher numbers generate more messages) |
file "$(TOP)/xxxApp/Db/delayDo.db" { pattern { P, R, SB_INPA, SB_INPB, SB_INPC, SB_INPD, SB_INPE, SB_INPF, SB_INPG, SB_CALC, A_INPA, A_CALC, D_STR1, D_LNK1, DELAY} {xxx:, m1, "aaa:scan1.FAZE CP", "bbb:scan1.FAZE CP", "ccc:scan1.FAZE CP", "ddd:scan1.FAZE CP", "eee:scan1.FAZE CP", "xxx:scan1.FAZE CP", "xxx:m1_able.VAL CP", "A||B||C||D||E||F||G", "xxx:m1.DMOV CP NMS", "!A", "1", "xxx:m1.STOP CA", 4.0} {xxx:, m2, "aaa:scan1.FAZE CP", "bbb:scan1.FAZE CP", "ccc:scan1.FAZE CP", "ddd:scan1.FAZE CP", "eee:scan1.FAZE CP", "xxx:scan1.FAZE CP", "xxx:m2_able.VAL CP", "A||B||C||D||E||F||G", "xxx:m2.DMOV CP NMS", "!A", "1", "xxx:m2.STOP CA", 4.0} {xxx:, m3, "aaa:scan1.FAZE CP", "bbb:scan1.FAZE CP", "ccc:scan1.FAZE CP", "ddd:scan1.FAZE CP", "eee:scan1.FAZE CP", "xxx:scan1.FAZE CP", "xxx:m3_able.VAL CP", "A||B||C||D||E||F||G", "xxx:m3.DMOV CP NMS", "!A", "1", "xxx:m3.STOP CA", 4.0} {xxx:, m4, "aaa:scan1.FAZE CP", "bbb:scan1.FAZE CP", "ccc:scan1.FAZE CP", "ddd:scan1.FAZE CP", "eee:scan1.FAZE CP", "xxx:scan1.FAZE CP", "xxx:m4_able.VAL CP", "A||B||C||D||E||F||G", "xxx:m4.DMOV CP NMS", "!A", "1", "xxx:m4.STOP CA", 4.0} {xxx:, m5, "aaa:scan1.FAZE CP", "bbb:scan1.FAZE CP", "ccc:scan1.FAZE CP", "ddd:scan1.FAZE CP", "eee:scan1.FAZE CP", "xxx:scan1.FAZE CP", "xxx:m5_able.VAL CP", "A||B||C||D||E||F||G", "xxx:m5.DMOV CP NMS", "!A", "1", "xxx:m5.STOP CA", 4.0} {xxx:, m6, "aaa:scan1.FAZE CP", "bbb:scan1.FAZE CP", "ccc:scan1.FAZE CP", "ddd:scan1.FAZE CP", "eee:scan1.FAZE CP", "xxx:scan1.FAZE CP", "xxx:m6_able.VAL CP", "A||B||C||D||E||F||G", "xxx:m6.DMOV CP NMS", "!A", "1", "xxx:m6.STOP CA", 4.0} }
file "$(TOP)/xxxApp/Db/delayDo.db" { pattern { P, R, SB_INPA, SB_CALC, A_INPA, A_CALC, D_STR1, D_LNK1, T_INPA, T_INPB, T_INPC, T_CALC } {xxx:, delayDo1, "xxx:cam1:ImageMode CP", "A=1", "xxx:cam1:DetectorState_RBV CP", "A!=1", "0", "xxx:cam1:Acquire CA", "xxx:cam1:AcquireTime CP", "xxx:cam1:AcquirePeriod CP", "xxx:cam1:NumImages CP", "MAX(A,B)*C+3" } }