求助:远程连接OPC(kepware) for delphi 点击:3364 | 回复:5



zhoufafa

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2008年9月27日
发表于:2008-09-27 20:51:05
楼主

var
ServerList : variant;

ServerList := OPCServer1.GetOPCServers;

OPCServer1.Connect1(ServerList【1】,0);

这应该是连接本地OPC,如果是远程连接(远程连接到KEPware server)的需要怎么修改?包括设置。

谢谢,我的手里就3分,不要嫌弃

或者有delphi远程连接OPC(RSlinx)并读取数据的程序也行

 




沙漠的风雨

  • 精华:0帖
  • 求助:0帖
  • 帖子:24帖 | 461回
  • 年度积分:0
  • 历史总积分:1069
  • 注册:2003年10月23日
发表于:2008-09-28 11:11:24
1楼

首先要配置DCOM,

然后看你用什么方法了 开发程序的   用的是别人提供的DLL库,还是自动化接口

一般配置好DCOM 后 本地连接和远程连接是一样的 

我也在用Dephi开发OPC client 欢迎交流学习 欢迎加入qq群 20419865

zhoufafa

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 1回
  • 年度积分:0
  • 历史总积分:0
  • 注册:2008年9月27日
发表于:2008-09-28 17:11:02
2楼

我有KEPware,然后delphi编程的时候用的是kepopcdaauto.dll

您说的就是程序不用修改?配置好DCOM,那KEPware需要做什么配置吗?

怎么才能知道已经远程连接了?客户端要装KEPware吗?

PS:群已满

老伙计

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 37回
  • 年度积分:0
  • 历史总积分:237
  • 注册:2003年10月10日
发表于:2008-10-06 11:24:24
3楼
vc是调用不同的函数,开发包一般的都封装成一个函数了,注意参数不同就可以了 你说的这个kep没留意过,不过没大概的意思应该差不多

[明月夜]

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2009-05-04 14:22:03
4楼

有专门的本地连接与远程连接的代码,我有C++BUILDER的代码,DELPHI很相近,但有不太同,

bool ConnectOPCServer(WideString id, // OPC Server ID
WideString ip, // IP,空为本地
IUnknown * & opcServer)
{ // 支持远程联接OPCServer
try
{
CLSID clsid;
OleCheck(CLSIDFromProgID(id,&clsid));
if (ip.Length()!=0)
{ // 远程OPC
COSERVERINFO ServerInfo={0,ip.c_bstr(),0,0};
MULTI_QI MQI={&IID_IOPCServer,NULL,0};
OleCheck(CoCreateInstanceEx(clsid,
NULL,
CLSCTX_REMOTE_SERVER,
&ServerInfo,
1,
&MQI));
opcServer=MQI.pItf;
}
else
{ // 本地OPC
OleCheck(CoCreateInstance(clsid,
NULL,
CLSCTX_LOCAL_SERVER,
IID_IOPCServer,
(void **)&opcServer));
}
return(true);
}
catch(...)
{
opcServer=NULL;
return(false);
}
}

[明月夜]

  • 精华:3帖
  • 求助:0帖
  • 帖子:114帖 | 3593回
  • 年度积分:0
  • 历史总积分:7688
  • 注册:2008年3月16日
发表于:2009-05-04 14:24:23
5楼

可以看到,远程与本地的连接方式有区别,

组合在一起,一般用IP地址区分,为空表本地,不空表远程;


热门招聘
相关主题

官方公众号

智造工程师