Smartrak 100 Sierra Mass Flow Controller

I'm relatively new to modbus. I'm having trouble connecting with this MFC via a pro soft modbus RTU gateway. My plan in troubleshooting is to connect directly to my laptop and use casmod to see if I can connect. My question is, has anyone else dealt with this MFC and has any gotchas they found?
 
I'm not familiar with your specific MFC, but am very familiar with Modbus and working with Modbus devices.

Most Modbus RTU communication problems are caused by either incorrect wiring or incompatible communication settings. Therefore, I recommend checking the following.

Confirm the Supported Physical Layer (RS-232 or RS-485) and Protocol (Modbus or Proprietary ASCII)
From the SmartTrak 100 instruction manual, it seems the MFC may natively only support RS-232 and a proprietary ASCII protocol (refer to Appendix E). In order to add Modbus RTU and RS-485 capability, it seems you need the Compod module for the MFC. The rest of the suggestions will assume you have the Compod module and are using RS-485.

RS-485 Wiring
Manufacturers are inconsistent on A/B labeling, as there is no agreed upon convention for this. Some manufacturers use A as + and B as –, while others use A as – and B as +. It seems the Sierra Compod uses A for - and B for +. Try swapping the two data wires to see if that fixes the issue. Additionally, make sure you also include a 0V reference wire (a.k.a. ground, common, etc.) in addition to the + and - wires to ensure both devices share a common 0V reference for the + and - signals.

Communication Settings
Confirm that both devices are configured using the exact same communication settings, such as
  • Baud Rate
  • Parity
  • Number of Stop Bits
  • Modbus Slave Address

The default settings for the Compod are 19200 baud, Even parity, 1 Stop Bit, Slave Address 1 - 15 (depending on the COM1 ID pin settings or Internal ID if all COM1 ID pins are open).

Register Mapping/Numbering
Some manufacturers used 0-based register numbers, while others use 1-based. Some use reference notation that include a 40,000 offset indicating the register type (e.g. 40,000 is for Holding Registers, 30,000 is for Input Registers, etc.). It appears the Compod uses 5-digit reference notation. Additional details on this can be found here:
https://control.com/forums/threads/modbus-register-numbering.49844/

Start Simple When Testing
If you don't have successful communications, reduce your setup and limit yoru variables as much as possible. As you've already noted, using a computer with Modbus simulator software (such as ModScan, Simply Modbus, Modbus Poll, etc.) is a good first step. When doing this, reduce it down to a single register for which you know the expected value. For example, with the Compod, you can read Register 44100 (i.e. Holding Register 4100) to read the ID of the MFC.


If you continue having issues, please provide details on your wiring connections, communication settings, and what tests you've performed and the result, including any errors received.

Once you've established communications, the next step is to properly decode the values. The Compod uses 32-bit floating point values for many registers. This requires reading two consecutive (16-bit) Modbus registers, combining the values of both registers into a single 32-bit value, and interpreting it as an IEEE 754 floating point number. The Compod uses low word first word ordering for the two registers, so this would be CDAB order.
 
Top