Unrelated to yesterdays issues, I commented out all channels but our new acromag XT1111 16 BIO card (IP 10.0.1.46). I've been trying to get the binary out channels working so that we can use these slightly cheaper cards in our FSS remote controls. It also frees up analog output channels for other uses. This is the block added to the .cmd startup file for the acromag server thing:
#### TEST XT1111 ####
drvAsynIPPortConfigure("c3BIN","10.0.1.46:502",0,0,1)
modbusInterposeConfig("c3BIN",0,5000,0)
drvModbusAsynConfigure("BIO_Reg_BINTEST","c3BIN",0,5,1,4,0,0,"Acromag")
###########################
I get no errors when I launch 'startAcromag' in a tmux session. However, when I try to configure a channel with the binary channel write out used for the XT1541 cards (8 analog out and 4 binary) a bunch of error 2s are thrown; this has something to do with the wrong register being accessed. The reason for a choice of 4 rather than sixteen for the number of channels is that, as Bram Slagmolen pointed out to us, the channels are single bits of a 16 bit word. This means that there are four register addresses each with four channels encoded in each word. In the setup we should therefore expect to define four drvModbusAsynConfigure commands for the XT1111 (or XT1112) cards each at a slightly different starting address.
I defined a binary out channel in the usual way
record(bo, "C3:PSL-BIN1_EN")
{
field(DTYP,"asynUInt32Digital")
field(OUT,"@asynMask(BIO_Reg_BINTEST, 0, 0x1)")
field(ZNAM,"OFF")
field(ONAM,"ON")
field(VAL,1)
field(SCAN, ".1 second")
}
but I get error 2 when I launch the startAcromag.
Problem not solved. I'm dropping this from my task list. |