产品规格模块式包装说明全新品牌西门值+ 包装说明 全新 - 产品规格子
现场安装
西门子伺服电机1FL6042-1AF61-2AA1
一、通过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中所建的连接名会被显示(S7connection_1)。双击此连接,即可出现有可能被访问的对象树(bbbbbbstree),在PLC
CPU中已存在的DB块也会出现以上完成的OPCSERVER部分的配置。
四、用VB编写了OPC客户端应用程序。主要程序代码如下:
在VB中引在VB中还要引用siemensopcdaautomation2.0
(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()Asbbbbbb‘项标识符
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]1"
fori=1t03
abClientHandles(i)=i‘给客户端句柄赋值
Next
MyOPCGroup.OPCItems.AddItemsItemCount,abItemIDs,abClientHandles,abServerHandles,abErrors‘添加数据项操作
(4)同步数据读写
OPC数据存取有同步方式和异步方式两种。异步读写数据复杂,需要与事件结合使用,与同步相比速度慢但准确性高。同步读写数据简单,直接使用OPCItem的方法即可。
DimOneAsOPCItem
DimIndexAsLong
‘Index为标签顺序号
DimOneReadAsbbbbbb
DimXieAsbbbbbb
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(ByValTransbbbbbbIDAsLong,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))=GetQualitybbbbbb(Qualities(i))‘获取项的品质
Nexti
EndSub
(5)断开OPC服务器
MyOPCServer.OPCGroups.RemoveAll‘移除所有OPCGroup,空出资源
SetMyOPCGroup=Nothing
MyOPCServer.Disconnect‘断开连接
1)CPU处于STOP模式,状态条显示红色背景的STOP。将CPU切换到RUN模式,状态条变为绿色背景的RUN,就可以监控了。
2)未用CALL指令调用被监控的块,被监控的块的调用条件不满足,没有执行被监控的块,就不能监控它。
3)操作系统只监控被选中的程序段和它之后的程序段。不监控选中的程序之前的程序段。OB的作用如下:
OB1(Free Cycle)顺序扫描
OB10~OB17(Time-Of-Day Interrupt)时间-日期中断
OB20~OB23(Time-Delay Interrupt)时间延迟中断
OB30~OB38(Cyclic Interrupt)周期性中断
OB40~OB47(Hardware Interrupt)硬件中断
OB55(Status Interrupt)状态中断
OB56(Update Interrupt)升级中断
OB57 (Manufacturer Interrupt)厂商**中断
OB61~OB64(Synchronous Cycle Interrupt)异步周期中断
OB70(I/O Redundancy Error)I/O冗余错误
OB72(CPU Redundancy Error)CPU冗余错误
OB73(Communication Error)通信错误
OB80(Time Error)时间错误
OB81(Power Supply Error)电源错误
OB82 (Diagnostic Interrupt)诊断中断
OB83(Insert/Remove Interrupt)插/拔中断
OB84(CPU Hardware Fault)CPU硬件错误
OB85(Priority Class Error)**级错误
OB86(Rack Failure)机架错误
OB87(Communication Error)通信错误
OB88 (Processing Interrupt)过程错误
OB90(Background OB)背景OB
OB100(Warm Restart)暖启动
OB101(Hot Restart)热启动
OB102(Cold Restart冷启动
OB121(Programming Error)编程错误
OB122(I/O Access Error)I/O存储错误
注:OB55,OB56,OB57,OB61,OB62,OB63,OB64,OB81,OB84,OB87,OB88,OB90是NOP(空操作)用户不需要用户不需要修改调用空操作的程序
http://zhangqueena.b2b168.com