Is anyone using ModBusMaster() to poll a Modbus RTU device using a CR1000 and a SDM-SIO1? It's unclear if this is supported or not. The revision history for the CR1000 states that Modbus support has been added for the SDM-SIO1, but the Compatibility tab on the SDM-SIO1 webpage states that Modbus is not supported.
Can anyone share their code if they are not using ModBusMaster()? My poll commands (which contain null characters) are requesting a few 32-bit float values stored in consecutive 16-bit holding registers. Thanks in advance.
CR1000 (Rev. 26, #43; Rev. 25, #42)
https://www.campbellsci.com/70_103
SDM-SIO1
http://www.campbellsci.com/sdm-sio1-compatibility
* Last updated by: MatthewBoyd on 9/26/2013 @ 2:11 PM *
That combination will now support MODBUS both in slave and master mode.
However, if you wish to change the baud rate/bit/parity settings away from the default you will need to wait for the next logger OS release.
For SDM-SIO1 you also need the very latest OS which we are just releasing and will appear in the download section of this website any day soon. That OS corrects a problem with sometimes losing NULL bytes on receipt of MODBUS data.
Thank you.
OS 27 for the CR800/1000/3000 and OS 6 for the SDM-SIO1 are now available in our downloads section. Here's an example program.
Public MBresult, MBvar(2)
BeginProg
'configure sdm-sio1, sdm address 0 (comport 32)
'for rs485 half duplex 8/N/1 (format 48) at 9600 baud rate
SerialOpen (32,9600,48,0,50)
Scan (20,Sec,0,0)
'modbus query over sdm-sio1
ModbusMaster (MBresult,32,9600,1,4,MBvar,1,1,3,100,0)
NextScan
EndProg
Works great now, thanks!