全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OPC的VB例子 Option ExplicitOption Base 1Private QOpcServer As OPCServerPrivate QGroups As OPCGroupsPrivate WithEvents QGroup As OPCGroupPrivate QItems As OPCItemsPrivate QItemServerHandles() As Long Private Sub Form_Load()On Error GoTo ErrorHandler建立与OPC服务器的连接Set QOpcServer = New OPCServerCall QOpcServer.Connect(S7200.OPCServer) S7200.OPCServer是固定的OPC名称建立一个数据群组Set QGroups = QOpcServer.OPCGroups Get OPCGroups Collection Object from QOPCServer Set Default Properties for Group Collection These Properties are used to set the Properies for new GroupsQGroups.DefaultGroupIsActive = 500 Set Default Group Update Rate to 500 msQGroups.DefaultGroupIsActive = False Set Default Group Active State to InactiveSet QGroup = QGroups.Add(QGroup1) Add a new Group to the Group Collection Set Group PropertiesQGroup.IsSubscribed = True Enable CallbacksQGroup.UpdateRate = 100 这个群组的刷新速度是100ms往群组里添加要传送的地址单元Dim i As LongDim ErrorFlag As BooleanDim ItemObj As OPCItemDim ItemIDs(2) As StringDim ItemClientHandles(2) As LongDim Errors() As Long Array for returned Item related errorsErrorFlag = FalseSet QItems = QGroup.OPCItems Get OPCItems Collection Object from QOPCServer Initialize the IN parameters for the Add Items call ItemIDs - ItemIDs of the Items to add ItemClientHandles - Client defined handles for the Items. The Server sends these handles in the CallbacksItemIDs(1) = 2,q1.0,bool Read ItemId 1 from Text BoxItemIDs(2) = 2,VW10,Word Read ItemId 2 from Text BoxItemClientHandles(1) = 1ItemClientHandles(2) = 2 OUT parameters are ItemServerHandles - Server defined handles for the Items. The client must use these handles for all Read/Write calls Errors - Item related errors Add Items to the GroupCall QItems.AddItems(2, ItemIDs, ItemClientHandles, QItemServerHandles, Errors) Check Item ErrorsFor i = 1 To 2If Not Errors(i) = 0 ThenMsgBox Item + Str$(i) + FAILED. Error Code = + Str$(Errors(i), vbCriticalErrorFlag = TrueEnd IfNext Continue only if all Items SUCCEEDEDIf ErrorFlag ThenDim RemoveErrors() As LongDim RemoveHandles(1) As Long Remove Succeede ItemsFor i = 1 To 2If Errors(i) = 0 ThenRemoveHandles(1) = QItemServerHandles(i)Call QItems.Remove(1, RemoveHandles, RemoveErrors)End IfNextEnd IfIf Not QGroup Is Nothing ThenQGroup.IsActive = TrueEnd IfExit SubErrorHandler: MsgBox Err.Description + Chr(13) + 联接到OPC服务器, vbCritical, ErrorEnd Sub Private Sub cmdWriteSync_Click()On Error GoTo ErrorHandlerDim i As LongDim Values(2) As VariantDim Errors() As Long Array for returned Item related errors Initialize the IN parameters for the SyncWrite call Values - Values to writeValues(1) = txtWriteVal1.Text Read Value 1 from Text BoxValues(2) = txtWriteVal2.Text Read Value 2 from Text Box ItemServerHandles - Server defined handles from the AddItems call Write Values SyncronousCall QGroup.SyncWrite(2, QItemServerHandles, Values, Errors) Check Item ErrorsFor i = 1 To 2If Not Errors(i) = 0 Then MsgBox Item + Str$(i) + FAILED. Error Code = + Str$(Errors(i), vbCriticalNext Exit SubErrorHandler:MsgBox Err.Description + Chr(13) + Writing Items Syncronous, vbCritical, ERROREnd Sub Callback from OnDataChangePrivate Sub QGroup_DataChange(ByVal TransactionID As Long, ByVal NumItems As Long, ClientHandles() As Long, ItemValues() As Variant, Qualities() As Long, TimeStamps() As Date)On Error GoTo ErrorHandlerDim i As Long Check ParametersFor i = 1 To NumItemsIf ClientHandles(i) 0 And ClientHandles(i) Values from read complete Qualities - Qualities of the values If Qualities(i) = 192 ThentxtChangeVal.Item(ClientHandles(i) - 1).Text = ItemValues(i) Write Value to Text Box End IfElseMsgBox DataChange Item + Str$(i) + has invalid Client Handle , vbCriticalEnd IfNextExit SubErrorHandler:MsgBox Err.Description + Chr(13) + OnDataChange, vbCritical, ERRORChaEnd Sub Private Sub cmdExit_Click()Unload MeEnd Sub Unload Form EventPrivate Sub Form_Unload(Cancel As Integer)Dim i As LongDim Errors() As Long Array for returned Item related errors Remove Items from the GroupCall QItems.Remove(2, QItemServerHandles, Errors) Check Item ErrorsFor i = 1 To 2If Not Errors(i) = 0 Then MsgBox Item + Str$(i) + FAILED. Error Code = + Str$(Errors(i), vbCriticalNextErase QItemServerHandles Erase Item Server Handle ArrayQGroups.RemoveAll Removes a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南郑州市社会福利院公益性岗位招聘4人建设笔试备考试题及答案解析
- 2026安徽马鞍山市住房公积金管理中心编外聘用人员招聘1人建设笔试备考题库及答案解析
- 招1人!城中区仓门街社区卫生服务中心招聘啦!建设笔试参考题库及答案解析
- 2026山东青岛教师招聘统考崂山区教育系统招聘16人建设考试参考题库及答案解析
- 2026甘肃张掖市民乐县城镇公益性岗位招聘42人(第二批)建设考试参考题库及答案解析
- 2026其亚新疆集团有限公司招聘建设笔试备考试题及答案解析
- 2026北京农业职业学院招聘20人建设笔试备考题库及答案解析
- 2026江苏省淮安技师学院招聘教师10人建设笔试参考题库及答案解析
- 2026安徽合肥兴泰金融控股(集团)有限公司招聘17人建设笔试备考试题及答案解析
- 2026北京天文馆第一批招聘工作人员3人建设笔试参考题库及答案解析
- 年产330万吨生铁(其中炼钢生铁78%,铸造生铁22%)的高炉炼铁车间工艺设计
- 110kV-GIS安装专项方案内容
- AQ-T 2081-2023 金属非金属矿山在用带式输送机安全检测检验规范
- 犹太复国主义
- 销售培训:利用故事营造销售情境
- 绿色建材评价 室内木门
- 漫画人物表情画法
- 贵州省情教程 第一章 特殊的地理环境
- 给水管道施工专项方案
- 《劳动合同书》范本下载
- 危大工程验收记录表(其它工程)
评论
0/150
提交评论