} // end HandleReadRequests public override int HandleWriteRequests() { int count = Requests.Count; MySession pClient = (MySession)Session; for (int i = 0; i < count; i++) { DaRequest request = Requests[i] as DaRequest; if ((request != null) && (request.ProgressRequestState(EnumRequestState.CREATED, EnumRequestState.INPROGRESS) == true)) { MyDaAddressSpaceElement element = (MyDaAddressSpaceElement)request.AddressSpaceElement; if (element != null) { if (pClient.Equals(MySession.s_controlingSession)) { ValueQT valueQT = request.Value; request.Result = (EnumResultCode)element.ValueChanged(valueQT); } else { request.Result = EnumResultCode.E_ACCESSDENIED; } // end if } // end if } // end if } // end for return(CompleteRequests()); } // end HandleWriteRequests
} // end constructor public override int HandleReadRequests() { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest request = Requests[i] as DaRequest; if ((request != null) && (request.ProgressRequestState(EnumRequestState.CREATED, EnumRequestState.INPROGRESS) == true)) { if (request.PropertyId == 0) { // get address space element value // take the toolkit cache value ValueQT valueQT = null; request.AddressSpaceElement.GetCacheValue(ref valueQT); request.Value = valueQT; request.Result = EnumResultCode.S_OK; } else { // get property value // get the value from the address space element MyDaAddressSpaceElement element = request.AddressSpaceElement as MyDaAddressSpaceElement; request.Value = new ValueQT(element.ObjectType, EnumQuality.GOOD, DateTime.Now); request.Result = EnumResultCode.S_OK; } // end if ... else } // end if } // end for return(CompleteRequests()); } // end HandleReadRequests
} // enc ctr //- #endregion #region // Public Override Methods //--------------------------------- public override int HandleReadRequests() { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest request = Requests[i] as DaRequest; if ((request != null) && (request.ProgressRequestState(EnumRequestState.CREATED, EnumRequestState.INPROGRESS) == true)) { DaBaseElement element = request.AddressSpaceElement as DaBaseElement; if (element != null) { element.HandleReadRequest(request); } else { request.Result = EnumResultCode.E_FAIL; request.Value = null; request.Complete(); } // end if ... else } } return((int)EnumResultCode.S_OK); } // end HandleReadRequests
public override void HandleWriteRequest(DaRequest request) { if (request.PropertyId == 0) { ValueQT cacheValue = null; request.AddressSpaceElement.GetCacheValue(ref cacheValue); request.AddressSpaceElement.ValueChanged(cacheValue); request.Value = cacheValue; request.Result = EnumResultCode.S_OK; } else if (request.PropertyId == 6020) { Function daElement = request.AddressSpaceElement as Function; if (daElement != null) { ValueQT writeValue = request.Value; daElement.SetValue(writeValue); request.Result = EnumResultCode.S_OK; } else { request.Result = EnumResultCode.S_FALSE; } } else { request.Result = EnumResultCode.S_FALSE; } }
public override void HandleWriteRequest(DaRequest request) { DemoDaAddressSpaceElement daElement = request.AddressSpaceElement as DemoDaAddressSpaceElement; if (daElement != null) { if (m_timeType == TimeType.type_limitSecond) { ValueQT writeValue = request.Value; if ((Byte)writeValue.Data <= 59) { daElement.ValueChanged(writeValue); request.Result = EnumResultCode.S_OK; } else { request.Result = EnumResultCode.S_FALSE; } } } else { request.Result = EnumResultCode.S_FALSE; } }
public override void HandleWriteRequest(DaRequest request) { DemoDaAddressSpaceElement daElement = request.AddressSpaceElement as DemoDaAddressSpaceElement; if (daElement != null) { ValueQT value = request.Value; daElement.ValueChanged(value); request.Result = EnumResultCode.S_OK; //generate the event ArrayList attributeValues = new ArrayList(1); attributeValues.Add((Byte)value.Data); char charPressed = (char)((Byte)value.Data); AeEvent keyEvent = new AeEvent(EnumEventType.TRACKING, "keyboard.key", Console.CATEGORY_ID_KEY_HIT); keyEvent.Severity = 600; String message = "key hit : "; message += charPressed.ToString(); keyEvent.Message = message; keyEvent.AttributeValueList = attributeValues; keyEvent.Fire(); } else { request.Result = EnumResultCode.S_FALSE; } }
} // end constructor public override int HandleReadRequests() { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest request = (DaRequest)Requests[i]; if (request.PropertyId == 0) { // get address space element value // take the Toolkit cache value ValueQT cacheValue = null; request.AddressSpaceElement.GetCacheValue(ref cacheValue); request.Value = cacheValue; request.Result = EnumResultCode.S_OK; } else { // get property value // get the value from the address space element MyDaAddressSpaceElement element = request.AddressSpaceElement as MyDaAddressSpaceElement; if (element != null) { element.GetPropertyValue(request); } else { request.Result = EnumResultCode.E_FAIL; } // end if ... else } // end if ... else } // end for return(CompleteRequests()); } // end HandleReadRequests
} // end init public override void HandleReadRequest(DaRequest request) { ValueQT cacheValue = null; request.AddressSpaceElement.GetCacheValue(ref cacheValue); request.Value = cacheValue; request.Result = EnumResultCode.S_OK; }
} // end QueryProperties /// <summary> /// Get elements property value data /// </summary> public void GetPropertyValue(DaRequest aRequest) { if (aRequest.PropertyId == 101) { aRequest.Value = new ValueQT("item description", EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } // end if } // end GetPropertyValue
} // end ctr //- #endregion #region // Public Methods //------------------------ /// <summary> /// HandleReadRequest /// </summary> public override void HandleReadRequest(DaRequest aRequest) { System.Diagnostics.Debug.Assert(aRequest.PropertyId == this.Id, "HandleRequest called with illegal request"); Application.Instance.Trace(EnumTraceLevel.INF, EnumTraceGroup.OPCSERVER, "ComandProperty::HandleReadRequest", (string)this.CommandValue); aRequest.Result = EnumResultCode.S_OK; aRequest.Value = new ValueQT(this.CommandValue, EnumQuality.GOOD, DateTime.Now); aRequest.Complete(); } // end HandleReadRequest
} // end ExecuteCommand //- #endregion #region // Protected Methods //--------------------------- /// <summary> /// HandleItemReadRequest /// </summary> protected virtual void HandleItemReadRequest(DaRequest aRequest) { ValueQT cacheValue = null; this.GetCacheValue(ref cacheValue); aRequest.Value = cacheValue; aRequest.Result = EnumResultCode.S_OK; aRequest.Complete(); } // end HandleItemReadRequest
} // end ctr //- #endregion #region // Public Methods //------------------------ /// <summary> /// HandleRequest /// </summary> public override void HandleReadRequest(DaRequest aRequest) { System.Diagnostics.Debug.Assert(aRequest.PropertyId == this.Id, "HandleRequest called with illegal request"); // Meant to be obverriden, just return failed aRequest.Result = EnumResultCode.S_OK; aRequest.Value = new ValueQT(this.m_dataPointTypeValue, EnumQuality.GOOD, DateTime.Now); aRequest.Complete(); } // end HandleReadRequest
public override void HandleWriteRequest(DaRequest request) { AlarmSimulation daElement = request.AddressSpaceElement as AlarmSimulation; if (daElement != null) { ValueQT value = request.Value; daElement.ValueChanged(value); request.Result = EnumResultCode.S_OK; // generate the event ArrayList attributeValues = new ArrayList(1); attributeValues.Add((Boolean)value.Data); String actorId = "alarm.simulation"; String message = "Boolean value: "; Boolean boolVal = (Boolean)value.Data; if (boolVal) { message += "TRUE"; } else { message += "FALSE"; } switch (daElement.m_alarmType) { case AlarmType.simple: AeEvent fireSimpleEvent = new AeEvent( EnumEventType.SIMPLE, "alarm simulation.fire simple event", Console.CATEGORY_ID_DA_WRITE_SIMPLE); fireSimpleEvent.Severity = 700; fireSimpleEvent.ActorId = actorId; fireSimpleEvent.Message = message; fireSimpleEvent.AttributeValueList = attributeValues; fireSimpleEvent.Fire(); break; case AlarmType.tracking: AeEvent fireTrackingEvent = new AeEvent( EnumEventType.SIMPLE, "alarm simulation.fire tracking event", Console.CATEGORY_ID_DA_WRITE_TRACKING); fireTrackingEvent.Severity = 750; fireTrackingEvent.ActorId = actorId; fireTrackingEvent.Message = message; fireTrackingEvent.AttributeValueList = attributeValues; fireTrackingEvent.Fire(); break; } } else { request.Result = EnumResultCode.S_FALSE; } }
} // Attribute Type //-- #endregion #region Public Methods //--------------------- /// <summary> /// Get elements property value data /// </summary> public void GetPropertyValue(DaRequest aRequest) { if (aRequest.PropertyId == 101) { aRequest.Value = new ValueQT( "description", EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == 6020) { Function functionEl = (Function)(this); aRequest.Value = new ValueQT( functionEl.Angle, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == 102) { aRequest.Value = new ValueQT( 1.0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == 103) { aRequest.Value = new ValueQT( -1.0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else { if (m_properties.ContainsKey(aRequest.PropertyId)) { DaConstantProperty property = m_properties[aRequest.PropertyId] as DaConstantProperty; if (property != null) { aRequest.Value = property.Value; aRequest.Result = EnumResultCode.S_OK; } // end if } // end if } } // end GetPropertyValue
public override void HandleReadRequest(DaRequest request) { DemoDaAddressSpaceElement daElement = request.AddressSpaceElement as DemoDaAddressSpaceElement; if (daElement != null) { ValueQT cacheValue = null; request.AddressSpaceElement.GetCacheValue(ref cacheValue); request.Value = cacheValue; request.Result = EnumResultCode.S_OK; } else { request.Result = EnumResultCode.S_FALSE; } }
} // end SetIsChanging //-- #endregion #region Public Methods //--------------------- /// <summary> /// Get elements property value data /// </summary> public void GetPropertyValue(DaRequest aRequest) { if (aRequest.PropertyId == (int)EnumPropertyId.ITEM_DESCRIPTION) { aRequest.Value = new ValueQT( "description", EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else { aRequest.Result = EnumResultCode.E_NOTFOUND; } // end if ... else } // end GetPropertyValue
public override void HandleWriteRequest(DaRequest request) { DemoDaAddressSpaceElement daElement = request.AddressSpaceElement as DemoDaAddressSpaceElement; if (daElement != null) { ValueQT writeValue = request.Value; daElement.ValueChanged(writeValue); request.Result = EnumResultCode.S_OK; // generate the interval period changing Console.DA_SLEEP_INTERVAL = (UInt32)(writeValue.Data); } else { request.Result = EnumResultCode.S_FALSE; } }
public override void HandleWriteRequest(DaRequest request) { DemoDaAddressSpaceElement daElement = request.AddressSpaceElement as DemoDaAddressSpaceElement; if (daElement != null) { ValueQT writeValue = request.Value; daElement.ValueChanged(writeValue); request.Result = EnumResultCode.S_OK; // ser the boolean flag for the DA simulation thread Boolean boolVal = (Boolean)writeValue.Data; Console.DO_SIMULATION = boolVal; } else { request.Result = EnumResultCode.S_FALSE; } }
} // enc ctr public override int HandleReadRequests() { lock (m_requestJanitor) { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest currentRequest = Requests[i] as DaRequest; if ((currentRequest != null) && (currentRequest.ProgressRequestState(EnumRequestState.CREATED, EnumRequestState.INPROGRESS) == true)) { MyDaAddressSpaceElement requestElement = currentRequest.AddressSpaceElement as MyDaAddressSpaceElement; if (requestElement != null) { if (currentRequest.PropertyId == 0) { ValueQT cacheValue = null; requestElement.GetCacheValue(ref cacheValue); currentRequest.Value = cacheValue; currentRequest.Result = EnumResultCode.S_OK; } else { requestElement.GetPropertyValue(currentRequest); } // end if ... else } else { currentRequest.Result = EnumResultCode.E_FAIL; } // end if ... else } else { // this is not a request ??? Application.Instance.Trace(EnumTraceLevel.ERR, EnumTraceGroup.USER1, "MyTransaction", "HandleReadRequests - received a non request element in the request's array List"); } // end if ... else } // end for return(CompleteRequests()); } } // end HandleReadRequests
} // end HandleReadRequests public override int HandleWriteRequests() { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest request = Requests[i] as DaRequest; if (request != null) { MyDaAddressSpaceElement element = (MyDaAddressSpaceElement)request.AddressSpaceElement; if (element != null) { ValueQT valueQT = request.Value; request.Result = (EnumResultCode)element.ValueChanged(valueQT); } // end if } // end if } // end for return(CompleteRequests()); } // end HandleWriteRequests
} // end HandleReadRequest /// <summary> /// Handles a write request /// </summary> public virtual void HandleWriteRequest(DaRequest aRequest) { if (aRequest.PropertyId != 0) { DaProperty daProperty = m_properties[aRequest.PropertyId] as DaProperty; if (daProperty != null) { daProperty.HandleWriteRequest(aRequest); } else { aRequest.Result = EnumResultCode.E_FAIL; aRequest.Complete(); } // end if ... else } else { HandleItemWriteRequest(aRequest); } // end if ... else } // end HandleWriteRequest
} // end HandleReadRequests public override int HandleWriteRequests() { lock (m_requestJanitor) { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest currentRequest = Requests[i] as DaRequest; if ((currentRequest != null) && (currentRequest.ProgressRequestState(EnumRequestState.CREATED, EnumRequestState.INPROGRESS) == true)) { MyDaAddressSpaceElement requestElement = currentRequest.AddressSpaceElement as MyDaAddressSpaceElement; if (requestElement != null) { currentRequest.Result = (EnumResultCode)requestElement.ValueChanged(currentRequest.Value); } // end if } // end if } // end for return(CompleteRequests()); } // end lock } // end HandleWriteRequests
} // end constructor public override int HandleReadRequests() { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest request = (DaRequest)Requests[i]; if ((request != null) && (request.ProgressRequestState(EnumRequestState.CREATED, EnumRequestState.INPROGRESS) == true)) { if (request.PropertyId == 0) { // get address space element value // take the toolkit cache value ValueQT cacheValue = null; request.AddressSpaceElement.GetCacheValue(ref cacheValue); if (cacheValue == null) { request.AddressSpaceElement.QueryCacheValue((MySession)Session, ref cacheValue); } request.Value = cacheValue; request.Result = EnumResultCode.S_OK; } else { // get property value // get the value from the address space element MyDaAddressSpaceElement element = request.AddressSpaceElement as MyDaAddressSpaceElement; if (element != null) { element.GetPropertyValue(request); } else { request.Result = EnumResultCode.E_FAIL; } // end if ... else } // end if ... else } // end if } // end for return(CompleteRequests()); } // end HandleReadRequests
} // end HandleReadRequests public override int HandleWriteRequests() { int count = Requests.Count; for (int i = 0; i < count; i++) { DaRequest request = Requests[i] as DaRequest; if ((request != null) && (request.ProgressRequestState(EnumRequestState.CREATED, EnumRequestState.INPROGRESS) == true)) { DemoDaAddressSpaceElement element = (DemoDaAddressSpaceElement)request.AddressSpaceElement; if (element != null) { element.HandleWriteRequest(request); } else { request.Result = EnumResultCode.E_FAIL; } } // end if } // end for return(CompleteRequests()); } // end HandleWriteRequests
} // Attribute Type //-- #endregion #region Public Methods //--------------------- /// <summary> /// Get elements property value data /// </summary> public void GetPropertyValue(DaRequest aRequest) { if (aRequest.PropertyId == 101) { if (Type == MyDaAddressSpaceElement.TYPE_RANDOM_100MS) { aRequest.Value = new ValueQT("Random value changing every 100 ms", EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (Type == MyDaAddressSpaceElement.TYPE_RANDOM_1S) { aRequest.Value = new ValueQT("Random value changing every second", EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (Type == MyDaAddressSpaceElement.TYPE_NODERANDOM) { aRequest.Value = new ValueQT("Random values", EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } // end if ... else } else if (aRequest.PropertyId == 6020) { aRequest.Value = new ValueQT(OpcServer.g_angle, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else { if (m_properties.ContainsKey(aRequest.PropertyId)) { DaConstantProperty property = m_properties[aRequest.PropertyId] as DaConstantProperty; if (property != null) { aRequest.Value = property.Value; aRequest.Result = EnumResultCode.S_OK; } // end if } // end if } // end if ... else } // end GetPropertyValue
} // end constructor //-- #endregion #region Public Methods //--------------------- /// <summary> /// Get elements property value data /// </summary> public void GetPropertyValue(DaRequest aRequest) { if (aRequest.PropertyId == (int)EnumPropertyId.ITEM_DESCRIPTION) { aRequest.Value = new ValueQT( "Description", EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == (int)EnumPropertyId.HIGH_EU) { // EU High property aRequest.Value = new ValueQT( 100.0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == (int)EnumPropertyId.LOW_EU) { // EU Low property aRequest.Value = new ValueQT( 0.0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == (int)EnumPropertyId.HIGH_INSTRUMENT_RANGE) { // InstrumentRange High property aRequest.Value = new ValueQT( 120.0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == (int)EnumPropertyId.LOW_INSTRUMENT_RANGE) { // InstrumentRange Low property aRequest.Value = new ValueQT( 0.0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == (int)EnumPropertyId.EU_UNITS) { // EngineeringUnits property aRequest.Value = new ValueQT( 0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (aRequest.PropertyId == 111) { // ValuePrecision property aRequest.Value = new ValueQT( 2.0, EnumQuality.GOOD, DateTime.Now); aRequest.Result = EnumResultCode.S_OK; } else if (m_properties.ContainsKey(aRequest.PropertyId)) { DaConstantProperty property = m_properties[aRequest.PropertyId] as DaConstantProperty; if (property != null) { aRequest.Value = property.Value; aRequest.Result = EnumResultCode.S_OK; } // end if } else { aRequest.Result = EnumResultCode.E_NOTFOUND; } // end if ... else } // end GetPropertyValue
public override void HandleReadRequest(DaRequest request) { DemoDaAddressSpaceElement daElement = request.AddressSpaceElement as DemoDaAddressSpaceElement; if (daElement != null) { ValueQT value = new ValueQT(); DateTime now = DateTime.Now; if (m_timeType != TimeType.type_date) { switch (m_timeZone) { case TimeZone.zone_local: now = DateTime.Now; break; case TimeZone.zone_GMT: now = DateTime.UtcNow; break; } switch (m_timeType) { case TimeType.type_hour: value.SetData((Byte)now.Hour, EnumQuality.GOOD, DateTime.Now); break; case TimeType.type_second: value.SetData((Byte)now.Second, EnumQuality.GOOD, DateTime.Now); break; case TimeType.type_minute: value.SetData((Byte)now.Minute, EnumQuality.GOOD, DateTime.Now); break; case TimeType.type_date: value.SetData(now.Date, EnumQuality.GOOD, DateTime.Now); break; case TimeType.type_array: Byte[] arrayByte = new Byte[3]; arrayByte[0] = (Byte)now.Hour; arrayByte[1] = (Byte)now.Minute; arrayByte[2] = (Byte)now.Second; value.SetData(arrayByte, EnumQuality.GOOD, DateTime.Now); break; case TimeType.type_limitSecond: ValueQT cacheValue = null; request.AddressSpaceElement.GetCacheValue(ref cacheValue); value.SetData(cacheValue.Data, EnumQuality.GOOD, DateTime.Now); break; case TimeType.type_string: value.SetData(string.Format("{0:HH:mm:ss}", now), EnumQuality.GOOD, DateTime.Now); break; } } else { value.SetData(now, EnumQuality.GOOD, DateTime.Now); } ValueChanged(value); request.Value = value; request.Result = EnumResultCode.S_OK; } else { request.Result = EnumResultCode.S_FALSE; } }
public override void HandleWriteRequest(DaRequest request) { request.Result = (EnumResultCode)request.AddressSpaceElement.ValueChanged(request.Value); }
} // end ctr //- #endregion #region // Protected Methods //--------------------------- /// <summary> /// HandleItemWriteRequest /// </summary> protected override void HandleItemWriteRequest(DaRequest aRequest) { try { // start parsing the received command aRequest.Result = EnumResultCode.E_FAIL; XmlDocument doc = new XmlDocument(); doc.LoadXml((string)aRequest.Value.Data); Application.Instance.Trace(EnumTraceLevel.INF, EnumTraceGroup.OPCSERVER, "CommandElement::handleWrite", "Received xml text: " + (string)aRequest.Value.Data); bool xmlWithCommands = true; // xml text without commands node foreach (XmlNode command in doc.ChildNodes) { // locate the command if (command.LocalName.ToLower() == "command") { xmlWithCommands = false; string commandAddress = command.Attributes["Adresse"].Value; string commandName = command.Attributes["Name"].Value; string commandDescription = command.Attributes["Description"].Value; aRequest.Result = (EnumResultCode)this.ExecuteCommands(commandAddress, commandName, commandDescription); if (ResultCode.SUCCEEDED(aRequest.Result)) { Application.Instance.Trace(EnumTraceLevel.INF, EnumTraceGroup.OPCSERVER, "CommandElement::handleWrite", "Command executed on: " + commandAddress + " description: " + commandDescription + " name and value: " + commandName); aRequest.Result = (EnumResultCode)this.ValueChanged(aRequest.Value); } else { Application.Instance.Trace(EnumTraceLevel.WRN, EnumTraceGroup.OPCSERVER, "CommandElement::handleWrite", "Command could not be executed on: " + commandAddress + " description: " + commandDescription + " name and value: " + commandName); } // end if .. else } // end if } // end foreach if (xmlWithCommands == true) { foreach (XmlNode commands in doc.ChildNodes) { // locate the command if (commands.LocalName.ToLower() == "commands") { foreach (XmlNode command in commands.ChildNodes) { // locate the command if (command.LocalName.ToLower() == "command") { string commandAddress = command.Attributes["Address"].Value; string commandName = command.Attributes["Name"].Value; string commandDescription = command.Attributes["Description"].Value; aRequest.Result = (EnumResultCode)this.ExecuteCommands(commandAddress, commandName, commandDescription); if (ResultCode.SUCCEEDED(aRequest.Result)) { Application.Instance.Trace(EnumTraceLevel.INF, EnumTraceGroup.OPCSERVER, "CommandElement::handleWrite", "Command executed on: " + commandAddress + " description: " + commandDescription + " name and value: " + commandName); aRequest.Result = (EnumResultCode)this.ValueChanged(aRequest.Value); } else { Application.Instance.Trace(EnumTraceLevel.WRN, EnumTraceGroup.OPCSERVER, "CommandElement::handleWrite", "Command could not be executed on: " + commandAddress + " description: " + commandDescription + " name and value: " + commandName); } // end if .. else } // end if } // end foreach } // end if } // end foreach } // end if } catch { aRequest.Result = EnumResultCode.E_FAIL; } finally { aRequest.Complete(); } // end try ... catch ... finally } // end HandleItemWriteRequest
} // end HandleItemReadRequest /// <summary> /// HandleItemWriteRequest /// </summary> protected virtual void HandleItemWriteRequest(DaRequest aRequest) { aRequest.Result = EnumResultCode.E_BADRIGHTS; aRequest.Complete(); } // end HandleItemWriteRequest