Hi all.
I'm using modbusAsyn with an mbboDirect record. At IOC init time, the
record correctly reads back from the modbus server (a Moxa Digital IO
box, but that doesn't seem relevant). This accomplishes initialization
of the .VAL field of the mbboDirect record, as expected. However, I
think that for this record type, the initialization should also be
applied to the input fields of the record. The basis for this is that
when the record subsequently processes due to a write/put to an input
field, the record will then re-compose the word to write on its OUT
link. Since the input bits will not have been initialized, they will go
out to the respective hardware bits as zeros, overwriting what was there
at startup.
I've already had a brief dialog with Eric Norum and mark rivers on
this subject, and at least two possible courses have been mentioned.
One is to initialize the mbboDirect at the record level, and another
(which I've already tried quickly; seems to work) at the asyn level
(devAsynUInt32Digital.c).
Is there anyone using this record type who thinks that changing the
record behavior to initialize the input bits 'Bx' from RVAL would
adversely affect their existing work? Any other records that may also
benefit from changes?
Thanks.
Rod Nussbaumer
ISAC Controls, TRIUMF
Vancouver, Canada