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:CmplxData.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