IviDmm Behavior Model
The following state diagram shows relationships between the IviDmm base capability group and DMM behavior.
IviDmmBase Behavior Model
The main state in the IviDmm Class is the Idle state. The DMM enters the Idle state when it is powered-on, when it successfully completes a measurement, or when you abort a previous measurement with the IviDmm_Abort function. Typically, you configure the DMM while it is in the Idle state. IviDmm attributes can be configured individually with the IviDmm_SetAttribute function or with the high-level IviDmm_ConfigureMeasurement function.
The IviDmm_Read and IviDmm_Initiate functions cause the DMM to leave the Idle state and transition to the Wait-For-Trigger state. The IviDmm_Read function does not return until the measurement process is complete and the DMM has returned to the Idle state. The IviDmm_Initiate function returns as soon as the DMM leaves the Idle state.
The DMM leaves the Wait-For-Trigger state when it receives a trigger event. The type of trigger event is specified by the attribute IVIDMM_ATTR_TRIGGER_SOURCE.
After the specified trigger event occurs, the DMM waits the amount of time specified by the attribute IVIDMM_ATTR_TRIGGER_DELAY and then takes a measurement. The type of measurement is specified by the attributes IVIDMM_ATTR_FUNCTION, IVIDMM_ATTR_RANGE, and IVIDMM_ATTR_RESOLUTION_ABSOLUTE.
If you set the IVIDMM_ATTR_FUNCTION attribute to a value that requires an extension capability group, the attributes of that capability group further configure the measurement.
After the measurement is taken, the DMM (if it is capable of doing so) generates the Measurement Complete signal and returns to the Idle state.
The IviDmm base capability group does not require that a DMM be able to generate a Measurement Complete signal. The Base Capabilities State Diagram defines when the Measurement Complete signal is generated. Most DMMs generate this signal but may not be able to configure it.
The IviDmm_Fetch function is used to retrieve measurements that were initiated by the IviDmm_Initiate function. The measurement data returned from the IviDmm_Read andIviDmm_Fetch functions are acquired after the DMM has left the Wait-For-Trigger state.