It was my mistake.
I was returning 1 each time execute python code, which was reflected in the VAL field of ao record. Now VAL value has been returned in the python code.
The problem has been resolved.
Hi,
I have developed IOC using PyDevice. The ao recored works functionally with python code., but VAL field remain 1 and RVAL change according to the PV set value. is any additional setting required in the IOC / record field / python code?
epics> dbpf PHASE_SHIFT:CHANNELA 2
DBF_DOUBLE: 2
epics> Channel 48 is set value - 2.0
dbpr PHASE_SHIFT:CHANNELA 4
ACKS: NO_ALARM ACKT: YES ADEL: 0 ALST: 1
AMSG: AOFF: 0 ASG : ASLO: 0
ASP : PTR (nil) BKLNK: ELL 0 [(nil) .. (nil)] BKPT: 00
DESC: DISA: 0 DISP: 0 DISS: NO_ALARM
DISV: 1 DOL : CONSTANT DPVT: PTR 0xaaab18f63890
DRVH: 0 DRVL: 0 DSET: PTR 0xffff8c4a6a90
DTYP: pydev EGU : EGUF: 0 EGUL: 0
EOFF: 0 ESLO: 1 EVNT: FLNK: CONSTANT
HHSV: NO_ALARM HIGH: 0 HIHI: 0 HOPR: 0
HSV : NO_ALARM HYST: 0 INIT: 0
IVOA: Continue normally IVOV: 0 LALM: 1
LBRK: 0 LCNT: 0 LINR: NO CONVERSION LLSV: NO_ALARM
LOLO: 0 LOPR: 0 LOW : 0
LSET: PTR 0xaaab18f5b790 LSV : NO_ALARM MDEL: 0
MLIS: ELL 0 [(nil) .. (nil)] MLOK: 80 de f5 18 ab aa 00 00
MLST: 1 NAME: PHASE_SHIFT:CHANNELA NAMSG:
NSEV: NO_ALARM NSTA: NO_ALARM OIF : Full OLDSIMM: NO
OMOD: 0 OMSL: supervisory ORAW: 2 ORBV: 0
OROC: 0 OUT : INST_IO @device1.setv('channel_A', (VAL))
OVAL: 2 PACT: 0 PBRK: PTR (nil) PHAS: 0
PINI: NO PPN : PTR (nil) PPNR: PTR (nil) PREC: 0
PRIO: LOW PROC: 0 PUTF: 0 PVAL: 2
RBV : 0 RDES: PTR 0xaaab18e11da0 ROFF: 0
RPRO: 0 RSET: PTR 0xffff8c353610 RVAL: 2
SCAN: Passive SDIS: CONSTANT SDLY: -1 SEVR: NO_ALARM
SIML: CONSTANT SIMM: NO SIMPVT: PTR (nil) SIMS: NO_ALARM
SIOL: CONSTANT SPVT: PTR (nil) SSCN: <nil> STAT: NO_ALARM
TIME: 2024-05-24 11:41:38.967049007 TPRO: 0 TSE : 0
TSEL: CONSTANT UDF : 0 UDFS: INVALID UTAG: 0
VAL : 1
epics>
Thanks
Vishnu