Is there an easy way to benchmark Modbus/TCP comms? With MxX, you trigger the box with NOT SP116, so you can count transactions by counting SP116 or NOT SP116, but with TCP the ECxX IBox pretty much manages itself, and you no longer have the status bit to count. If the comms are mostly successful, not sure if the success bit drops between each successful transaction, or long enough to guarantee being able to count it, or if it just stays true continuously till there's a failed transaction.
If one end were a PC, you could run Wireshark or other port spy, and count the transactions that way, but when one end is a PLC and one end is an instrument, that's not an option. You could plug in with a PC and listen on the wire, but it would have to be passive (i.e. not talking to the PLC on one port and echoing out another port to the instrument) because acting as a relay would change performance. If you could find a hub, that should work, but even the $15 units these days are switches and won't "burden" the PC with knowledge of what the PLC and instrument are saying to each other.
When both ends of the transaction are PLC's, you can add logic that increments a register every transaction, even if you have no transaction flag per se. For example, if PLC 1 is the master, you read a range of registers from PLC 2. You take one of the read registers and add 1, and place it in one of the write registers. Then when PLC 2 receives the write, if they're not in fact the same register, it moves the incremented value over to the register where it will be read the next time. So you can watch the value of that register over time and get an average transaction speed.
Anyone already know how to do this or have any ideas?