For BSAP networks, whenever any RTU within
the BSAP network is disconnected, the whole Channel (and all the
units connected to it) are rendered offline. This is because of the
Channel Offline message which is returned to Citect.
There may be some abnormal behaviour when an RTU which resides
under the Master RTU is disconnected. When a tag is read from
Citect, the driver returns Channel Offline to Citect, and the whole
channel and all the units connected to this channel goes offline.
However, after sometime, InitChannel is called, which returns
Channel Online as the Master RTU is still connected through serial
cable. The next time a tag is then read form the disconnected Unit,
it is set offline again by the driver because the read is
unsuccessful. Then the cycle of OnLine / Offline is continued. This
should have been prevented if an OpenBSI API function were
available to check the "health" of a slave unit in the InitUnit
function. There is NONE available, so we could only check it's
health when a read / or write request is received from Citect.
|