net用opc方式,应用vb编程。

net用opc方式,应用vb编程。设置 ## Set ItemObj1 = GroupObj.OPCItems.AddItem("S7:[DEMO] DB1, INT0, 13", 1) ##,现在可以13个变量同时读出,但是13个同时写入确写不了,写入原句是## GroupObj.AsyncWrite 1, Serverhandle, MyValues, ErrorNr, WRITEASYNC_ID, Cancel_id  ##,该如何写,比较急啊。

最佳答案

一、经过STEP7软件建立一个新项目OPC,正在项目中添加SIMATIC300站和一个PC站,其中PLC站中第四个槽安置的CP343模块。PC站的第一个槽为OPCSERVER,第三个槽为IEGENERAL,然后正在NETPRO下配置PLC和PC站的网络连接:(注重:是正在PC站上新建的网络连接,连接类型选的S7连接)

二、经过stationconfigurator软件配置本机的PC站(要和STEP7中配置的相反),然后把PLC和PC站都下载下走(注重:下载PC站的时分要把S7ONLINE(STEP7)--->;PCinternal(local))。

三、打开OPCScout,(Start>;SIMATIC>;SIMATICNet>;OPCScout),双击“OPC
SimaticNet”正在随之弹出的“ADDGroup”对话框中输进组名,本例命名为“OPC”。
点击OK确认;

;双击已添加的连接组(OPC),即弹出“OPCNavigator”对话框,此窗口中显现
一切的连接协议。双击“S7”,正在PCStation组态NetPro中所建的连接名会被显现(S7
connection_1)。双击此连接,即可出现有可能被访问的东西树(objectstree),正在PLC
CPU中已存正在的DB块也会出现

以上完成的OPCSERVER部分的配置。

四、四、用VB编写了OPC客户端应用步骤。主要步骤代如下:
(1)连接OPC办事器
DimWithEventsMyOPCServerAsOPCServer‘界说办事器东西变量MyOPCServer
DimWithEventsMyOPCGroupAsOPCGroup‘界说OPC组东西变量MyOPCGroup
SetMyOPCServer=NewOPCServer
MyOPCServer.Connect"OPC.SimaticNET"‘连接SIMATICNET的OPC办事器
(2)添加OPC组东西
SetMyOPCGroup="MyOPCServer".OPCGroups.Add("Group1")
‘添加OPC组东西
MyOPCGroup.IsSubscribed=True
‘设置该组数据为后台刷新
MyOPCGroup.IsActive=True
‘设置该组为激活形态
MyOPCGroup.UpdateRate=1000
‘设置数据刷新光 为1000
(3)添加数据项
DimabItemIDs()AsString
‘项标识符
DimabClientHandles()AsLong
‘客户端句柄
DimabServerHandles()AsLong
‘办事器端句柄
DimabErrors()AsLong
DimiAsLong
ItemCount=3
abItemIDs(1)="S7:[S7connection_1]IB1"
abItemIDs(2)="S7:[S7connection_1]MB1"
abItemIDs(3)="S7:[S7connection_1]QB1"
fori="1"t03
abClientHandles(i)=i
‘给客户端句柄赋值
Next

MyOPCGroup.OPCItems.AddItemsItemCount,abItemIDs,abClientHandles,abServerHandles,abErrors
‘添加数据项作

(4)同步数据读写
OPC数据存取有同步方式和异步方式两种。异步读写数据双杂,需求与事情联合使用,与同步比较速度慢但正确高。同步读写数据简略,直接使用OPCItem的要领即可。
DimOneAsOPCItem
DimIndexAsLong
‘Index为标签顺序号
DimOneReadAsString
DimXieAsString
SetOne=MyOPCGroup.OPCItems(Index)
One.ReadOPCCache
OneRead=One.Value
‘读数据
MyOPCGroup.SyncWriteItemCount,ServerHandles,valuess,Errors
‘同步写数据
MyOPCGroup.SyncReadOPCCache,ItemCount,ServerHandles,ReadValue,Errors
‘同步读数据
One.Write(Xie)
‘写数据
若只读取数据,可以使用DataChange事情,卖控制器中所要访问的数据一旦发生改变时将会触发该事情,并将该数据主动读到TxtValue文本框。
PrivateSubMyOPCGroup_DataChange(ByValTransactionIDAsLong,ByValNumItemsAsLong,ClientHandles()AsLong,ItemValues()AsVariant,Qualities()AsLong,TimeStamps()AsDate)
‘主动刷新数据
DimiAsLong
Fori=1ToNumItems
txtValue(ClientHandles(i))=ItemValues(i)
‘获取项的值
txtTime(ClientHandles(i))=TimeStamps(i)
‘获取项的光 戳
txtQuantity(ClientHandles(i))=GetQualityString(Qualities(i))
‘获取项的质量
Nexti
EndSub

(5)断开OPC办事器
MyOPCServer.OPCGroups.RemoveAll
‘移除一切OPCGroup,空出资源
SetMyOPCGroup=Nothing
MyOPCServer.Disconnect
‘断开连接
正在VB中还要引用siemensopcdaautomation2.0才行

参考资料:http://www.acecom.cn/content.asp?id=1470

提问者对于答案的评价:
谢谢,回答的比较详细。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc169223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月11日 下午3:35
下一篇 2017年6月11日 下午3:36

相关推荐

  • 博途组态提示未分配的设备

    学习用的博途组态一个无线传输的主从站,如图,上面部分为主站,通过CPU IM151-8的PN口连接SCALANCE设备,下面部分为一个分布式IO从站,使用的是IM151-…

    2017年5月29日
  • TIA portal中,串行通信,硬件组态里如何体现串行接口设备?

    TIA portal中,对于DP或PN通信,硬件组态时,可直接从[硬件目录]里添加相应的通讯设备,或以GSD文件表示。但串行通信,有些特殊,在[硬件目录]里没有相应的串行…

    2017年6月1日
  • CP1604资料

    订货号6GK1 160-4AA01的用户手册电子版在哪下载?网站上没有找到现在设备验收要用之前的资料被公司里的人当垃圾扔掉了 最佳答案 请登陆网址:https://sup…

    SIMATIC Net 2017年6月3日
  • profibus通讯问题和地址问题

    买的总线模块从站地址默认为126,但是PLC上从站最大地址只能写到125,有不有什么方法可以把PLC上的从站地址改到126去。主要是供应商没有目前没有给我们提供改DP地址软件,还有…

    SIMATIC Net 2017年5月28日
  • Profinet与Profibus-DP通信断线机制是什么?

    西门子PLC的Profinet与Profibus-DP主站接口接远程从站,如果出现通信线断线,这个远程从站会出如何处理?能事先配置输出模式吗? 最佳答案 输出模块可以设置故障输出值…

    SIMATIC Net 2017年6月3日
  • profibus-通讯

    有一个项目,是跟变频器交换数据的,看组态中为何要设置二个输入和输出呢,有点不解。详见图 图片说明:    最佳答案 PROFIBUS和变频器通讯输出是给变频器写…

    2017年6月3日
  • MPI网络如何布线以及硬件设置

    各位,我现在的系统是主要的,一个314的CPU,一个TP177B的HMI,还有一个OP73,现在是用MPI的方式把他们连起来,电缆的布线怎么布的?DP头的设置是什么样子的,以前没做…

    SIMATIC Net 2017年6月12日
  • 一块CP1623和H系统连接许可证问题

    用一块CP1623和H系统连接,当主CPU故障切换到备用CPU时CP1623能跟随系统切换过去,看了选型手册关于许可证问题有点迷茫,使用非冗余 AS 时,激活许…

    SIMATIC Net 2017年6月3日
  • 如何通过互联网访问远程S7300CPU

    公司又一台设备用的是S7300CPU,带以太网模块,最近程序出现了问题,因此直接联系的国外制造商,他们通过互联网登陆了该机器,并将程序远程修改了,我对此非常感兴趣,但是不知道该怎样…

    SIMATIC Net 2017年6月19日
  • 我安装了Simatic net 8.1 怎样在step7 v5.5中的OPC服务器里更新出SW V8.1

    图片说明:    最佳答案 如果安装完成,重新启动电脑后,再打开STEP7 软件试试。 提问者对于答案的评价:软件版本太低了,安装搞的版本就行了

    2017年6月4日