- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
delphi 用Automation 接口编写OPC 客户端
一,首先是 OPCAutomation 的安装
使用regsvr32 注册 OPCDAAuto.dll
在 Delphi 的 project 菜单中,选导入类型库 OPC Automation 2.0。
二 编写程序
声明 OPC 的类与接口
FOPCServer:TOPCServer; FOPCGroup :TOPCGroup; FOPCb :OPCBrowser;
FOPCItems :OPCItems; // interface FOPCItem :OPCItem; // interface
// 获取OPC Server 列表
function TForm1.OPCServerList(): Boolean; var OPCServerList,OPCServerName:OleVariant;
j,i:integer; begin
Result := false; try
FOPCServer := TOPCServer.Create(Self); OPCServerList:=FOPCServer.GetOPCServers;
i:=VarArrayHighBound(OPCServerList,1); for j:=1 to i do
begin
OPCServerName:=VarArrayGet(OPCServerList,j); lboxServerName.Items.Add(OPCServerName);
end; except
Result := False; end;
end;
// 连 接 OPC Server
function TForm1.OPCServerConnect(sServerID:string): Boolean; begin
Result := true; try
FOPCServer.Connect1(sServerID); except
Result := False; end;
end;
// 断开与 OPC 服务器的连接
procedure TForm1.OPCServerDisconnect; begin
if Assigned(FOPCServer) then begin
if Assigned(FOPCGroup) then begin
FOPCServer.OPCGroups.RemoveAll; FOPCGroup.Free;
FOPCGroup := nil; end;
FOPCItems := nil; FOPCItem := nil;
FOPCServer.Disconnect; FOPCServer.Free; FOPCServer := nil;
end; end;
// 创建 连接 OPC Group
function TForm1.OPCGroupConnect(AGroupName: OleVariant): Boolean; begin
Result := True; try
FOPCGroup := TOPCGroup.Create(Self); FOPCGroup.ConnectTo(FOPCServer.OPCGroups.Add(AGroupName)); FOPCGroup.UpdateRate :=1000;
FOPCGroup.IsActive := True;
FOPCGroup.IsSubscribed := True; // 事件支持
except
Result := False; end;
end;
procedure TForm1.BrowseItem(curNode:TTreeNode); var i: Integer;
sItemName:WideString; begin
with FOPCb do begin
Filter:='*'; DataType:=0; AccessRights:=0; ShowBranches;
for i:=1 to Count do begin sItemName:=Item(i);
TvItemView.Items.AddChild(curNode,sItemName); end;
// TvItemView.Selected.Expand(true); end;
end;
procedure TForm1.ADDBrowserItem; var
i,iOrg:integer; sItemName:WideString;
begin
FOPCb:=FOPCServer.CreateBrowser;
iOrg:=FOPCb.Get_Organization; if iOrg=2 then //平坦式结构begin
with
您可能关注的文档
- CSS3 dropdown menu 下拉菜单分析和总结.docx
- CSS各浏览器兼容问题整理.docx
- CSS浏览器兼容性的各种代码解决方案.docx
- css美化滚动条分析和总结.docx
- CS拓展的意义分析和总结.docx
- CS战略与房地产营销.docx
- CTB超引导下穿刺肺活检知情同意书讲解.docx
- Cthowg全国网络统考大学英语B 英译汉.docx
- CTQ部品管理基准.docx
- Ctscnq全新版大学英语综合教程2课后翻译.docx
- 2023年12月人民日报社安徽分社招考聘用工作人员笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月先进技术成果西部转化中心(四川省)面向社会公开招考笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月国家海洋局第一海洋研究所科研助理公开招聘1人笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月安徽淮南经济技术开发区城市社区专职网格员招考聘用8人笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月云南昭通市教体系统招考聘用优秀紧缺教师406人笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月份吉林大学专职辅导员公开招聘15人笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月北京市第十二中学教师招考聘用笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月天津市第二耀华中学招考聘用高层次教育人才笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月安徽合肥市第八中学生活教师招考聘用笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
- 2023年12月云南玉溪华宁县教育体育局提前招考聘用紧缺专业教师14人笔试近6年高频考题难、易错点荟萃答案带详解附后.docx
文档评论(0)