/// <summary> /// Creates the tag. /// </summary> /// <param name="tagName">Name of the tag.</param> /// <param name="dataType">Type of the data.</param> /// <param name="tagType">Type of the tag.</param> /// <param name="engineeringUnits">The engineering units.</param> /// <param name="writeable">if set to <c>true</c> the tag is writeable.</param> public void CreateTag( string tagName, UnderlyingSystemDataType dataType, UnderlyingSystemTagType tagType, string engineeringUnits, bool writeable) { // create tag. UnderlyingSystemTag tag = new UnderlyingSystemTag(); tag.Block = this; tag.Name = tagName; tag.Description = null; tag.EngineeringUnits = engineeringUnits; tag.DataType = dataType; tag.TagType = tagType; tag.IsWriteable = writeable; tag.Labels = null; tag.EuRange = null; switch (tagType) { case UnderlyingSystemTagType.Analog: { tag.Description = "An analog value."; tag.TagType = UnderlyingSystemTagType.Analog; tag.EuRange = new double[] { 100, 0 }; break; } case UnderlyingSystemTagType.Digital: { tag.Description = "A digital value."; tag.TagType = UnderlyingSystemTagType.Digital; tag.Labels = new string[] { "Online", "Offline" }; break; } case UnderlyingSystemTagType.Enumerated: { tag.Description = "An enumerated value."; tag.TagType = UnderlyingSystemTagType.Enumerated; tag.Labels = new string[] { "Red", "Yellow", "Green" }; break; } default: { tag.Description = "A generic value."; break; } } // set an initial value. switch (tag.DataType) { case UnderlyingSystemDataType.Integer1: { tag.Value = (sbyte)0; break; } case UnderlyingSystemDataType.Integer2: { tag.Value = (short)0; break; } case UnderlyingSystemDataType.Integer4: { tag.Value = (int)0; break; } case UnderlyingSystemDataType.Real4: { tag.Value = (float)0; break; } case UnderlyingSystemDataType.String: { tag.Value = String.Empty; break; } } lock (m_tags) { m_tags.Add(tag); m_timestamp = DateTime.UtcNow; } }
/// <summary> /// Creates the tag. /// </summary> /// <param name="tagName">Name of the tag.</param> /// <param name="dataType">Type of the data.</param> /// <param name="tagType">Type of the tag.</param> /// <param name="engineeringUnits">The engineering units.</param> /// <param name="writeable">if set to <c>true</c> the tag is writeable.</param> public void CreateTag( string tagName, UnderlyingSystemDataType dataType, UnderlyingSystemTagType tagType, string engineeringUnits, bool writeable) { // create tag. var tag = new UnderlyingSystemTag { Block = this, Name = tagName, Description = null, EngineeringUnits = engineeringUnits, DataType = dataType, TagType = tagType, IsWriteable = writeable, Labels = null, EuRange = null }; switch (tagType) { case UnderlyingSystemTagType.Analog: { tag.Description = "An analog value."; tag.TagType = UnderlyingSystemTagType.Analog; tag.EuRange = new double[] { 100, 0 }; break; } case UnderlyingSystemTagType.Digital: { tag.Description = "A digital value."; tag.TagType = UnderlyingSystemTagType.Digital; tag.Labels = new string[] { "Online", "Offline" }; break; } case UnderlyingSystemTagType.Enumerated: { tag.Description = "An enumerated value."; tag.TagType = UnderlyingSystemTagType.Enumerated; tag.Labels = new string[] { "Red", "Yellow", "Green" }; break; } default: { tag.Description = "A generic value."; break; } } // set an initial value. switch (tag.DataType) { case UnderlyingSystemDataType.Integer1: { tag.Value = (sbyte)0; break; } case UnderlyingSystemDataType.Integer2: { tag.Value = (short)0; break; } case UnderlyingSystemDataType.Integer4: { tag.Value = 0; break; } case UnderlyingSystemDataType.Real4: { tag.Value = (float)0; break; } case UnderlyingSystemDataType.String: { tag.Value = string.Empty; break; } } lock (_tags) { _tags.Add(tag); Timestamp = DateTime.UtcNow; } }