Files
DP44/Common/DTS.CommonCore/.svn/pristine/26/26d1ab180eb2da548b5e36978ce0a5a26edfcb88.svn-base

199 lines
8.0 KiB
Plaintext
Raw Normal View History

2026-04-17 14:55:32 -04:00
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 SensorCalibrationStatus { 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; }
}
}