OPC Sample Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using OPCAutomation;
namespace OPC
{
public partial class Form1 : Form
{
OPCServer ObjOPCServer;
OPCGroups ObjOPCGroups;
OPCGroup ObjOPCGroup;
string OPCServerName;
public Form1()
{
try
{
InitializeComponent();
OPCServerName = "{Here comes your OPC server’s name}";
ObjOPCServer = new OPCServer();
ObjOPCServer.Connect(OPCServerName, "");
ObjOPCGroups = ObjOPCServer.OPCGroups;
ObjOPCGroup = ObjOPCGroups.Add("OPCGroup1");
ObjOPCGroup.DataChange += new DIOPCGroupEvent_DataChangeEventHandler(ObjOPCGroup_DataChange);
ObjOPCGroup.OPCItems.AddItem("{tag name or address (like {plc name on server}!%mw0)}", 1);
ObjOPCGroup.UpdateRate = 10;
ObjOPCGroup.IsActive = true;
ObjOPCGroup.IsSubscribed = true;
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
}
private void button1_Click(object sender, EventArgs e)
{
}
private void ObjOPCGroup_DataChange(int TransactionID, int NumItems, ref Array ClientHandles, ref Array ItemValues, ref Array Qualities, ref Array TimeStamps)
{
for (int i = 1; i <= NumItems; i++)
{
if ((Convert.ToInt32(ClientHandles.GetValue(i)) == 1))
{
textBox1.Text = ItemValues.GetValue(i).ToString();
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
OPCServerClass GlobalOPCServer = new OPCServerClass();
Array ServerList = (Array)GlobalOPCServer.GetOPCServers(""); for (int i = 1; i <= ServerList.Length; i++)
{ comboBox1.Items.Add(ServerList.GetValue(i).ToString()); }
}
}
from: GitHub.com
C# sample code that reads an item from an OPC server, Client Component, using OPCDA.NET, using OPCDA, using OPC;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
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 the OpcGroup Class
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
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 ; } } } |
from : http://advosol.us/manuals/opcdanet/topic6.html
gfgrep-status: /etc/grep-dctrl.rc: write permissions for group or others, ignoring Error , Solved
1 2 3 4 5 6 7 8 9 |
gfgrep-status: /etc/grep-dctrl.rc: write permissions for group or others, ignoring .grep-status: /etc/grep-dctrl.rc: write permissions for group or others, ignoring .grep-status: /etc/grep-dctrl.rc: write permissions for group or others, ignoring Command is here: chmod 444 /etc/grep-dctrl.rc: |
best windows File Manager
Q-dir
YÜZ TANIMA SİSTEMİ ALGORİTMALARININ GELİŞTİRİLMESİ
T.C.
KOCAELİ ÜNİVERSİTESİ
MÜHENDİSLİK FAKÜLTESİ
BİTİRME TEZİ
Kubilay KIYMACI
BİLGİSAYAR MÜHENDİSLİĞİ
DANIŞMAN: Doç. Dr. Yaşar BECERİKLİ
HAZİRAN 2010
ILGILI DOKUMAN INTERNETTE ACIK OLARAK PAYLASILMAKTA OLUP TARAFIMDAN SIZ OKURLARA FAYDALI OLACAGINI DüSUNDUGUMDEN DOLAYI PAYLASIYORUM:
Her hangi bir telif hakki sorununda bana comment yazarak ulasabilirsiniz.
ELEKTROMANYETİK DALGALAR VE İNSAN SAĞLIĞI SIKÇA SORULAN SORULAR ve YANITLARI
ELEKTROMANYETİK DALGALAR VE İNSAN SAĞLIĞI
SIKÇA SORULAN SORULAR ve YANITLARI
Download Here: Elektro-manyetik-dalgalar-hakkinda-merak-edilen-sorular-ve-cevaplari-gsm