It is not necessary to set More Status Available (MSA) for all Command 48 bits, however, you must provide a process to set a bit in Command 48 that does cause the MSA to set. If we send that bit in Command 48, then the MSA must clear.


You must provide the steps for the test lab to trigger the Command 48 bit that sets MSA and then the Command 48/MSA relationship must follow the specifications. 


A field device MUST be able to set/clear the More Status Available bit, even if no Command 48 bits are used.  Even something as simple as disconnecting the sensor could be used to set the More Status Available bit.


Historically, control systems have polled HART field devices when the digital integration is supported.  Feedback from host developers indicated bottlenecks occurring at the control system I/O.   One challenge for I/O is determining how often to send Command 48 when More Status Available bit is set. Worse case scenario is every other command sent is Command 48 while the MSA bit is set.

 

HART 7 support for resetting the More Status Available bit allows an I/O system to only send Command 48 when it changes. In other words, set the MSA bit when the host should read Command 48 because it has changed since last time the host synchronized its values with the field device values.

 

To enable this, the field device must set the bit when any status changes AFTER the More Status Available bit is Reset. Both on 1->0 and 0->1 transitions. Only doing this allows the objective behind allowing the More Status Available bit to be reset be achieved.

 

 

Initial Values (MSA)
Initial Value (DSS) Event    Final Value (MSA) Final Value (DSS)
0 0 DSS is set (Something happened in the device) 
1 1
1 1 DSS is reset (DSS value same as last time MSA==0)
0 0
1 1 MSA is reset
(Means master has read Command 48including the correct status data in the request. 
Note: Without request bytes (backwards compatibility mode) the MSA would not be reset.)
0 1
0 1 DSS is reset (Device issue cleared) 
1 0
1 0 DSS is set (DSS value is same as last time MSA==0)
0 1
1 0 MSA is reset 
0 0

 


Regarding implementation of the MSA bit in device stack, there are 2 copies of the Command 48 bytes, in which "last time MSA==0" is saved for both masters (primary and secondary).

Calculate the MSA bit by comparing the current Command 48 values with these copies. If equal, MSA=0, if unequal, MSA=1.