Problems setting Bits in Modbus
After upgrading to the latest version of the Server, we are now having trouble using iFIX and being able to set the 15th bit in a register (these are existing pics that were working OK).
We have determined that if we manually set the bit in the PLC we can clear the bit using the existing display.
I suspect this is working some of the time and some of the time it is not. The tag in the TOP Server you are writing to is a Word. Writing a bit to this word is an iFIX function and would require a read of the word - masking the bit and writing back the whole word. It's very possible that a new read happens and sometimes interacts with the word write. I would be surprised if this wasn't happening some of the time with the older also. I would recommend actually configuring Tags in the TOP Server for these bits you have to write too as this will minimize the risk of the masked writes. This is always a challenge with a Modbus protocol which doesn't support a bit write functions, but letting the TOP Server deal with this instead of iFIX will minimize the risks as the timing will be more optimized.
Customer created new tags in TOP Server creating a bit position, changed the OPC client and changed iFIX database, the buttons are now working.
Example:
iFIX was writing to a bit for address 40020 and now it is writing to a tag in TOP Server that is addressed to 40020.15. Creating this tag in the Server causes the Server to read the 40020 address change the single 15th bit and write it back directly minimizing the potential of value changing between the read and the write time.