gsf
gsf copied to clipboard
PI Adapter Improvements
Added new SkipAnalogAlternateTagSync, defaults to true, i.e., use point-tag name instead. This is important since default analog alt-tag matches field device label, which not always desirable as a PI tag name.
Added ReplaceValues, defaults to false, i.e., do not replace duplicates,
See new and related properties below:
/// <summary>
/// Gets or sets flag that determines if tag synchronization should skip digitals when alternate tag
/// field is being used.
/// </summary>
public bool SkipDigitalAlternateTagSync { get; set; } /* default: true */
/// <summary>
/// Gets or sets flag that determines if tag synchronization should skip analogs when alternate tag
/// field is being used.
/// </summary>
public bool SkipAnalogAlternateTagSync { get; set; } /* default: true */
/// <summary>
/// Gets or sets the flag that determines if compression will be used during archiving when compression
/// is configured for tag. If disabled, configured tag compression and ReplaceValues setting are ignored.
/// </summary>
public bool UseCompression { get; set; } /* default: true */
/// <summary>
/// Gets or sets flag that determines if existing PI values should be replaced when UseCompression
/// is enabled.
/// </summary>
public bool ReplaceValues { get; set; } /* default: false */
/// <summary>
/// Gets or sets the flag that determines if the compression enabled state should be added to tags if
/// none already exists.
/// </summary>
public bool AddTagCompressionState { get; set; } /* default: false */
/// <summary>
/// Gets or sets the defined compression deviations for data types used when UpdateExistingTagCompressionState
/// is enabled. Use format "DataType=Deviation,DataType=Deviation,...". Default is:
/// <c>IPHM=0.1,IPHA=0.001,VPHM=10,VPHA=0.001,FREQ=0.0001,DFDT=0.0001,ALOG=0.001,*=0.001</c>
/// </summary>
public string CompDevDataTypeMap { get; set; }
Added ArchiveFilterDataTypes which gets or sets the data types to archive. Value of * (or empty string) means all values archived, a value of DIGI means only archive digital values. Separate multiple values with a comma, for example: DIGI,VPHM,FREQ:
/// <summary>
/// Gets or sets the data types to archive. Value of <c>*</c> (or empty string) means all values archived,
/// <c>DIGI</c> means only archive digital values. Separate multiple values with a comma, for example:
/// <c>DIGI,VPHM,FREQ</c>.
/// </summary>
public string ArchiveFilterDataTypes { get; set; } /* default: "*" */
Added ArchiveOnChangeDataTypes which gets or sets the data types to only archive on data change. Empty string value means all values archived, '*' means archive all values on change, 'DIGI' means only archive digital values on change, Separate multiple values with a comma, for example: DIGI,VPHM,FREQ:
/// <summary>
/// Gets or sets the data types to only archive on change. Empty string value means all values archived,
/// <c>*</c> means archive all values on change, <c>DIGI</c> means only archive digital values on
/// change. Separate multiple values with a comma, for example: <c>DIGI,VPHM,FREQ</c>.
/// </summary>
public string ArchiveOnChangeDataTypes { get; set; } /* default: "" */
The following properties are related to expanding status and/or digital words into OSI PI digital state sets for compatibility with the IEEE C37.118 Interface for PI, which supports such features:
/// <summary>
/// Gets or sets flag that determines if status bits should be expanded to tags.
/// </summary>
public bool ExpandStatusBitsToTags { get; set; } /* default: false */
/// <summary>
/// Gets or sets flag that determines if status word should be written to PI as a separate tag. Commonly disabled if status bits are expanded to tags, see <see cref="ExpandStatusBitsToTags"/>.
/// </summary>
public bool WriteStatusWord { get; set; } /* default: true */
/// <summary>
/// Gets or sets the comma separated digital state set names for IEEE C37.118 status word bits. Specify digital state set name for each of the following digital states using value of 'X' (without quotes)
/// as the name to indicate state is not mapped: CompositeQual, ConfigChange, ConnectState, DataSorting, DataValid, LeapSecond, NominalFreq, PMUError, SyncError, Timelock, TimeQuality, and Trigger.
/// If digital sets are predefined, state values are expected to be zero based and incremented by one for each value. If specified digital set name does not exist, it will be created.
/// </summary>
public string StatusBitDigitalStateSets { get; set; } /* default: "C37118_CompositeQual,C37118_ConfigChange,C37118_ConnectState,C37118_DataSorting,C37118_DataValid,C37118_LeapSecond,C37118_NominalFreq,C37118_PMUError,C37118_SyncError,C37118_Timelock,C37118_TimeQuality,C37118_Trigger" */
/// <summary>
/// Gets or sets flag that determines if digital bits should be expanded to tags.
/// </summary>
public bool ExpandDigitalBitsToTags { get; set; } /* default: false */
/// <summary>
/// Gets or sets flag that determines if digital word should be written to PI as a separate tag. Commonly disabled if digital bits are expanded to tags, see <see cref="ExpandDigitalBitsToTags"/>.
/// </summary>
public bool WriteDigitalWord { get; set; } /* default: true */
/// <summary>
/// Gets or sets pre-existing digital state set names mapped to a regular expression for matching digital labels. Use format "DigitalStateName=Expression;DigitalStateName=Expression;...". Use "*" for default expression.
/// </summary>
public string DigitalStateSetExpressionMap /* default: "" */