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> 2025 | 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> 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re:Re: epics snmp |
From: | White via Tech-talk <tech-talk at aps.anl.gov> |
To: | "Priller, John" <priller at frib.msu.edu> |
Cc: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Thu, 14 Mar 2024 16:48:06 +0800 (CST) |
ENLOGIC-PDU-MIB::pduInputPhaseSTATUSVoltage.1.1 = INTEGER: 219
The value obtained with caget is 0, which does not match the actual value:
caget TEST:Voltage
TEST:Voltage 0
The db file is as follows:
record(ai,"$(DEV):Voltage")
{
field(DESC,"SNMP channel")
field(DTYP,"Snmp")
field(SCAN,".2 second")
field(PREC,"3")
field(INP,"@$(HOST) public $(MIB)::pduInputPhaseSTATUSVoltage.1.1 Float 100")
}
The mib file is as follows:
pduInputPhaseSTATUSVoltage OBJECT-TYPE
-- FROM ENLOGIC-PDU-MIB
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION "Returns the voltage, in Volts(V)"
::= { pduInputPhaseSTATUSEntry 6 }
At 2024-03-13 18:30:54, "Priller, John via Tech-talk" <tech-talk at aps.anl.gov> wrote:
It doesn't appear to be related to SNMP (that's my driver, if you need help with it), it looks like the issue is you're changing the EPICS_CA_SERVER_PORT in your st.cmd.
By default, caget is going to use port 5064. Do you also set an environment variable for this in the console you're running caget in?
To make doubly sure that your IOC does in fact have a TEST:Current record, what are the results of a "dbl" command in your IOC's shell? You can add the dbl command to the end of your st.cmd to check the output from that, if you're not running the IOC with an active shell under procServ or similar.
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of White via Tech-talk <tech-talk at aps.anl.gov>
Sent: Wednesday, March 13, 2024 4:44 AM
To: tech-talk at aps.anl.gov
Subject: epics snmp[EXTERNAL] This email originated from outside of FRIB
Hi,I'm trying to control the device using the SNMP protocol and the db file is as follows:
record(ai,"$(DEV):Current")
{
field(DESC,"SNMP channel")
field(DTYP,"Snmp")
field(SCAN,".2 second")
field(PREC,"3")
field(INP,"@$(HOST) public $(MIB)::pduInputPhaseSTATUSCurrent.1.1 Float 100")
}
The st.cmd file are as follows:
< envPaths
epicsEnvSet("EPICS_CA_SERVER_PORT", 6310)
epicsEnvSet("EPICS_PVA_SERVER_PORT", 6710)
epicsEnvSet("MIBDIRS", "+$(TOP)/mibs:/usr/local/share/snmp/mibs")
epicsEnvSet("IOCNAME","npdu")
cd "${TOP}"
## Register all support components
dbLoadDatabase "dbd/npdu.dbd"
npdu_registerRecordDeviceDriver pdbbase
devSnmpSetSnmpVersion(192.168.0.1:161,SNMP_VERSION_1)
devSnmpSetMaxOidsPerReq(192.168.0.1:161,50)
dbLoadRecords "db/dbpdux.db", "DEV=TEST, HOST=192.168.0.1, MIB=ENLOGIC-PDU-MIB"
cd "${TOP}/iocBoot/${IOC}"
iocInit
But there is an error:
caget TEST:Current
Channel connect timed out: 'TEST:Current' not found.
If there is no error in the DB, the device is not connected, is there an error in the st.cmd file?Thanks,White