Using the QuickUse Classes |
Using the OpcGroup Class |
using System;
using OPC;
using OPCDA;
using OPCDA.NET;
namespace OpcDemo {
public class Demo {
string ServerAccess() {
OpcServer Srv = new OpcServer() ;
int rtc = Srv.Connect( "Advosol.SimDAServer.1" );
if( HRESULTS.Failed( rtc )
return Srv.GetErrorString( rtc );
SyncIOGroup srwGroup = new SyncIOGroup( Srv ) ;
OPCItemState Rslt ;
int rtc = srwGroup.Read( OPCDATASOURCE.OPC_DS_CACHE,
"SimulatedData.Step", out Rslt );
string retVal;
if( HRESULTS.Failed(rtc) )
retVal = "Read error" ;
else
retVal = "data="+ Rslt.DataValue.ToString();
srwGroup.Dispose();
Srv.Disconnect();
return retVal ;
}
}
|
using System;
using System.Runtime.InteropServices;
using OPC;
using OPCDA;
using OPCDA.NET;
namespace VCSSampleClient {
public class DemoOpc {
public string ServerAccessOpc() {
OpcServer Srv = new OpcServer() ;
int rtc = Srv.Connect( "Advosol.SimDAServer.1" );
if( HRESULTS.Failed( rtc )
return Srv.GetErrorString( rtc );
OpcGroup oGrp ;
float deadBand = 0.0F;
try {
oGrp = Srv.AddGroup( "Grp1",
true, 500, ref deadBand, 0, 0 );
catch( Exception ex )
{
Srv.Disconnect();
return ex.Message ;
}
OPCItemDef[] items = new OPCItemDef[1];
items[0] = new OPCItemDef( "SimulatedData.Step",
true, 0, VarEnum.VT_BSTR );
OPCItemResult[] addRslt = new OPCItemResult[1];
int rtc = oGrp.AddItems( items, out addRslt ) ;
if( HRESULTS.Failed(rtc) ) {
Srv.Disconnect();
return "Error at AddItem" ;
}
int[] iHnd = new Int32[1];
iHnd[0] = addRslt[0].HandleServer ;
OPCItemState[] rslt ;
rtc = oGrp.Read( OPCDATASOURCE.OPC_DS_CACHE,
iHnd, out rslt );
string retVal;
if( HRESULTS.Failed(rtc) )
retVal = "Read error" ;
else
if( HRESULTS.Failed(rslt[0].Error) )
retVal = "Item Read error" ;
else
retVal = "data="+ rslt[0].DataValue.ToString();
oGrp.Remove(true);
Srv.Disconnect();
return retVal ;
}
}
}
|
See the Controls chapter for sample application code based on the DAServer/DAGroup Visual Studio controls.
A number of sample client applications including the Visual Studio project are in the OPCDA.NET installation sub-folder C# Sample Clients.
If you don't find this folder then probably the sample installation option was not selected when OPCDA.NET was installed.
The Visual Studio project wizard creates a Windows Form application with sample code according the selections in the wizard dialog. It may be quicker to create a new project with the required features than search for a matching sample application.
If you don't find the OPCDA.NET client template in the Visual Studio Add New Project template selection then probably the C# wizard installation option was not selected when OPCDA.NET was installed.