Experimental Physics and
| |||||||||||||||
|
Good Morning,
I have an IOC that is currently reading registers via modbus rtu over rs485. There are a set of registers that store multiple configuration options in a single register. I set up the port using this line: > drvModbusAsynConfigure("Z8TC1_Config", "SenecaBus", 5, 6, 53, 4, "UINT16", 100, "SenecaZ") I've enabled the debugging lines on this IOC. When the IOC starts, I can see that the correct registers are being retrieved when the port is created. I can also write config changes to those registers at their assigned PV's with no issues that I have found. My issue is that the PV values aren't being updated when the IOC starts -- meaning that after the IOC start, the bo and mbbo values stored in that register don't match what was returned via the initial modbus request. Here are a couple of the DB entries that I'm using: record(bo,"$(P)$(R)-TC1_enable") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask($(PORT), 0, 0x8000 )") field(ZNAM,"Disabled") field(ONAM,"Enabled") } record(bo,"$(P)$(R)-TC2_enable") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask($(PORT), 0, 0x4000 )") field(ZNAM,"Disabled") field(ONAM,"Enabled") } record(bo,"$(P)$(R)-TC1-2_units") { field(DTYP,"asynUInt32Digital") field(OUT,"@asynMask($(PORT), 0, 0x2000 )") field(ZNAM,"tempDegC") field(ONAM,"mV") } Any help is appreciated. Dale Dale Cox Instrumentation and Electrical Engineer ACU NEXT Lab
| ||||||||||||||
ANJ, 15 Apr 2023 |
·
Home
·
News
·
About
·
Base
·
Modules
·
Extensions
·
Distributions
·
Download
·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing · |