} // end FireEvents public void ChangeSimulationValues() { if (m_daSimulationElement != null) { m_daSimulationElement.ValueChanged( new ValueQT( m_random.Next(5000), EnumQuality.GOOD, DateTime.Now)); } // end if } // end ChangeSimulationValues
} // 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)) { 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 ProcessCommandLine public int BuildAddressSpace() { try { MyCreator creator = (MyCreator)Application.Instance.Creator; // DA DaAddressSpaceRoot daRoot = Application.Instance.DaAddressSpaceRoot; m_daSimulationElement = (MyDaAddressSpaceElement)creator.CreateMyDaAddressSpaceElement(); m_daSimulationElement.Name = "simulation"; m_daSimulationElement.AccessRights = EnumAccessRights.READWRITEABLE; m_daSimulationElement.Datatype = typeof(System.Int32); m_daSimulationElement.IoMode = EnumIoMode.POLL; daRoot.AddChild(m_daSimulationElement); m_daSimulationElement.ValueChanged( new ValueQT( m_random.Next(5000), EnumQuality.GOOD, DateTime.Now)); //AE AeAddressSpaceRoot aeRoot = Application.Instance.AeAddressSpaceRoot; AeAddressSpaceElement aeElement = creator.CreateAeAddressSpaceElement(); aeElement.Name = "SimulationElement"; aeElement.HasChildren = false; aeRoot.AddChild(aeElement); } catch(Exception exc) { Trace( EnumTraceLevel.ERR, EnumTraceGroup.USER1, "OpcServer:BuildAddressSpace", exc.ToString()); return (int)EnumResultCode.E_FAIL; } // end try...catch return (int)EnumResultCode.S_OK; } // end BuildAddressSpace