- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OPC技术的上位机与PLC之间的通信现代工业控制系统通常以PC机为上位机,通过与现场工控设备如PLC的数据交换与处理,实现对生产过程的自动控制。对于小型控制系统,采用专门的组态软件成本太高,用VB设计监控系统则可以降低成本,但首先要解决上位机与PLC之间通信问题。以往使用较多的进程间通信方式是DDE(动态数据交换)方式,随着OPC技术的发展和普及,它已成为工业过程控制的通信标准。OPC服务器有两类接口,其中自动化接口主要用于VB、Delphi等开发工具。本文利用罗克韦尔公司提供的OPC接口,用VB编写了客户端应用程序,实现了上位机与AB可编程控制器之间的数据交换。
2? OPC技术简介OPC(OLE for Process Control—用于过程控制的对象连接与嵌入)是一套以微软对象连接与嵌入OLE、组件对象模型COM、分布式组件对象模型DCOM(Distributed COM)技术为基础,基于Windows操作平台,为工业应用程序之间提供高效的信息集成和交互功能的组件对象模型接口标准。OPC实际上是提供了一种机制,通过这种机制,系统能够以服务器/客户端标准方式从服务器获取数据并将其传递给任何客户应用程序。这样,只要生产商开发一套遵循OPC规范的服务器与数据进行通信,其他任何客户应用程序便能通过服务器访问设备。OPC服务器有两类接口:定制接口和自动化接口。定制接口为C++程序服务,自动化接口为VB这一类可使用自动化对象的程序服务。定制接口是服务商必须提供的,而自动化接口则是可选的,不过OPC基金会提供了一个叫做“自动化包装器”的动态连接库,用于在两者间转换。OPC数据存取规范规定的基本对象有三类:服务器(server)、组(group)和数据项(item)。服务器对象包含服务器的所有信息,也是组对象的容器,一个服务器对应于一个OPC server,即一种设备的驱动程序。组对象除了包含它自身信息外,还负责管理数据项。每一个数据项代表到数据源的一个连接,但它没有提供外部接口,客户端程序无法对数据项直接进行操作,应用程序必须依靠数据项的容器组对象来对它进行操作。
3? 通信实现3.1? RSLinx的配置RSLinx是AB可编程控制器在Windows环境下建立工厂所用通信方 案的工具,它不仅提供了多种网络驱动程序,而且提供了最快速的OPC、DDE和Custom C/C++接口。本设计中上位机与Logix5550控制器采用RS-232串口方式连接,在RSLinx中要对DF1网络驱动程序组态,设置串口特性: COM1、波特率19200bps、一个停止位、无奇偶校验、全双工、BCC校验码。此外要使用RSLinx的OPC接口作为服务器,还要在RSLinx 中对OPC进行配置。3.2? 安装OPC自动化接口服务若要用VB开发OPC应用程序,必须安装OPC自动化接口服务,保证计算机系统目录下有OPCDAAuto.dll。OPC基金会提供了一个叫做“自动化包装器”的动态连接库,从OPC基金会的网站()可下载。在VB环境中,按“工程”的子菜单“引用…”后,弹出对话框,选择其中的“RSLinx OPC Automation 2.0”项,这样才能使用自动化接口。3.3? 程序设计用VB编写了OPC客户端应用程序,实现了上位机与Logix5550控制器之间的通信。主要程序代码如下:(1) 连接OPC服务器Dim WithEvents MyOPCServer As OPCServer????? ‘定义服务器对象变量MyOPCServerDim WithEvents MyOPCGroup As OPCGroup????? ‘定义OPC组对象变量MyOPCGroupSet MyOPCServer = New OPCServerMyOPCServer.Connect RSLinx OPC Server ‘连接RSLinx 的OPC服务器(2) 添加OPC组对象Set MyOPCGroup=MyOPCServer.OPCGroups.Add(Group1)??? ‘添加OPC组对象MyOPCGroup.IsSubscribed= True???? ‘设置该组数据为后台刷新MyOPCGroup.IsActive = True? ‘设置该组为激活状态
MyOPCGroup.UpdateRate=1000????? ‘设置数据刷新时间为1000(3) 添加数据项Dim abItemIDs() As String????? ‘项标识符Dim abClientHandles() As Long? ‘客户端句柄Dim abServerHandles() As Long‘服务器端句柄 Dim abErrors() A
您可能关注的文档
- Linux网络操作系统课程实验报告2.doc
- Linux网络操作系统课程实验报告3.doc
- Linux网络操作系统课程实验报告7.doc
- Linux网络服务-命令总结.doc
- Linux网络管理员认证考试资料.doc
- Linux网络配置-NFS.doc
- Linux网络配置文件.doc
- Linux系统的Apache Web服务器的目录访问控制.doc
- Linux系统下FTP服务器构建方案.doc
- Linux系统中网络配置详解.doc
- Oracal JDeveloper BPEL Designer文档.doc
- Oracle816ForHPUnix安装手册.doc
- Oracle 8i for HPUX 安装配置手册.doc
- oracle 9i + ms windows 2003 集群服务配置的详细文档.doc
- Oracle 11gRAC数据库安装(HPUX11.31+ASM without MC-SG).doc
- Oracle SQL loader的使用.doc
- oracle本地网络服务名配置.doc
- oracle后台操作手册.doc
- oracle配置透明网关连接SQLServer的流程.doc
- Oracle透明网关连接sybase.doc
文档评论(0)