实例介绍
OPCDA服务器与客户程序开发指南(修订版)以及其配套的源码,包括PDF图书和源码。 OPC是硬件通信协议,所以在分类里面可归类为硬件开发,但在该资源中,大部分代码都是使用VC++实现的。 由于编译环境的不同,可能在你的编译环境下稍作修改。
【实例截图】
【核心代码】
fca5d334-0138-4550-b26e-df762afeb1e2
├── OPCDA服务器与客户程序开发指南.pdf
└── OPCDA服务器与客户程序开发指南 第二章第三章第四章源码
├── 第三章
│ ├── OPC.reg
│ ├── STEP1-不含连接点
│ │ ├── Debug
│ │ │ ├── OPCDA.bsc
│ │ │ ├── OPCDA.exe
│ │ │ ├── OPCDA.ilk
│ │ │ ├── OPCDA.obj
│ │ │ ├── OPCDA.pch
│ │ │ ├── OPCDA.pdb
│ │ │ ├── OPCDA.res
│ │ │ ├── OPCDA.sbr
│ │ │ ├── OPCThrd.obj
│ │ │ ├── OPCThrd.sbr
│ │ │ ├── OPCUTIL.obj
│ │ │ ├── OPCUTIL.sbr
│ │ │ ├── regsvr32.trg
│ │ │ ├── StdAfx.obj
│ │ │ ├── StdAfx.sbr
│ │ │ ├── TestServer.obj
│ │ │ ├── TestServer.sbr
│ │ │ ├── vc60.idb
│ │ │ ├── vc60.pdb
│ │ │ ├── XXXGroup.obj
│ │ │ ├── XXXGroup.sbr
│ │ │ ├── XXXItem.obj
│ │ │ ├── XXXItem.sbr
│ │ │ ├── XXXServer.obj
│ │ │ └── XXXServer.sbr
│ │ ├── dlldata.c
│ │ ├── OPCDA.APS
│ │ ├── OPCDA.cpp
│ │ ├── OPCDA.dsp
│ │ ├── OPCDA.dsw
│ │ ├── OPCDA.h
│ │ ├── OPCDA_i.c
│ │ ├── OPCDA.idl
│ │ ├── OPCDA.ncb
│ │ ├── OPCDA.opt
│ │ ├── OPCDA_p.c
│ │ ├── OPCDA.plg
│ │ ├── OPCDAps.def
│ │ ├── OPCDAps.mk
│ │ ├── OPCDA.rc
│ │ ├── OPCDA.rgs
│ │ ├── OPCDA.tlb
│ │ ├── OPCERROR.H
│ │ ├── OPC.reg
│ │ ├── OPCThrd.cpp
│ │ ├── OPCThrd.h
│ │ ├── OPCUTIL.CPP
│ │ ├── OPCUTIL.H
│ │ ├── resource.h
│ │ ├── StdAfx.cpp
│ │ ├── StdAfx.h
│ │ ├── TestGroup.rgs
│ │ ├── TestServer.cpp
│ │ ├── TestServer.h
│ │ ├── TestServer.rgs
│ │ ├── XXXGroup.cpp
│ │ ├── XXXGroup.h
│ │ ├── XXXItem.cpp
│ │ ├── XXXItem.h
│ │ ├── XXXServer.cpp
│ │ └── XXXServer.h
│ ├── STEP1-含连接点
│ │ ├── Debug
│ │ │ ├── OPCDA.bsc
│ │ │ ├── OPCDA.exe
│ │ │ ├── OPCDA.ilk
│ │ │ ├── OPCDA.obj
│ │ │ ├── OPCDA.pch
│ │ │ ├── OPCDA.pdb
│ │ │ ├── OPCDA.res
│ │ │ ├── OPCDA.sbr
│ │ │ ├── OPCThrd.obj
│ │ │ ├── OPCThrd.sbr
│ │ │ ├── OPCUTIL.obj
│ │ │ ├── OPCUTIL.sbr
│ │ │ ├── regsvr32.trg
│ │ │ ├── StdAfx.obj
│ │ │ ├── StdAfx.sbr
│ │ │ ├── TestServer.obj
│ │ │ ├── TestServer.sbr
│ │ │ ├── vc60.idb
│ │ │ ├── vc60.pdb
│ │ │ ├── XXXGroup.obj
│ │ │ ├── XXXGroup.sbr
│ │ │ ├── XXXItem.obj
│ │ │ ├── XXXItem.sbr
│ │ │ ├── XXXServer.obj
│ │ │ └── XXXServer.sbr
│ │ ├── dlldata.c
│ │ ├── OPCDA.APS
│ │ ├── OPCDA.cpp
│ │ ├── OPCDA.dsp
│ │ ├── OPCDA.dsw
│ │ ├── OPCDA.h
│ │ ├── OPCDA_i.c
│ │ ├── OPCDA.idl
│ │ ├── OPCDA.ncb
│ │ ├── OPCDA.opt
│ │ ├── OPCDA_p.c
│ │ ├── OPCDA.plg
│ │ ├── OPCDAps.def
│ │ ├── OPCDAps.mk
│ │ ├── OPCDA.rc
│ │ ├── OPCDA.rgs
│ │ ├── OPCDA.tlb
│ │ ├── OPCERROR.H
│ │ ├── OPC.reg
│ │ ├── OPCThrd.cpp
│ │ ├── OPCThrd.h
│ │ ├── OPCUTIL.CPP
│ │ ├── OPCUTIL.H
│ │ ├── resource.h
│ │ ├── StdAfx.cpp
│ │ ├── StdAfx.h
│ │ ├── TestGroup.rgs
│ │ ├── TestServer.cpp
│ │ ├── TestServer.h
│ │ ├── TestServer.rgs
│ │ ├── XXXGroup.cpp
│ │ ├── XXXGroup.h
│ │ ├── XXXItem.cpp
│ │ ├── XXXItem.h
│ │ ├── XXXServer.cpp
│ │ └── XXXServer.h
│ └── STEP_BROWSER
│ ├── dlldata.c
│ ├── OPCDA.APS
│ ├── OPCDA.cpp
│ ├── OPCDA.dsp
│ ├── OPCDA.dsw
│ ├── OPCDA.h
│ ├── OPCDA_i.c
│ ├── OPCDA.idl
│ ├── OPCDA.ncb
│ ├── OPCDA.opt
│ ├── OPCDA_p.c
│ ├── OPCDA.plg
│ ├── OPCDAps.def
│ ├── OPCDAps.mk
│ ├── OPCDA.rc
│ ├── OPCDA.rgs
│ ├── OPCDA.tlb
│ ├── OPCERROR.H
│ ├── OPC.reg
│ ├── OPCThrd.cpp
│ ├── OPCThrd.h
│ ├── OPCUTIL.CPP
│ ├── OPCUTIL.H
│ ├── resource.h
│ ├── StdAfx.cpp
│ ├── StdAfx.h
│ ├── TestGroup.rgs
│ ├── TestServer.cpp
│ ├── TestServer.h
│ ├── TestServer.rgs
│ ├── XXXGroup.cpp
│ ├── XXXGroup.h
│ ├── XXXItem.cpp
│ ├── XXXItem.h
│ ├── XXXServer.cpp
│ └── XXXServer.h
├── 第二章
│ ├── beep
│ │ ├── BeepCnt.cpp
│ │ ├── BeepCnt.h
│ │ ├── BeepCntMod.aps
│ │ ├── BeepCntMod.cpp
│ │ ├── BeepCntMod.def
│ │ ├── BeepCntMod.dsp
│ │ ├── BeepCntMod.dsw
│ │ ├── BeepCntMod.h
│ │ ├── BeepCntMod_i.c
│ │ ├── BeepCntMod.idl
│ │ ├── BeepCntMod.ncb
│ │ ├── BeepCntMod.opt
│ │ ├── BeepCntMod_p.c
│ │ ├── BeepCntMod.plg
│ │ ├── BeepCntModps.def
│ │ ├── BeepCntModps.mk
│ │ ├── BeepCntMod.rc
│ │ ├── BeepCntMod.tlb
│ │ ├── BeepCnt.rgs
│ │ ├── dlldata.c
│ │ ├── resource.h
│ │ ├── StdAfx.cpp
│ │ ├── StdAfx.h
│ │ ├── Step 0
│ │ │ ├── BeepCntMod.aps
│ │ │ ├── BeepCntMod.cpp
│ │ │ ├── BeepCntMod.def
│ │ │ ├── BeepCntMod.dsp
│ │ │ ├── BeepCntMod.dsw
│ │ │ ├── BeepCntMod.h
│ │ │ ├── BeepCntMod_i.c
│ │ │ ├── BeepCntMod.idl
│ │ │ ├── BeepCntMod.ncb
│ │ │ ├── BeepCntMod.opt
│ │ │ ├── BeepCntMod.plg
│ │ │ ├── BeepCntModps.def
│ │ │ ├── BeepCntModps.mk
│ │ │ ├── BeepCntMod.rc
│ │ │ ├── BeepCntMod.tlb
│ │ │ ├── Resource.h
│ │ │ ├── StdAfx.cpp
│ │ │ └── StdAfx.h
│ │ ├── Step 1
│ │ │ ├── BeepCnt.cpp
│ │ │ ├── BeepCnt.h
│ │ │ ├── BeepCntMod.aps
│ │ │ ├── BeepCntMod.cpp
│ │ │ ├── BeepCntMod.def
│ │ │ ├── BeepCntMod.dsp
│ │ │ ├── BeepCntMod.dsw
│ │ │ ├── BeepCntMod.h
│ │ │ ├── BeepCntMod_i.c
│ │ │ ├── BeepCntMod.idl
│ │ │ ├── BeepCntMod.ncb
│ │ │ ├── BeepCntMod.opt
│ │ │ ├── BeepCntMod_p.c
│ │ │ ├── BeepCntMod.plg
│ │ │ ├── BeepCntModps.def
│ │ │ ├── BeepCntModps.mk
│ │ │ ├── BeepCntMod.rc
│ │ │ ├── BeepCntMod.tlb
│ │ │ ├── BeepCnt.rgs
│ │ │ ├── dlldata.c
│ │ │ ├── resource.h
│ │ │ ├── StdAfx.cpp
│ │ │ └── StdAfx.h
│ │ └── VBDriver
│ │ ├── BeepCntMod.dll
│ │ ├── Form1.frm
│ │ ├── Project1.exe
│ │ ├── Project1.vbp
│ │ └── Project1.vbw
│ └── 说明.txt
└── 第四章
├── client-vb
│ ├── ASync-VB
│ │ ├── AsyncSample.frm
│ │ ├── asyncsample.vbp
│ │ └── asyncsample.vbw
│ ├── Browser-VB
│ │ ├── Browser.exe
│ │ ├── Browser.frm
│ │ ├── Browser.frx
│ │ ├── BrowserGlobal.bas
│ │ ├── Browser.vbp
│ │ ├── Browser.vbw
│ │ └── MSSCCPRJ.SCC
│ └── Sync-VB
│ ├── OPCSync.frm
│ ├── opcsync.vbp
│ └── opcsync.vbw
├── client-vc
│ ├── AsynOpc
│ │ ├── AsynOpc.aps
│ │ ├── AsynOpc.clw
│ │ ├── AsynOpc.cpp
│ │ ├── AsynOpcDlg.cpp
│ │ ├── AsynOpcDlg.h
│ │ ├── AsynOpc.dsp
│ │ ├── AsynOpc.dsw
│ │ ├── AsynOpc.h
│ │ ├── AsynOpc.ncb
│ │ ├── AsynOpc.opt
│ │ ├── AsynOpc.plg
│ │ ├── AsynOpc.rc
│ │ ├── callback.cpp
│ │ ├── callback.h
│ │ ├── Debug
│ │ │ ├── AsynOpcDlg.obj
│ │ │ ├── AsynOpc.exe
│ │ │ ├── AsynOpc.ilk
│ │ │ ├── AsynOpc.obj
│ │ │ ├── AsynOpc.pch
│ │ │ ├── AsynOpc.pdb
│ │ │ ├── AsynOpc.res
│ │ │ ├── callback.obj
│ │ │ ├── StdAfx.obj
│ │ │ ├── vc60.idb
│ │ │ └── vc60.pdb
│ │ ├── OPCDA.H
│ │ ├── OPCDA_I.C
│ │ ├── OpcError.h
│ │ ├── ReadMe.txt
│ │ ├── res
│ │ │ ├── AsynOpc.ico
│ │ │ ├── AsynOpc.rc2
│ │ │ └── Thumbs.db
│ │ ├── resource.h
│ │ ├── StdAfx.cpp
│ │ └── StdAfx.h
│ ├── AsynOpc_groups
│ │ ├── AsynOpc.aps
│ │ ├── AsynOpc.clw
│ │ ├── AsynOpc.cpp
│ │ ├── AsynOpcDlg.cpp
│ │ ├── AsynOpcDlg.h
│ │ ├── AsynOpc.dsp
│ │ ├── AsynOpc.dsw
│ │ ├── AsynOpc.h
│ │ ├── AsynOpc.ncb
│ │ ├── AsynOpc.opt
│ │ ├── AsynOpc.plg
│ │ ├── AsynOpc.rc
│ │ ├── callback.cpp
│ │ ├── callback.h
│ │ ├── OPCDA.H
│ │ ├── OPCDA_I.C
│ │ ├── OpcError.h
│ │ ├── ReadMe.txt
│ │ ├── res
│ │ │ ├── AsynOpc.ico
│ │ │ ├── AsynOpc.rc2
│ │ │ └── Thumbs.db
│ │ ├── resource.h
│ │ ├── StdAfx.cpp
│ │ └── StdAfx.h
│ ├── AsynOpc_remote
│ │ ├── AsynOpc.aps
│ │ ├── AsynOpc.clw
│ │ ├── AsynOpc.cpp
│ │ ├── AsynOpcDlg.cpp
│ │ ├── AsynOpcDlg.h
│ │ ├── AsynOpc.dsp
│ │ ├── AsynOpc.dsw
│ │ ├── AsynOpc.h
│ │ ├── AsynOpc.ncb
│ │ ├── AsynOpc.opt
│ │ ├── AsynOpc.plg
│ │ ├── AsynOpc.rc
│ │ ├── callback.cpp
│ │ ├── callback.h
│ │ ├── OPCDA.H
│ │ ├── OPCDA_I.C
│ │ ├── OpcError.h
│ │ ├── ReadMe.txt
│ │ ├── res
│ │ │ ├── AsynOpc.ico
│ │ │ └── AsynOpc.rc2
│ │ ├── resource.h
│ │ ├── StdAfx.cpp
│ │ └── StdAfx.h
│ ├── Browser
│ │ ├── Browser.aps
│ │ ├── Browser.clw
│ │ ├── Browser.cpp
│ │ ├── BrowserDlg.cpp
│ │ ├── BrowserDlg.h
│ │ ├── Browser.dsp
│ │ ├── Browser.dsw
│ │ ├── Browser.h
│ │ ├── Browser.ncb
│ │ ├── Browser.opt
│ │ ├── Browser.plg
│ │ ├── Browser.rc
│ │ ├── OPCDA.H
│ │ ├── OPCDA_I.C
│ │ ├── OpcError.h
│ │ ├── ReadMe.txt
│ │ ├── res
│ │ │ ├── Browser.ico
│ │ │ ├── Browser.rc2
│ │ │ └── Thumbs.db
│ │ ├── resource.h
│ │ ├── StdAfx.cpp
│ │ └── StdAfx.h
│ └── SynOpc
│ ├── OPCDA.H
│ ├── OPCDA_I.C
│ ├── OpcError.h
│ ├── ReadMe.txt
│ ├── res
│ │ ├── SynOpc.ico
│ │ └── SynOpc.rc2
│ ├── resource.h
│ ├── StdAfx.cpp
│ ├── StdAfx.h
│ ├── SynOpc.aps
│ ├── SynOpc.clw
│ ├── SynOpc.cpp
│ ├── SynOpcDlg.cpp
│ ├── SynOpcDlg.h
│ ├── SynOpc.dsp
│ ├── SynOpc.dsw
│ ├── SynOpc.h
│ ├── SynOpc.ncb
│ ├── SynOpc.opt
│ ├── SynOpc.plg
│ └── SynOpc.rc
└── 说明.txt
29 directories, 369 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论