public static ConstructIdForSource ( string areaId, string sourceName, ushort namespaceIndex ) : Opc.Ua.NodeId | ||
areaId | string | The area id. |
sourceName | string | Name of the source. |
namespaceIndex | ushort | Index of the namespace. |
리턴 | Opc.Ua.NodeId |
/// <summary> /// Updates the base event. /// </summary> private void UpdateBaseEvent(BaseEventState instance, EventType eventType, ONEVENTSTRUCT e) { BinaryEncoder encoder = new BinaryEncoder(ServiceMessageContext.GlobalContext); encoder.WriteString(null, e.szSource); encoder.WriteString(null, e.szConditionName); encoder.WriteInt32(null, e.ftActiveTime.dwHighDateTime); encoder.WriteInt32(null, e.ftActiveTime.dwLowDateTime); encoder.WriteInt32(null, e.dwCookie); byte[] eventId = encoder.CloseAndReturnBuffer(); NodeId eventTypeId = AeParsedNodeId.Construct(e.dwEventType, e.dwEventCategory, e.szConditionName, m_namespaceIndex); NodeId sourceNode = AeModelUtils.ConstructIdForSource(e.szSource, null, m_namespaceIndex); string sourceName = e.szSource; DateTime time = ComUtils.GetDateTime(e.ftTime); DateTime receiveTime = DateTime.UtcNow; LocalizedText message = e.szMessage; ushort severity = (ushort)e.dwSeverity; instance.TypeDefinitionId = eventTypeId; instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.EventId, eventId, false); instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.EventType, eventTypeId, false); instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.SourceNode, sourceNode, false); instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.SourceName, sourceName, false); instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.Time, time, false); instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.ReceiveTime, receiveTime, false); instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.Message, message, false); instance.SetChildValue(m_defaultContext, Opc.Ua.BrowseNames.Severity, severity, false); }
/// <summary> /// Initializes a new instance of the <see cref="AeSourceState"/> class. /// </summary> /// <param name="context">The context.</param> /// <param name="areaId">The area id.</param> /// <param name="qualifiedName">The qualified name for the source.</param> /// <param name="name">The name of the source.</param> /// <param name="namespaceIndex">Index of the namespace.</param> public AeSourceState( ISystemContext context, string areaId, string qualifiedName, string name, ushort namespaceIndex) : base(null) { m_areaId = areaId; m_qualifiedName = qualifiedName; this.TypeDefinitionId = Opc.Ua.ObjectTypeIds.BaseObjectType; this.NodeId = AeModelUtils.ConstructIdForSource(m_areaId, name, namespaceIndex); this.BrowseName = new QualifiedName(name, namespaceIndex); this.DisplayName = this.BrowseName.Name; this.Description = null; this.WriteMask = 0; this.UserWriteMask = 0; this.EventNotifier = EventNotifiers.None; this.AddReference(ReferenceTypeIds.HasNotifier, true, AeModelUtils.ConstructIdForArea(m_areaId, namespaceIndex)); }