第32卷 第2期
2008年4月
武汉理工大学学报(鸯望霾差)
JournalofWuhanUniversityofTechnology
(TransportationScience&Engineering)
V01.32No.2
Apr.2008
基于OPC技术的PC与S7—200PLC的实时通信*
周新民 涂铮
(武汉理工大学自动化学院武汉430063)
摘要:介绍了OPC技术及其数据采集的基本原理,在此基础上提出了PC和PLC通过以太网构成的
控制系统
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
.简单介绍了系统的OPCServer硬件组态设置的
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
,利用OPC标准驱动方式在VB
中实现了PC与SiemensS7—200PLC实时通信,并提供了由VB开发的OPCClient软件程序.所介绍
的方法具有一定的代表性,已应用于实际项目,目前系统运行稳定、可靠,效果良好.
关键词lOPC技术;VB;PLC;SIMATIC.NET
中图法分类号:U653.922
0 引7 言
随着计算机技术和控制技术的发展,计算机
控制系统广泛应用于工业控制领域.系统中常常
采用不同厂家、不同类型的现场设备,这些现场设
备的通信机制并不相同,由此带来不同设备之间
数据通信的接口问题.过去,上位计算机与下位控
制器之间的通信常常要根据控制的具体通信
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
专门编写通信程序,由于接口不统一,给开发工作
增加了难度Ⅱ].因此,采用统一的接口实现设备间
的通信显然是十分必要的.
OPC(OLEforProcessContr01)技术是以
Microsoft公司的OLE/COM技术为基础建立的
一项技术规范与标准,规范定义了一个工业标准
接口,为工业控制领域提供了标准的数据访问机
制[2].OPC采用Client/Server模式,规范了接口
函数,不管现场设备以何种形式存在,客户都以统
一的方式去访问,从而保证软件对客户的透明性,
使得用户完全从低层的开发中脱离出来.OPC规
范提供的通用标准实现了服务器与客户之间进行
数据通信和交换,成为解决应用程序和设备间通
信的理想手段.在实际应用的控制系统中,它可作
为监控PC与下位设备之间的信息传输通道,使得
现场设备与控制系统的连接更为简单、方便和灵
活.目前OPC技术在工业网络控制系统中的应用
十分广泛,国内外很多自动化软件公司开发基于
OPC的工业组态软件,如RockwelSoftware,Na—
tionalInstruments(NI),FarpointTechnologies
公司,等等.
目前国内外主流组态软件内一般都带有自己
的OPCClient/Server,而对于只想使用OPC实现
通信功能的用户而言,组态软件附带的其他功能
往往并不需要,而且面对多种多样的自动化控制
器件,OPC技术对他们的驱动并不能全部包括.
所以对于中小型控制系统,用户如果使用自己开
发的OPCClient与硬件设备开发商所提供的
OPCServer进行数据交互,将大大减少开发周
期,并且能有效的利用资源,节约成本.
本文以长江武汉航道局铺排船监控系统项目
为背景,介绍一种利用OPC标准驱动方式在VB
环境中实现PC与SiemensST-200PLC实时通信
的方法,从而实现良好的人机界面与可靠的系统
控制.
1 OPC技术
OPC的逻辑对象模型大体上分为3个层次:
OPCServer对象、OPCGroup对象和OPCItem.
收穑日期12007—11—04
周新民;男,40岁,副教授,主要研究领域为工控网络、电力电子及电机控制技术
’长江武汉航道
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
局项目资助(批准号:20023h0088)
万方数据万方数据
第2期 周薪民,等:基于OPC技术的PC与S7—200PLC的实时通信 ·355·
其中OPCServer维护服务器的信息并作为OPC
Group对象的容器,OPCGroup维护自己的信息
并提供包含OPCItems和以有效的逻辑组织OPC
Items的机制,oPCItem代表与数据源的连接,
存储具体Item的定义、数据值、状态值等信息[3].
由于OPC规范基于OLE/COM技术,同时OLE/
COM的扩展远程OLE自动化与DCOM技术支
持TCP/IP等多种网络协议,因此可以将OPC
Client,Server在物理上分开,分布于网络不同节
点上.
OPC通常支持两种类型的访问接口:OPC定
制接口和OLE自动化接口.定制接口效率高,客
户能够发挥OPC服务器的最佳性能,采用C++
语言的客户一般采用此方案.自动化接口使解释
性语言和宏语言访问OPC服务器成为可能.采用
VB等语言的客户一般采用自动化接口[4].
OPC数据访问方式主要有同步和异步两种.
同步方式是指客户向服务器发出读写请求,然后
等待服务器返回信息.异步方式是指客户向服务
器发出读写请求后,服务器立刻返回信息表示请
求已接受,客户可以进行其他处理,当服务器完成
读写操作后,主动把采集结果通知客户方.相比较
而言,同步数据传输简单可靠,但效率不高,当客
户数据较少而且同服务器交互的数据量比较少的
时候可以采用这种方式.而异步数据传输可以提
高程序的效率,避免了程序的空等待.OPC的异
步数据传输方式又分为两种方法:异步读写方式
和订阅方式.订阅方式是指客户提出一次订阅请
求,服务器将周期性地采集数据,然后周期性地通
知客户,直到客户取消订阅为止.如果客户想一直
监视某些变量,则使用订阅方式的效率更高[5].
2通信方案及其实现
该监控系统采用了Siemens公司S7—200PLC
对铺排船上的设备状态进行监控,并使用VB语
言开发了上位自动监控人机界面.
图1是所
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
控制系统结构框架.现场PLC
计算机
S7—200$7-200
图1控制网络结构框架
采用西门子S7—200PLC,计算机与PLC之间采用
以太网通信方式,因此S7—200PLC配置中选用了
以太网通信处理器CP243—1智能模块,用于S7—
200系统与PC的通信连接.由于计算机需连接多
个PLC,因此配置了一个以太网交换机.
为减少通信程序的开发量,使用Siemens公
司SIMATIC.NET的OPCServer自动化接口.其
开发过程较定制接口简单,并且VB语言编程简
洁、程序集成化程度高,可大大减少开发周期.
将CP243—1作为服务器,运行在计算机上呶
SIMATIC.NET软件作为客户端,通过CP243—1
访问PLCCPU的数据.SIMATIC.NET软件本
身提供OPCServer,运用VB语言编写的Client程
序作为OPCClient软件可以访问它.
2.1硬件组态
硬件组态包括S7—200站和PC站两个部分.
S7—200站硬件组态用STEP7Miero/WIN32软
件,在向导程序中将CP243—1配置为SERVER,设
置好CP243—1模块的地址,包括IP地址,子网掩
码,网关地址.在‘‘本地属性(服务器)”中填写
CLIENT端的IP地址.然后在向导中直接调用向
导生成用于启动和初始化CP243—1模块的子程序
EHTx—CTRL.PC站硬件组态用STEP7v5.3软
件,设置PG/PC接口,配置一个Otherstation和
这个站与OPCServer之间的连接.用Configura—
tionConsole配置PC站.最后用StationConfigu—
rationEditor配置PC站.在“Components”栏中添
加OPCServer和IEGeneral.
2.2软件编程
安装SIMATICNET6.2软件后,在操作系
统中将增加一个OPC服务器,服务器的名字是
“OPC.SIMATICNET”.用VB编写OPC客户端
程序与OPC服务器通信.打开VB,在“引用”中加
入SiemensOPCDAAutomation2.0.
下面介绍的例程给出在VB开发环境下编写
OPC客户端程序的过程.例程中利用VB实时读
写和显示S7—200PLC某个地址区的变量值.在VB
环境下,利用标签和文本框,来显示和输入PLC
的Qo.0一Qo.3值.
1)OPC客户连接到OPC服务器,建立OPC
Group和OPCItem.
//声明部分
OptionBase1
PrivateWithEventsMyOPCServerAsOPCServer
PrivateWithEventsMyOPCGroupsAsOPCGroups
万方数据万方数据
·356· 武汉理工大学学报(交通科学与工程版) 2008年第32卷
PrivateWithEventsMyOPCGroupAsOPCGroup
DimServerNameAsString//服务器名
DimGroupNameAsString//组名
DimMyOPCItemsAsOPCItems
DimItemIDs()AsString//添加的标签名
DimItemNumhAsLong//添加的标签数量
DimMyServerHandles()AsLong//服务器标签句
柄,必须为任意长
DimMyClientHandles()AsLong//客户端标签句
柄
DimErrors()AsLong//OPC返回错误
与OPC连接程序如下.
PublicSubOPCconnect()
ItemNumb=4
SetMyOPCServer=NewOPCServer//生成0PC
Server对象
ServerName=”OPC.SimaticNET”//连接OPC
Server
SetMyOPCGroups=MyOPCServer.OPCGroups
//生成组集合对象
SetMyOPCGroup=MyOPCGroups.Add(”Group
One一)//添加组名为GroupOne的组对象
MyOPCGroups.DefaultGroupUpdateRate=100//
定义MyOPCGroups的Refreshrate
SetMyOPCItems=MyOPCGroup.OPCItems
ReDimItemlDs(ItemNumb)
ReDimMyClientHandles(ItemNumb)
ItemlDs(1)=”S7:Es7connection一1]Q0.0,1”
hemIDs(2)=”S7;Es7connection一1]Q0.1,1”
ItemIDs(3)=”s7:Es7connection一1]Q0.2,1”
ItemIDs(4)一"S7:Es7connection一1]Q0.3,1”
DimiAsInteger
Fori=lToItemNumb
MyClientHandles(i)=i
Nexti
MyOPCItems.AddhemsItemNumb。ItemIDs,
MyClientHandles,MyserverHandles,ErrorsMy—
OPCItems.AddItems..
ItemNumb,一//提供标签数量
ItemlDs,一//提供标签值
MyClientHandles。一//提供客户句柄
MyServerHandles,一//返回服务器句柄
Errors//返回服务器报错
MyOPCGroup.IsActive=True//准备收发数据
MyOPCGroup。IsSubscribed=True//产生事件
EndSub
2)通过Group和Item进行数据访问由于
本系统需要访问的数据量比较少,故使用同步写
函数,该函数方法为
MyOPCGroup.SyncWrite—.
4,一//提供标签数量
ServerHandles,一//提供服务器句柄
ItemValues,一//提供标签值
Errors
虽然异步读取数据非常有效,但使用组事件
DataChange效果会更好.只要组发生了变化,就
会触发这个组的事件.在VB中,引发事件的对象
叫做事件源,为了处理事件源所引发的事件,用关
键字WithEvents声明对象类的变量.当组的属性
订阅后,即IsSubscribed为真时,事件就会被触
发嘲.添加4个Text文本框数组Readval(),用来
显示从PLC读取的值.
PrivateSubMyOPCGroup——DataChange(—.
ByValTransactionIDAsLong,一
ByValGroupHandleAsLong,—.
ByValNumItemsAsLong,一//Item改变值的个数
ClientHandles()AsLong,—.
ItemValuesOAsVariant,一//改变值的数据
Qualities()AsLong,一//改变值的品质
TimeStampsOAsDate)//改变值的时间戳
Dimi AsInteger
Fori=1ToNumltems
SelectCaseClientHandles(i)
CaseMyClientHandles(1)
Readval(1).Text=ItemValues(i)
Case⋯
;
EndSelect
Nexti
EndSub
3)处理完毕,关闭连接断开程序相当简
单,释放资源即可.先释放组和服务器对象
MyOPCGroup.RemoveAll
再与服务器断开连接并且清除.
MyOPCServer.Disconnect
SetMyOPCItem=Nothing
SetMyOPCGroup=Nothing
SetMyOPCServer=Nothing
3 结束语
随着OPC技术发展,OPC技术的优越性吸引
了越来越多的人开始从事OPC程序的研究和开
发.本文介绍的VB与PLC基于OPC技术通信的
例子,只需改变OPC服务器名,即可作为其他客
户端,因此具有很高的参考价值.该方法已应用于
万方数据万方数据
第2期 周新民,等:基于OPC技术的PC与S7—200PLC的实时通信 ·357·
实际项目中,系统运行稳定、可靠,效果良好.
参考文献
[1]陈蕴基,田宇,鲁凯生.基于RS422总线的PLC控
制系统的研究[J].武汉理工大学学报:交通科学与工
程版,2003,27(2):154—156.
[2]张建武,高国琴.OPC客户/服务器模型设计[J].计
算机仿真,2005,22(4)1152—154.
[3]刘莉.用VB编写OPC客户端程序的方法D].工业
控制计算机,2005,18(5):5-6.
[4]王俊萍.OPC技术在扩展SCADA系统中的应用[J].
现代电子技术,2005(10):42—44.
[5]马增良,兰斌.OPC数据访问服务器实现机制研究
[J].计算机工程与应用,2003(21):65.67.
[6]何海江.使用VB连接OPC数据存取服务器[J].工业
控制计算机,2003,16(6):31—33. 。
RealTimeCommunicationbetweenPC andKeal 1lme0mmunlcabeteen
S7—200PLCBasedon0PC
ZhouXinminTuZheng
(SchoolofAutomation,WUT,Wuhan430063)
Abstract
TheOPCtechnologyandtheprinciplesofOPCdataaccessisintroducedinthispaper.Themain
purposeistOdesignaPCandPLCcontrolsystembasedonEthernet.ThemethodofOPCServer7S
hardwareconfigurationiSalsopresented.DiscussioniSmadeforthemethodofcommunicationbe—
tweenPCandS7—200PLCbyOPConVisualBasicplatform.ThemainVBprogramoftheOPCClient
softwareisprovided.Themethodisappliedinpracticalproject.Thesystemisrunningwithsteady,
reliableandgoodperformance.
Keywords:0PC;VB;PLC}SIMATIC.NET
—+——+—-●-·■—·■·-—卜——卜··卜-—+——+--■-·■——■—·■一·■--■—-—●——+—-●一-+-——-——-■—-■—-■—·—卜—-+—-+——’—·■—·■—·-.·-——·■—-■—--.一·■—·-.一-—卜_—卜——卜_—卜——+—-●——+——●···●一
(上接第353页)
DistributionRegularityAnalysisofShipArrival
andDepartmentattheTianjinPortMainChannel
LiuJingxianLiYunbin
(SchoolofNavigation,WuhanUniversityofTechnology,Wuhan430063)
Abstract
InordertOanalyzethedistributioncharacteristicoffleetofshipspassingmainchannelofTianjin
port,thedistributionofhypothesistestingofshipnumberthroughfairwayofTianjinportisgivenUS—
ingmathematicalstatisticmethodsbasedonthesamplesofship--to—-portstatisticsofTianjinportfrom
2003to2005.WithnormaldensityfunctioncurvesandPoissondensityfunctioncurvestOfitthesta—
tisticalsamples,ahistogramisobtained.Bythechi-squaretesting,thefittingwiththenormaldistri-
butionissuperiortoPoissondistribution.ResultsshowthatthenumberofarrivedshipsatTianjin
portmainchannelisfittingthenormaldistribution.
Keywords:distributionregularityofarrival;densityofprobability;functionfitting;normaldistribu-
tion
万方数据万方数据
基于OPC技术的PC与S7-200 PLC的实时通信
作者: 周新民, 涂铮, Zhou Xinmin, Tu Zheng
作者单位: 武汉理工大学自动化学院,武汉,430063
刊名: 武汉理工大学学报(交通科学与工程版)
英文刊名: JOURNAL OF WUHAN UNIVERSITY OF TECHNOLOGY(TRANSPORTATION SCIENCE & ENGINEERING)
年,卷(期): 2008,32(2)
被引用次数: 2次
参考文献(6条)
1.何海江 使用VB连接OPC数据存取服务器[期刊论文]-工业控制计算机 2003(06)
2.马增良;兰斌 OPC数据访问服务器实现机制研究[期刊论文]-计算机工程与应用 2003(21)
3.王俊萍 OPC技术在扩展SCADA系统中的应用[期刊论文]-现代电子技术 2005(10)
4.刘莉 用VB编写OPC客户端程序的方法[期刊论文]-工业控制计算机 2005(05)
5.张建武;高国琴 OPC客户/服务器模型设计[期刊论文]-计算机仿真 2005(04)
6.陈蕴基;田宇;鲁凯生 基于RS422总线的PLC控制系统的研究[期刊论文]-武汉理工大学学报(交通科学与工程版)
2003(02)
引证文献(2条)
1.陈静.雷学列.肖纯.张立军 基于CVI和OPC技术的耐久性试验台监控系统设计[期刊论文]-武汉理工大学学报(信
息与管理工程版) 2010(2)
2.孙移 基于OPC技术的PLC与FluidSIM-P气动控制仿真[期刊论文]-机械制造与自动化 2010(6)
本文链接:http://d.g.wanfangdata.com.cn/Periodical_whjtkjdxxb200802044.aspx