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  <20232024  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  <20232024 
<== Date ==> <== Thread ==>

Subject: Problem with PVA group def using .json file
From: Ignacio Arriagada via Tech-talk <tech-talk at aps.anl.gov>
To: tech-talk at aps.anl.gov
Date: Wed, 15 Mar 2023 16:50:51 -0700
Hello everyone,
I'm trying to configure a PVA group using a json file, but I get the following error:

#!/home/iarriagada/work/epics/ioc/cemSoftIoc/bin/linux-x86_64/cemSoftIoc
cd /home/iarriagada/work/epics/ioc/cemSoftIoc
epicsEnvSet("IOCSH_PS1","synch-dev-ioc> ")
## Register all support components
dbLoadDatabase("dbd/cemSoftIoc.dbd")
cemSoftIoc_registerRecordDeviceDriver(pdbbase)
## Load record instances
#dbLoadTemplate("db/cemSoftIoc.substitutions")
#dbLoadRecords("db/cemSoftIoc.db", "user=ignacioarriagada")
dbLoadRecords("db/cemSoftIoc.db", "top=synch:")
dbLoadGroup("db/cemSoftIoc.
json")
iocInit
Starting iocInit
############################################################################
## EPICS R7.0.7
## Rev. R7.0.7-dirty
## Rev. Date Git: 2022-09-07 13:50:35 -0500
############################################################################
synch:Page1: Error Group not created: NULL channel
synch:Page2: Error Group not created: NULL channel

iocRun: All initialization complete
## Start any sequence programs
#seq(sncxxx, "user=ignacioarriagada")
synch-dev-ioc>

The group is defined in cemSoftIoc.json as follows:

/* Define a PVAccess group outside of the .db file */
{
    "synch:Page2":{
        "Array":{"+channel":"synch:
CmplxData.VALA"},
        "Message":{"+channel":"synch:
CmplxData.VALB"},
        "Scale":{"+channel":"synch:Cmp
lxData.VALC"},
        "Power":{"+channel":"synch:
CmplxData.VALD"}
    },
    "synch:Page1":{
        "Array":{"+channel":"synch:
CmplxData.VALA"},
        "Message":{"+channel":"synch:
CmplxData.VALB"},
        "CountDown":{"+channel":"
synch:Data2.VAL"},
        "CountUp":{"+channel":"synch:
Data1.VAL"}
    }
}

And the database is defined in cemSoftIoc.db as follows:

#= database generated by tdct V2.18.6
#= on 2023-02-08 14:54
#= configuration file: ../tdct.cfg
#= (mode: Capfast compatibility)
record(calcout,"$(top)Data2") {
    field(DESC,"")
    field(ASG,"")
    field(SCAN,"Passive")
    field(PINI,"NO")
    field(PHAS,"")
    field(EVNT,"")
    field(DISV,"1")
    field(SDIS,"")
    field(DISS,"NO_ALARM")
    field(PRIO,"LOW")
    field(FLNK,"$(top)CmplxData.VAL")
    field(CALC,"A-B")
    field(INPA,"10")
    field(INPB,"$(top)Data1.VAL NPP NMS")
    field(INPC,"")
    field(OUT,"$(top)CmplxData.J NPP NMS")
    field(OOPT,"Every Time")
    field(ODLY,"")
    field(DOPT,"Use CALC")
    field(OCAL,"(A+B)>10?0:(A+B)")
    field(OEVT,"")
    field(IVOA,"Continue normally")
    field(IVOV,"")
    field(EGU,"")
    field(PREC,"")
    field(HOPR,"")
    field(LOPR,"")
    field(HIHI,"")
    field(LOLO,"")
    field(HIGH,"")
    field(LOW,"")
    field(HHSV,"NO_ALARM")
    field(LLSV,"NO_ALARM")
    field(HSV,"NO_ALARM")
    field(LSV,"NO_ALARM")
    field(HYST,"")
    field(ADEL,"")
    field(MDEL,"")
}
record(genSub,"$(top)CmplxData") {
    field(DESC,"Gemini General Subroutine Record")
    field(SCAN,"Passive")
    field(PINI,"NO")
    field(PHAS,"0")
    field(EVNT,"0")
    field(DISV,"1")
    field(PREC,"0")
    field(LFLG,"IGNORE")
    field(EFLG,"ALWAYS")
    field(SDIS,"0.0000000000000000e+00")
    field(DISS,"NO_ALARM")
    field(PRIO,"LOW")
    field(FLNK,"0.000000000000000e+00")
    field(SUBL,"0.0000000000000000e+00")
    field(BRSV,"NO_ALARM")
    field(INAM,"")
    field(SNAM,"Transmitter")
    field(UFA,"")
    field(UFB,"")
    field(UFC,"")
    field(UFD,"")
    field(UFE,"")
    field(UFF,"")
    field(UFG,"")
    field(UFH,"")
    field(UFI,"")
    field(UFJ,"")
    field(UFVA,"")
    field(UFVB,"")
    field(UFVC,"")
    field(UFVD,"")
    field(UFVE,"")
    field(UFVF,"")
    field(UFVG,"")
    field(UFVH,"")
    field(UFVI,"")
    field(UFVJ,"")
    field(FTA,"DOUBLE")
    field(FTB,"DOUBLE")
    field(FTC,"DOUBLE")
    field(FTD,"DOUBLE")
    field(FTE,"DOUBLE")
    field(FTF,"DOUBLE")
    field(FTG,"DOUBLE")
    field(FTH,"DOUBLE")
    field(FTI,"DOUBLE")
    field(FTJ,"DOUBLE")
    field(FTVA,"DOUBLE")
    field(FTVB,"STRING")
    field(FTVC,"DOUBLE")
    field(FTVD,"DOUBLE")
    field(FTVE,"DOUBLE")
    field(FTVF,"DOUBLE")
    field(FTVG,"DOUBLE")
    field(FTVH,"DOUBLE")
    field(FTVI,"DOUBLE")
    field(FTVJ,"DOUBLE")
    field(NOA,"1")
    field(NOB,"1")
    field(NOC,"1")
    field(NOD,"1")
    field(NOE,"1")
    field(NOF,"1")
    field(NOG,"1")
    field(NOH,"1")
    field(NOI,"1")
    field(NOJ,"1")
    field(NOVA,"5")
    field(NOVB,"1")
    field(NOVC,"1")
    field(NOVD,"1")
    field(NOVE,"1")
    field(NOVF,"1")
    field(NOVG,"1")
    field(NOVH,"1")
    field(NOVI,"1")
    field(NOVJ,"1")
    field(INPA,"0.000000000000000e+00")
    field(INPB,"0.000000000000000e+00")
    field(INPC,"0.000000000000000e+00")
    field(INPD,"0.000000000000000e+00")
    field(INPE,"0.000000000000000e+00")
    field(INPF,"0.0000000000000000e+00")
    field(INPG,"0.0000000000000000e+00")
    field(INPH,"0.0000000000000000e+00")
    field(INPI,"0.0000000000000000e+00")
    field(INPJ,"0.0000000000000000e+00")
    field(OUTA,"0.000000000000000e+00")
    field(OUTB,"0.000000000000000e+00")
    field(OUTC,"0.000000000000000e+00")
    field(OUTD,"0.000000000000000e+00")
    field(OUTE,"0.000000000000000e+00")
    field(OUTF,"0.000000000000000e+00")
    field(OUTG,"0.000000000000000e+00")
    field(OUTH,"0.000000000000000e+00")
    field(OUTI,"0.000000000000000e+00")
    field(OUTJ,"0.000000000000000e+00")
}
record(calcout,"$(top)Data1") {
    field(DESC,"")
    field(ASG,"")
    field(SCAN,"1 second")
    field(PINI,"NO")
    field(PHAS,"")
    field(EVNT,"")
    field(DISV,"1")
    field(SDIS,"")
    field(DISS,"NO_ALARM")
    field(PRIO,"LOW")
    field(FLNK,"$(top)Data2.VAL")
    field(CALC,"(A+B)>9?0:(A+B)")
    field(INPA,"1")
    field(INPB,"$(top)Data1.VAL NPP NMS")
    field(INPC,"")
    field(OUT,"$(top)CmplxData.H NPP NMS")
    field(OOPT,"Every Time")
    field(ODLY,"")
    field(DOPT,"Use CALC")
    field(OCAL,"(A+B)>10?0:(A+B)")
    field(OEVT,"")
    field(IVOA,"Continue normally")
    field(IVOV,"")
    field(EGU,"")
    field(PREC,"")
    field(HOPR,"")
    field(LOPR,"")
    field(HIHI,"")
    field(LOLO,"")
    field(HIGH,"")
    field(LOW,"")
    field(HHSV,"NO_ALARM")
    field(LLSV,"NO_ALARM")
    field(HSV,"NO_ALARM")
    field(LSV,"NO_ALARM")
    field(HYST,"")
    field(ADEL,"")
    field(MDEL,"")
}

I'm following the example mentioned by M Davidsaver here:

If I define the same groups within the database using the q:group definition it works without issues. But trying the json definition, it fails because of a null channel.

Thanks to all in advance!
Saludos,
Ignacio


Replies:
Re: Problem with PVA group def using .json file Michael Davidsaver via Tech-talk

Navigate by Date:
Prev: asyn R4-44-1 available Mark Rivers via Tech-talk
Next: Re: EPICS collaboration meeting - reminder Torsten Bögershausen 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  <20232024 
Navigate by Thread:
Prev: areaDetector documentation changes Mark Rivers via Tech-talk
Next: Re: Problem with PVA group def using .json file Michael Davidsaver 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  <20232024 
ANJ, 17 Mar 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·