202 lines
8.1 KiB
Plaintext
202 lines
8.1 KiB
Plaintext
using DTS.Common.Enums.Sensors;
|
|
using System;
|
|
using DTS.Common.Enums;
|
|
using DTS.Common.Classes.Sensors;
|
|
using DTS.Common.Interface.Sensors.SoftwareFilters;
|
|
|
|
namespace DTS.Common.Interface.Sensors.SensorsList
|
|
{
|
|
/// <summary>
|
|
/// this interface is used to describe objects used to represents sensors for UI purposes
|
|
/// </summary>
|
|
public interface IAnalogSensor
|
|
{
|
|
/// <summary>
|
|
/// bridge mode of the sensor in question
|
|
/// </summary>
|
|
SensorConstants.BridgeType Bridge { get; set; }
|
|
/// <summary>
|
|
/// indicates if the sensor is Integrated Electronics Piezo-Electric (IEPE)
|
|
/// </summary>
|
|
bool IEPE { get; }
|
|
/// <summary>
|
|
/// id in the database if available
|
|
/// only positive values are valid
|
|
/// </summary>
|
|
int DatabaseId { get; set; }
|
|
/// <summary>
|
|
/// used to indicate that the sensor should be checked if in a list
|
|
/// with a checkbox
|
|
/// </summary>
|
|
bool Included { get; set; }
|
|
/// <summary>
|
|
/// serial number of the sensor
|
|
/// </summary>
|
|
string SerialNumber { get; set; }
|
|
/// <summary>
|
|
/// description or comment of the sensor
|
|
/// </summary>
|
|
string Description { get; set; }
|
|
/// <summary>
|
|
/// the maker of the sensor
|
|
/// </summary>
|
|
string Manufacturer { get; set; }
|
|
/// <summary>
|
|
/// the model of the sensor
|
|
/// </summary>
|
|
string Model { get; set; }
|
|
/// <summary>
|
|
/// the current capacity or desired range of the sensor in EU
|
|
/// in general this value refers to maximum capacity, however
|
|
/// in some contexts this can refer to desired range instead
|
|
/// </summary>
|
|
double Capacity { get; set; }
|
|
/// <summary>
|
|
/// an arbitrary EU value for range for the sensor
|
|
/// </summary>
|
|
double RangeHigh { get; set; }
|
|
/// <summary>
|
|
/// an arbitrary EU value for medium range for the sensor
|
|
/// </summary>
|
|
double RangeMedium { get; set; }
|
|
/// <summary>
|
|
/// an arbitrary EU value for the low range for the sensor
|
|
/// </summary>
|
|
double RangeLow { get; set; }
|
|
/// <summary>
|
|
/// a user display friendly string representation of the sensor's sensitivity
|
|
/// this is suitable for tables and user display
|
|
/// </summary>
|
|
string Sensitivity { get; set; }
|
|
/// <summary>
|
|
/// in the case of dual sensitivity sensors, this is a string
|
|
/// user friendly representation of the second calibration
|
|
/// </summary>
|
|
string AddedSensitivity { get; set; }
|
|
/// <summary>
|
|
/// resistance in ohms of the sensor
|
|
/// </summary>
|
|
double Resistance { get; set; }
|
|
/// <summary>
|
|
/// a user friendly representation of the supported excitations
|
|
/// of the sensor
|
|
/// </summary>
|
|
string Excitation { get; set; }
|
|
/// <summary>
|
|
/// the engineering units of the sensor
|
|
/// usually obtained from the most recent calibration
|
|
/// </summary>
|
|
string Units { get; set; }
|
|
/// <summary>
|
|
/// Electronic ID associated with the sensor, if any
|
|
/// </summary>
|
|
string EID { get; set; }
|
|
/// <summary>
|
|
/// the last (most recent) calibration date for the sensor
|
|
/// </summary>
|
|
DateTime CalDate { get; set; }
|
|
/// <summary>
|
|
/// the date the sensor is due for calibration
|
|
/// </summary>
|
|
DateTime CalDueDate { get; set; }
|
|
/// <summary>
|
|
/// the user that last modified the sensor or calibration
|
|
/// </summary>
|
|
string ModifiedBy { get; set; }
|
|
/// <summary>
|
|
/// the date the sensor or calibration was last modified
|
|
/// </summary>
|
|
DateTime LastModified { get; set; }
|
|
/// <summary>
|
|
/// returns true if the sensor matches the filter criteria
|
|
/// </summary>
|
|
/// <param name="term"></param>
|
|
/// <returns></returns>
|
|
bool Filter(string term);
|
|
/// <summary>
|
|
/// used to indicate if the sensor has been assigned to a channel
|
|
/// </summary>
|
|
bool Assigned { get; set; }
|
|
/// <summary>
|
|
/// used to indicate if the sensor is online or not
|
|
/// </summary>
|
|
bool Online { get; set; }
|
|
/// <summary>
|
|
/// the isocode associated with the sensor
|
|
/// this is the default isocode for the sensor when assigned to a new blank channel
|
|
/// </summary>
|
|
string ISOCode { get; set; }
|
|
/// <summary>
|
|
/// the isochannel name associated with the sensor
|
|
/// this is the default user channel name for the sensor when assigned to a new blank channel
|
|
/// </summary>
|
|
string ISOChannelName { get; set; }
|
|
/// <summary>
|
|
/// the user code associated with the sensor
|
|
/// this is the default user code for the sensor when assigned to a new blank channel
|
|
/// </summary>
|
|
string UserCode { get; set; }
|
|
/// <summary>
|
|
/// the user channel name associated with the sensor
|
|
/// this is the default user channel name for the sensor when assigned to a new blank channel
|
|
/// </summary>
|
|
string UserChannelName { get; set; }
|
|
/// <summary>
|
|
/// the channel filter class (CFC) associated with the sensor
|
|
/// this is the default CFC for the sensor when assigned to a new blank channel
|
|
/// </summary>
|
|
Enums.Sensors.FilterClassType CFC { get; set; }
|
|
/// <summary>
|
|
/// indicates whether the sensor output should be inverted or not
|
|
/// this is the default polarity for the sensor when assigned to a new blank channel
|
|
/// </summary>
|
|
bool Polarity { get; set; }
|
|
/// <summary>
|
|
/// indicates what the type of nonlinear calculation is used for this sensor as a string
|
|
/// </summary>
|
|
string NonLinearCalculationType { get; set; }
|
|
/// <summary>
|
|
/// indicates what the type of nonlinear calculation is used for this sensor, as an enum
|
|
/// </summary>
|
|
NonLinearStyles NonLinearCalculationTypeEnum { get; set; }
|
|
/// <summary>
|
|
/// indicates what the type of software zero method is used for this sensor
|
|
/// </summary>
|
|
Enums.Sensors.ZeroMethodType ZeroMethod { get; set; }
|
|
/// <summary>
|
|
/// If ZeroMethod is Average over Time, indicates the start time
|
|
/// </summary>
|
|
double ZeroMethodStart { get; set; }
|
|
/// <summary>
|
|
/// If ZeroMethod is Average over Time, indicates the end time
|
|
/// </summary>
|
|
double ZeroMethodEnd { get; set; }
|
|
string UserValue1 { get; set; }
|
|
string UserValue2 { get; set; }
|
|
string UserValue3 { get; set; }
|
|
UIItemStatus SensorCalibrationOrUsageStatus { get; }
|
|
InitialOffset[] InitialOffsets { get; set; }
|
|
//FB 13120 define filter class
|
|
IFilterClass FilterClass { get; set; }
|
|
/// <summary>
|
|
/// Date of first use (null value indicates not set)
|
|
/// only valid when using latest calibration (as indicated by UsingLatestCalibration and LatestCalibrationId)
|
|
/// 13065 Sensor "First Use" Date
|
|
/// </summary>
|
|
DateTime? FirstUseDate { get; set; }
|
|
/// <summary>
|
|
/// latest calibration id for sensor, null indicates not set
|
|
/// 13065 Sensor "First Use" Date
|
|
/// </summary>
|
|
int? LatestCalibrationId { get; set; }
|
|
/// <summary>
|
|
/// whether the sensor is using the latest calibration (as indicated by calibration id)
|
|
/// 13065 Sensor "First Use" Date
|
|
/// </summary>
|
|
bool UsingLatestCalibration { get; set; }
|
|
int SensorUsageCount { get; set; }
|
|
int MaximumUsage { get; set; }
|
|
string AssemblyName { get; set; }
|
|
}
|
|
}
|