Can I use Modbus TCP to monitor and control a BL2600 via Cimplicity (or Wonderware, or any other third-party client)?
I have the Modbus and RabbitWeb add-on software and have gotten master and slave BL2600s to communicate, but what I really need is to interact with several slave BL2600s from third-party client software, i.e. Cimplicity, but Cimplicity doesn’t see my devices.
I run ModbusTCP on the OP7200 and the RCM3700 and have used several 3rd party masters to interface with these boards. One possible problem is that you have two masters on the network trying to talk to the slaves. The master slave nature Modbus would not support that situation.
If that is not your case, try redefining the DEBUG macro to turn on the printf features in the Modbus library.
Yep, you’re right; a slave cannot serve two masters! I had finally figured that out… oh well!
Now I need to know the modbus address mapping for the BL2600. Also, can I read/write memory registers in the BL2600 or just hardware I/O?
You can modify the Modbus_slave_bl26xx.LIB code to take any new Modbus address assigned to a variable in your code and either read or write the variable depending on the command received. You can link any number of variables to Modbus addresses and write code that will respond to commands that call that address. One example
int mbsRegOut (UINT16 OutRegNbr, int wValue)
*my_variable[OutRegNbr] = wValue; // an array of pointers to
//variables is convenient
Perfect! I’ve got it working now, thanks to your help!
i think the main problem is that the rabbit software is non reentrant, and as such the above is not possible. I had put in a feature request with Rabbit to add that to the lost of requested upgrades to the software