Section 1 - Introduction Introduction Purpose The purpose of this document is to outline the generic RS485 multi-drop communication protocol for the GP200 Series Pressure-Based MFCs. Scope This protocol is intended to serve all digital MFCs. Only the following messages are supported: •...
Page 5
Section 1 - Introduction Query for Available Calibration Instances (Process Gases) - Master • controller will use this message to query available number of calibration instances. • Auto Zero Enable/Disable - Master controller will use this message to enable auto zero function. •...
Section 2 - Background Background Topology The controller acts as a Master device on an RS-485 multi-drop bus. It controls all transactions on the bus. The digital MFC controller (up to 31) acts as a slave device on an RS-485 multi-drop bus.
Section 2 - Background Message Format Messages on the bus are sent as packets with a fixed format, illustrated as the following diagram. Each packet begins with the target digital MFC controller MAC ID (address), an STX character (0x02), a service (command) code (0x80 for read and 0x81 for write), a packet length character, a variable identifier (consisting of Class ID, Instance ID, Attribute ID) and a data count between 0 to 2.
Page 8
Section 2 - Background Message Class ID Instance ID Attribute ID Query for MAC ID 0x03 0x01 0x01 Digital Mode Selection 0x69 0x01 0x03 Query for Present Control Mode 0x69 0x01 0x03 Freeze Follow 0x69 0x01 0x05 New Setpoint 0x69 0x01 0xA4 Ramp Time...
Section 3 - Message Protocol Details Message Protocol Details The following sub-sections describe in detail the supported messages. Query for MAC ID Master controller will use this message to query the existence of a MFC controller. Query message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read)
Page 10
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x04) Class ID(0x03) Instance ID(0x01) Attribute ID(0x01) MFC MAC ID Pad(0x00) Checksum...
Section 3 - Message Protocol Details Digital Mode Selection Master controller will use this message to set a MFC controller to digital or analog mode. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x04) Class ID(0x69) Instance ID(0x01) Attribute ID(0x03) Mode(1 –...
Section 3 - Message Protocol Details Query Present Control Mode Master controller will use this message to query the present control mode. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03) Class ID(0x69) Instance ID(0x01) Attribute ID(0x03) Pad(0x00) Checksum(0xF2)
Page 13
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0-Master Controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x04) Class ID(0x69) Instance ID(0x01) Attribute ID(0x03) Mode(1 – digital, 2 - analog) Pad(0x00) Checksum...
Section 3 - Message Protocol Details Freeze Follow Master controller will use this message to configure a MFC controller to act upon, or ignore, a new set point when received. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x04) Class ID(0x69) Instance ID(0x01)
Section 3 - Message Protocol Details New Setpoint Master controller will use this message to send a new set point to a MFC controller. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x05) Class ID(0x69) Instance ID(0x01) Attribute ID(0xA4) Data Byte#1(LSB)* Data Byte#2(MSB)*...
Section 3 - Message Protocol Details Ramp Time Master controller will use this message to send a ramp time to a MFC controller. The ramp time is how long the MFC controller should take to reach the final set point from the current set point. The unit is millisecond. A zero ramp time effectively disables the ramping.
Page 17
Installation and Operation Manual Query for Ramp Time Setting Master controller will use this message to query the ramp time setting Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03) Class ID(0x6A) Instance ID(0x01)
Page 18
Section 3 - Message Protocol Details Request message from Master controller to a digital MFC controller MAC ID (0 - controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x07) Class ID(0x6A) Instance ID(0x01) Attribute ID(0xA4) Data Byte #1(LSB) Data Byte #2(MSB) Reserved Byte #1 Reserved Byte #2 Pad(0x00)
Section 3 - Message Protocol Details Filtered Setpoint Master controller will use this message to get the current set point from a MFC controller. This is the current set point after ramping has been applied. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read)
Page 20
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x05) Class ID(0x6A) Instance ID(0x01) Attribute ID(0xA6) Data Byte #1(LSB)* Data Byte #2(MSB)* Pad(0x00) Checksum *See New Setpoint Conversion Table Pg.
Section 3 - Message Protocol Details Indicated Flow Master controller will use this message to get the current flow reading from a MFC controller. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03)
Page 22
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x05) Class ID(0x6A) Instance ID(0x01) Attribute ID(0xA9) Data Byte #1(LSB)* Data Byte #2(MSB)* Pad(0x00) Checksum *See New Setpoint Conversion Table Pg.
Section 3 - Message Protocol Details Valve Drive Current Master controller will use this message to get the valve drive current. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for re ad) Packet Length(0x03) Class ID(0x6A) Instance ID(0x01)
Page 24
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x05) Class ID(0x6A) Instance ID(0x01) Attribute ID(0xB6) Data Byte #1(LSB)* Data Byte #2(MSB)* Pad(0x00) Checksum % Valve Drive...
Page 25
Section 3 - Message Protocol Details Calibration Instance (Process Gas) Selection Master controller will use this message to select which calibration instance is to be used for flow metering. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x04) Class ID(0x66) Instance ID(0x00)
Section 3 - Message Protocol Details Query for Calibration Instance (Process Gas) Selection Master controller will use this message to query the selected calibration instance, which is currently being used for flow metering. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read)
Page 27
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x05) Class ID(0x66) Instance ID(0x00) Attribute ID(0x65) Calibration Instance ID(#) Reserved Byte Pad(0x00) Checksum...
Section 3 - Message Protocol Details Query for Available Calibration Instances (Process Gases) Master controller will use this message to query available number of calibration instances. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03)
Page 29
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x04) Class ID(0x66) Instance ID(0x00) Attribute ID(0xA0) Available # Of Calibration Instances Pad(0x00) Checksum...
Section 3 - Message Protocol Details Auto Zero Enable/Disable Master controller will use this message to enable auto zero function. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x04) Class ID(0x68) Instance ID(0x01) Attribute ID(0xA5) >0 for enable, = 0 for disable Pad(0x00) Checksum...
Section 3 - Message Protocol Details Requested Zero Enable Master controller will use this message to enable requested function. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x04) Class ID(0x68) Instance ID(0x01) Attribute ID(0xBA) 1 for enable Pad(0x00) Checksum...
Section 3 - Message Protocol Details Query for Requested Zero Status Master controller will use this message to query if the requested zero function has been completed. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03)
Page 33
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x04) Class ID(0x68) Instance ID(0x01) Attribute ID(0xBA) 0: completed, 1: in progress Pad(0x00) Checksum...
Section 3 - Message Protocol Details Query for Sensor Current Zero Master controller will use this message to query the current sensor zero offset. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03)
Page 35
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x07) Class ID(0x68) Instance ID(0x01) Attribute ID(0xA9) Data Byte #1(LSB) Data Byte #2(MSB) Reserved Byte #1 Reserved Byte #2 Pad(0x00)
Section 3 - Message Protocol Details Query for Sensor Reference Zero Master controller will use this message to query the sensor reference zero offset. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03)
Page 37
Section 3 - Message Protocol Details Response message from a digital MPC controller to Master controller MAC ID (0 – Master controller) STX(0x02) Command Code(0x80 for read) Packet Length(0x05) Class ID(0x68) Instance ID(0x01) Attribute ID(0xAA) Data Byte #1(LSB) Data Byte #2(MSB) Pad(0x00) Checksum...
Section 3 - Message Protocol Details Set Sensor Reference Zero Master controller will use this message to set sensor reference zero offset. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x05) Class ID(0x68) Instance ID(0x01) Attribute ID(0xAA) Data Byte#1(LSB) Data Byte#2(MSB) Pad(0x00)
Section 3 - Message Protocol Details Set Default Control Mode Master controller will use this message to set MFC control mode when first powered up. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x81 for write) Packet Length(0x04) Class ID(0x69) Instance ID(0x01) Attribute ID(0x04) Mode(1 –...
Section 3 - Message Protocol Details Query Default Control Mode Master controller will use this message to query the MFC wakeup control mode. MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03) Class ID(0x69) Instance ID(0x01) Attribute ID(0x04) Pad(0x00) Checksum (0xF3)
Page 41
Section 3 - Message Protocol Details message from Digital MFC controller to Master controller Response MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x04) Class ID(0x69) Instance ID(0x01) Attribute ID(0x04) Mode(1 – digital, 2 - analog) Pad(0x00) Checksum...
Section 3 - Message Protocol Details Query for Inlet Pressure Master Controller will use this message to query the current pressure transducer reading. Request message from Master controller to digital MFC controller MAC ID (Targeted MFC Controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03) Class ID(0x31) Instance ID(0x02)
Page 43
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master Controller MAC ID (0 – Master controller)) STX(0x02) Command Code(0x80 for read) Packet Length(0x05) Class ID(0x31) Instance ID(0x02) Attribute ID(0x06) Data Byte #1(LSB) Data Byte #2(MSB) Pad(0x00) Checksum Actual Pressure Reading (psia)
Section 3 - Message Protocol Details 3.22. Query for Temperature Master controller will use this message to query the current temperature reading. Request message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02) Command Code(0x80 for read) Packet Length(0x03) Class ID(0x31) Instance ID(0x03)
Page 45
Section 3 - Message Protocol Details Response message from a digital MFC controller to Master Controller MAC ID (0 – Master controller)) STX(0x02) Command Code(0x80 for read) Packet Length(0x05) Class ID(0x31) Instance ID(0x03) Attribute ID(0x06) Data Byte #1(LSB) Data Byte #2(MSB) Pad(0x00) Checksum Actual Temperature Reading (psia)
Section 4 - Software Design Requirement Software Design Requirement Normal Transaction Scenarios Read Transaction Scenario * If the slave controller does not receive any response within a reasonable time (18-20 character times) after sending a message, it behaves as though it received an ACK.
Section 4 - Software Design Requirement Write Transaction Scenario Abnormal Transaction Scenarios Read Transaction Scenario There are two different types of abnormal read transaction scenarios: packet error or read error within the MFC controller. Packet Error If the Class, Instance, or Attribute ID is invalid in the Read Request Packet, the digital MFC controller responds with a NAK(0x16) character.
Section 4 - Software Design Requirement Installation and Operation Manual X-DPT-RS485-GP200-Series-MFC-eng Part Number: 541B233 Brooks RS485 L-Protocol MFCs August 2021 Read Error If any errors occur within the MFC controller after the first ACK is sent (no packet errors), a NAK (0x16) will be sent to indicate an execution error.
Section 4 - Software Design Requirement Write Transaction Scenario There are two different types of abnormal write transaction scenarios: packet error or write error within the MFC controller. Packet Error If the Class, Instance, or Attribute ID is invalid in the Write Request Packet, the digital MFC controller responds with a NAK(0x16) character.
Section 4 - Software Design Requirement Protocol Timing Devices on the RS485 bus distinguish address characters from other packet characters by maintaining an idle timer. This timer is started at the end of each received character and expires if the next character does not arrive within two bytes times (20 bit times).
Section 4 - Software Design Requirement MFC New Setpoint Conversion The NewSetpoint request takes values in the range of 0x4000 to 0xC000 which represent set points between 0% and 100% full scale. The linear relationship between Full Scale set points and NewSetpoint is demonstrated in the following table: Full Scale % set point NewSetpoint Value(Hex)
Section 4 - Software Design Requirement Requested Zero When the requested zero command is issued by Master controller, the digital MFC controller should close the flow meter valve and wait until the sensor output is stabilized (typically 90 seconds). Then the requested zero function can be started and the SensorCurrentZero is to be updated through the entire process.
Section 4 - Software Design Requirement Calibration Instances Each calibration instance contains values needed by flow meter to calculate the actual gas flow rate for a particular process gas and flow range from sensor readings. This protocol allows Master controller to query for number of available calibration instances supported by the digital MFC controller and select a calibration instance for digital MFC operation and calculation.
Appendix - Tool - Device Communication Appendix: Tool - Device Communication MFC's can have software configurable MAC ID's by sending the "Set MAC ID" command to the current MFC controller address or the default address (0xFF). Master controller will use this message to set the MAC ID of a MFC. Set message from Master controller to a digital MFC controller MAC ID (Targeted MFC controller address) STX(0x02)
Page 56
BROOKS SERVICE AND SUPPORT Brooks is committed to assuring all of our customers receive the ideal flow solution for their application, along with outstanding service and support to back it up. We operate first class repair facilities located around the world to provide rapid response and support.
Need help?
Do you have a question about the GP200 and is the answer not in the manual?
Questions and answers