当前位置:首页 » 社会万象 » 正文

分类页和文章页“当前位置”下方广告(PC版)
分类页和文章页“当前位置”下方广告(移动版)

电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sod

285 人参与  2019年05月07日 20:05  分类:社会万象  评论:0  
  移步手机端

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

OPC Server是一套运用微软的COM/DCalongOM技能完结工业自动化材料获取的架构。OPC Server供给OPC接口,它将与之相连的物理设备(PLC)的信息值经过接口回来到客户端应用程序。也就是说,客户端经过这些接口,能够获得与OPC Server衔接的物理设备的信息。关于集成应用程序,只需支撑OPC接口,就能容易拜访物理设备,而无需相关的技能信息。 程序设计者能够运用相同的程序代码,操作不电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sod同的硬件设备,充沛达到软件复用的意图。

假如渡边直美从.NET拜访OPC Server,则需求交流COM和.NET的包装器。 它解说了C#.NET在这里运用RCW(Runtime Callble Wra电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sodpper)拜访OPC服务器的完结。

经过COM衔接到OPC服务器

创立COM衔接的实例,指定OPC服务器的CLSID,您能够获取OPC的每个接口指针,例如OPC服务器目标和阅读目标等。

IOPCServerList svrList = (IOPCServerList)CreateInstance(CLSID_SERVERLIST, null);
Guid clsidList;
svrList.CLSIDFromProgID(sSvrName, out clsidLis吃西餐刀叉怎样拿t);
m_OPCServer = (IOPCServer)CreateInstance(clsidList, sNodeName);
AddGroup(sGrpName, iUpdateRate);
IOPCCommon m_com = (IOPCCommon)m_OPCServer;

创立OplumperPC组并添加标签

需求在OPC服务器中创立组目标以从外部获取实践数据。数据更新周期能够设置为组目标,而且一般将经过相同同步拜访的设备注册到组。由于每个组的线程都是在OP吴俊匡C服务器中创立的,所以请注意CPU负载添加过多细分。

// Add OPCGroup
guidGroupState电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sodMgt = Marshal.GenerateGuidForType(typeof(IOPCGroupStateMgt2));
m_OPCServer.AddGroup自缚被发现(sGrpName, (bActive) ? 1 : 0, iUpdateRa在地下城寻求邂逅是否搞错了什么te,
iClientGroup, ptrTimeBias, ptrDeadBand, iLCID,
out m_iServerGroup, out iRevisedUpdateRate,
ref guidGroupStateMgt, out 0755group);
m_OPCGroup2 = (IOPCGroupStateMgt2)group;
m_OPCGroup2.SetKee电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sodpAlive(iKeepAliveTime, out iKeepAliveTime);
m_OPCConnPointCntnr = (IConnectionPointContainer)m_O德川家康PCGroup2电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sod;
guidDataCallback = Marshal红烧铁狮子头.GenerateGuidForType(ty墙纸图片peof(IOPCDataCallback));
m_OPCConnPointCntnr.FindConncontractectionPoint(ref guidDataCallback,凤求凰紫晓 out m_OPCConnPoint);
// Add OPCItems
fo姐姐的男朋友r (i = 0; i < iItemCount; i++)
{
itemDef[i].szItemID = ItemName[i];
itemDef[i].bActive = 1;
itemDef[i].hClient = ClientHd[i];
}
m_OPCItem = (IOPCItemMgt)m_OPCGroup2;
m_OPCItem.AddItems(iItemCount, itemDef, out ppResult, out ppErrors);

同步读/写和ASyn吮乳c读/写

OPC有两种数据拜访方法,Synchronize和Asynchronous。在Synchronize中,客户端应用程序有必要等候完结服务器作业。但客户端应用程序能够承认服务器业务正常完结,由于OPC服务器在完结通讯作业时回来成果。这是一种一般的程序。

在异步形式下,OPC服务器会在收到恳求后立行将句柄转为客户端,并在后台持续履行业务。完结此作业后,调用客户端应用程序的处理程序。异步形式减少了通讯的等候时间,并能够运转客户端应用程序。

提示:在主张形式下启用异步拜访。

// Read by IOPCSyncIO
OPCSyncIO2 = (IOPCSyncIO2)m_OPCGroup2;
OPCSyncIO2.Read(OPC_DS_D插一下EVIC随遇而安是什么意思E /*OPC_DS_CACHE*/, iItemCount, ServerHd, out ppItemVal, out ppErrors);
Marshal.Copy(ppErrors, Errors, 0, iItemCount);
posItem = ppItemVal;
for (i=0; i
{
ItemState = (OPCITEMSTATE)Marshal.PtrToStructure(posItem, typeof(OPCITEMSTATE));
if (Errors[i] == 0)
{
Values[i] = ItemState.vDataValue;
TimeStamps[i] = ItemState.ftTimeStamp;
Qualities[i] = ItemS电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sodtate.wQuality;
}
Marshal.DestroyStructure(posItem, typeof(OPCITEMSTATE));
posItem = new IntPtr(posItem.ToInt32() + Marshal.SizeOf(typeof(OPCITEMSTATE)));
}
// Write by IOPCSyncIO.
OPCSyncIO2.Write(iItemCount, ServerHd, Value, out ppErrors);
Marshal.Copy(ppErrors, errors, 0缬沙坦, iItemCount);
Marshal.FreeCoTa电视直播软件,OPC Server示例教程:OPC客户端——C#.NET示例,sodskMem(ppErrors);

高速缓存读取(OPC_DS_CACHE)当即回来服务器内存中的最新数据值,而无需通讯。OPC服务器依据每个组的注册更新周期自动更新数据。当它可能不一定是最新数据时,能够进行高速拜访。

/鸳鸯战袄/ Read by IOPCASyncIO
OPCAsyncIO3 = (IOPCAsyncIO3)m_OPCGroup2;
OPCAsyncIO3.Read(iItemCount, ServerHd, wTransID, out wCancelID, out ppErrors);
// Write by IOPCASyncIO
OPCAsyncIO3 = (IOPCAsyncIO3)m_OPCGroup2;
OPCAsyncIO3.Write(iItemCount, ServerHd, Value, wTransID, out wCancelID, out ppErrors);
Marshal.FreeCoTaskMem(ppErrors);

点击“了解更多”下载产品最新试用版

↓↓↓

转载请保留出处和链接!

本文链接:http://www.ununbox.com/articles/63.html

文章底部广告(PC版)
文章底部广告(移动版)
百度分享获取地址:http://share.baidu.com/
百度推荐获取地址:http://tuijian.baidu.com/,百度推荐可能会有一些未知的问题,使用中有任何问题请直接联系百度官方客服!
评论框上方广告(PC版)
评论框上方广告(移动版)
推荐阅读