基于OPC的注塑机监控系统的研究与实现 - 图文

更新时间:2024-03-25 13:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

北 京 化 工 大 学

硕士研究生学位论文

题 目 基于OPC的注塑机监控系统

的研究与实现

研 究 生 叶 立 永

专 业 机械工程

指导教师 闫 宝 瑞 副 教 授

日 期: 二 ○ 一三 年 五 月 三十

北京化工大学学位论文原创性声明

本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。

作者签名: 日期:

关于论文使用授权的说明

学位论文作者完全了解北京化工大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京化工大学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。

保密论文注释:本学位论文属于保密范围,在 年解密后适用本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。

作者签名: 日期: 导师签名: 日期:

北京化工大学学位论文原创性声明

本人郑重声明: 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。

作者签名: 日期:

关于论文使用授权的说明

学位论文作者完全了解北京化工大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属北京化工大学。学校有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存、汇编学位论文。

保密论文注释:本学位论文属于保密范围,在 2 年解密后适用本授权书。非保密论文注释:本学位论文不属于保密范围,适用本授权书。

作者签名: 日期: 导师签名: 日期:

学位论文数据集

中图分类号 论文编号 TQ32 学科分类号 密 级 学位授予单位名称 460.20 公开 北京化工大学 学位授予单位代码 10010 作者姓名 获学位专业名称 课题来源 论文题目 关 键 词 论文答辩日期 叶立永 机械工程 海天公司 学 号 2010030017 获学位专业代码 研究方向 30102 注射成型原理及设备 基于OPC的注塑机监控系统的研究与实现 注塑机,远程监控,OPC,ADO,Client/Server 结构 2013年11月22日 * 论 文 类 型 应用研究 学位论文评阅及答辩委员会情况 指导教师 评阅人1 评阅人2 答辩委员会主席 答辩委员1 答辩委员2 答辩委员3 答辩委员4 答辩委员5 答辩委员6 答辩委员7 答辩委员8 答辩委员9 姓名 闫宝瑞 董力群 杨于光 王奎生 王兴天 张师军 杨卫民 李方俊 职称 副教授 副教授 副教授 教授 教授 教授级高工 教授 副教授 工作单位 北京化工大学 北京化工大学 北京化工大学 北京化工大学 海天塑机集团 中石化北京化工研究院 北京化工大学 北京化工大学 学科专长 机械工程及自动化 塑料机械 塑料机械 化工机械 塑料机械 高分子材料 塑料机械 机械制造

注:一. 论文类型:1.基础研究 2.应用研究 3.开发研究 4.其它 二. 中图分类号在《中国图书资料分类法》查询。

三. 学科分类号在中华人民共和国国家标准(GB/T 13745-9)《学科分类与代码》中查询。 四. 论文编号由单位代码和年份及学号的后四位组成。

摘 要

基于OPC的注塑机监控系统的研究和实现

摘 要

塑料工业在近 20 年得到快速发展,塑料制品广泛应用到社会的各

个方面。注塑成型是塑料加工使用最广泛的工艺之一。随着生产规模越来越大,注塑企业对远程监控工厂内注塑机的运行状况有迫切的需求。实时监控注塑机的运行状况,对历史生产数据进行统计分析能够让管理者及时维护注塑机,并且有效地提高生产效率。

本文首先对注塑机结构、注塑工艺以及注塑车间管理等方面进行了充分的调查,并且研究了实时监控技术的国内外发展现状,在此基础上进行了注塑机群远程监控系统的需求分析,提出了基于OPC(OLE for process control)规范标准来开发注塑机群远程监控系统的方案。本文首先对系统进行需求分析、总体设计、所应用的开发方法和技术等问题进行了阐述,提出来Client/Server的系统结构,然后重点研究了OPC规范的应用技术以及数据库技术,在此基础上开发了客户端程序的OPC数据采集模块并且建立了监控系统数据库。最后根据监控系统的功能需求设计、开发了客户端应用程序的SOCKET通讯模块、客户管理模块以及图形界面;图形界面的开发主要应用了WPF技术,并且对实施监测曲线图的绘制原理、警报记录以及操作记录的产生机制进行了阐述。

关键词:注塑机;远程监控;.OPC;ADO;Client/Server 结构

I

目录

RESERCH AND DEVELOPMENT ON INJECT MOLDING

MACHINE MONITOR SYSTEM BASED ON OPC

STANDARD

ABSTRACT

Plastics industry in the past 20 years has been rapidly development, plastic products are widely applied to all aspects of society. Injection molding is the most widely used plastics processing technology world. With the increasing scale of production injection molding, injection molding machine business workshop to remotely monitor the production status of urgent needs. The injection molding machine production status in real-time monitoring, historical data on production analysis allows the operator in a timely manner to maintain the injection molding machine, injection molding machines and effectively improve production efficiency.

This article first injection molding machine structure, injection molding and injection workshop management and other aspects of a full investigation and study of real-time monitoring technology development in the world, on this basis, for remote monitoring of injection cluster system requirements analysis, proposed based on OPC (OLE for process control) injection of standards to develop remote monitoring system cluster solution. Firstly, the

II

目录

system needs analysis, overall design, the application development methods and techniques and other issues are described, raised on Client / Server architecture, and then focuses on the application of OPC specification technology and database technology, on this basis, developed an OPC client program and the establishment of data acquisition module monitoring system database. Finally, according to the functional requirements of monitoring system design, development of client applications SOCKET communication module, customer management module, and the graphical interface; graphical interface development main application of the WPF technology, and monitoring of the implementation of the principle drawn graph, alarm log and generation mechanism of operation records are described.

KEY WORDS: injection molding machine, remote monitor, OPC, ADO, Client/Server

III

目录

目录

第一章 绪论 .................................................................................................................... 10

1.1 课题研究背景 .............................................................................................................. 10 1.2 注塑机和注射成型简介 .............................................................................................. 10 1.3 实时监控技术的发展 .................................................................................................. 12 1.4 OPC技术简介 ............................................................................................................. 14 1.5 课题来源、研究意义和研究内容 .............................................................................. 14 1.5.1 课题来源 .................................................................................................................. 14 1.5.2 研究意义 .................................................................................................................. 14 1.5.3 研究内容 .................................................................................................................. 15

第二章 注塑机远程监控系统总体设计 ....................................................... 16

2.1 监控系统的需求分析 .................................................................................................. 16 2.2 系统的总体设计方案 .................................................................................................. 18 2.2.1 网络结构和硬件组成 .............................................................................................. 18 2.2.2 系统软件功能总体结构 .......................................................................................... 19 2.2.3本系统的开发方法和技术 ....................................................................................... 21 2.3 本章小结 ...................................................................................................................... 23

第三章 监控系统中OPC技术的应用 ........................................................... 24

3.1 OPC概述 ..................................................................................................................... 24 3.1.1 OPC 技术的本质 .................................................................................................... 24 3.1.2 OPC 规范简述 ........................................................................................................ 24 3.2 OPC体系结构 ............................................................................................................. 25 3.2.1 OPC基本框架 ......................................................................................................... 25 3.2.2本系统的OPC 的接口体系 ...................................................................................... 27 3.2.3 OPC 接口定义 ........................................................................................................ 28 3.3 本系统的OPC通讯机制 ............................................................................................ 29

IV

目录

3.4 OPC 客户程序开发 .................................................................................................... 32 3.4.1 OPC Clent 与OPC Server 交互流程 .................................................................... 32 3.4.2 OPC服务器列表功能 ............................................................................................. 34 3.4.3 创建OPC服务器对象 ............................................................................................ 35 3.4.4 创建OPC组对象 .................................................................................................... 36 3.4.5 创建项对象 .............................................................................................................. 37 3.5 本章小结 ...................................................................................................................... 38

第四章 注塑机数据分析和数据库建立 ....................................................... 39

4.1 数据分析 ...................................................................................................................... 39 4.2 数据库设计 .................................................................................................................. 40 4.2.1数据库结构设计 ....................................................................................................... 40 4.3 数据库操作程序的设计和实现 .................................................................................. 43 4.3.1 ADO数据模型 ........................................................................................................ 43 4.3.2 数据库的连接 .......................................................................................................... 45 4.4 本章小结 ...................................................................................................................... 49

第五章 监控系统应用 ................................................................................... 50

5.1 数据通讯模块 .............................................................................................................. 50 5.2 用户管理模块 .............................................................................................................. 53 5.3 应用程序图形界面 ...................................................................................................... 56 5.3.1主界面显示 ............................................................................................................... 56 5.3.2实时监测数据 ........................................................................................................... 58 5.3.3警报异常记录以及操作记录 ................................................................................... 61 5.4 通讯实验及系统应用 .................................................................................................. 63 5.4.1通讯实验 ................................................................................................................... 64 5.4.2系统应用 ................................................................................................................... 64

第六章 总结与展望 ....................................................................................... 69

6.1 总结 .............................................................................................................................. 69 6.2 展望 .............................................................................................................................. 70

V

目录

参考文献 ......................................................................................................... 71 致谢 ................................................................................................................. 73 作者及导师简介 ............................................................................................. 74

VI

目录

Contents

Chapter 1 Introduction ................................................. 错误!未定义书签。

1.1 Research background ..................................................................... 错误!未定义书签。 1.2 Injection molding machine and Introduction ................................. 错误!未定义书签。 1.2 Real-time monitoring technology ................................................... 错误!未定义书签。 1.4 Topic sources, significance and contents........................................ 错误!未定义书签。 1.4.1 Source topics ............................................................................... 错误!未定义书签。 1.4.2 Research Significance ................................................................. 错误!未定义书签。 1.4.3 Research Content ......................................................................... 错误!未定义书签。

Chapter 2 Injection molding machine remote monitoring system design 错误!未定义书签。

2.1 Monitoring system needs analysis ................................................. 错误!未定义书签。 2.2 The overall design of the system .................................................... 错误!未定义书签。 2.2.1 Network structure and hardware components ............................ 错误!未定义书签。 2.2.2 The overall structure of the system software functions .............. 错误!未定义书签。 2.2.3 The system development methods and techniques ...................... 错误!未定义书签。 2.3 Summary ....................................................................................... 错误!未定义书签。

Chapter 3 OPC technology applications ..................... 错误!未定义书签。

3.1 OPC Overview .............................................................................. 错误!未定义书签。 3.1.1 The nature of OPC technology ................................................... 错误!未定义书签。 3.1.2 OPC specifications outlined ........................................................ 错误!未定义书签。 3.2 OPC Architecture .......................................................................... 错误!未定义书签。 3.2.1 OPC basic framework ................................................................. 错误!未定义书签。 3.2.2 OPC interface system ................................................................. 错误!未定义书签。 3.2.3 OPC interface definition .............................................................. 错误!未定义书签。 3.3 OPC communication mechanism .................................................. 错误!未定义书签。 3.4 OPC client application development ............................................. 错误!未定义书签。 3.4.1 OPC Clent processes interact with OPC server ........................... 错误!未定义书签。

VII

目录

3.4.2 OPC server list function .............................................................. 错误!未定义书签。 3.4.3Create OPC Server Object ............................................................ 错误!未定义书签。 3.4.4 Create OPC Group Object ........................................................... 错误!未定义书签。 3.4.5 Create OPC Item Object .............................................................. 错误!未定义书签。 3.5 Summray ........................................................................................ 错误!未定义书签。

Chapter 4 System data analysis and database creation错误!未定义书签。

4.1 Analysis for datas ........................................................................... 错误!未定义书签。 4.2 Design for database ........................................................................ 错误!未定义书签。 4.2.1Database structrue design ............................................................. 错误!未定义书签。 4.3 Database design and implementation of operating procedures ...... 错误!未定义书签。 4.3.1ADO data model .......................................................................... 错误!未定义书签。 4.3.2Connection to database ................................................................. 错误!未定义书签。 4.4 Summary ........................................................................................ 错误!未定义书签。

Chapter 5 Monitoring system application ................. 错误!未定义书签。

5.1 Data communication module .......................................................... 错误!未定义书签。 5.2 User management module .............................................................. 错误!未定义书签。 5.3 GUI applications ............................................................................. 错误!未定义书签。 5.3.1 The main interface displays ......................................................... 错误!未定义书签。 5.3.2 Real-time monitoring data ........................................................... 错误!未定义书签。 5.3.3 Alarm abnormal records and operational records ........................ 错误!未定义书签。 5.4 Communication experiments and system application .................... 错误!未定义书签。 5.4.1 Communication experiment ........................................................ 错误!未定义书签。 5.4.2 System Application ...................................................................... 错误!未定义书签。

Chapter 6 Summary and Outlook ................................ 错误!未定义书签。

6.1 Summary ........................................................................................ 错误!未定义书签。 6.2 Outlook ........................................................................................... 错误!未定义书签。

References ....................................................................... 错误!未定义书签。 Acknowledgements ........................................................ 错误!未定义书签。

VIII

目录

Authors and Instructors ................................................ 错误!未定义书签。

IX

第一章 绪论

第一章 绪论

1.1 课题研究背景

这一二十年来中国塑料工业的发展速度非常快,塑料产品无论是在工业还是民用领域都无处不在。随着技术水平的飞速发展,各行各业对塑料制品的品质及性能要求越来越高,产品设计、生产方法不断创新,各种新型的塑料成型设备不断地涌现[1]。

在塑料加工行业中,使用量最大的加工机械是注塑机,注塑机可以直接生产大量的塑料产品,而且它也是组成其它塑料生产工艺的关键设备。经过快速的发展,中国已成为产量第一的注塑机生产大国。国内塑料制品生产企业的规模大小不一,企业车间的注塑机数量少至几台,多至几百台。其中大多数企业的技术和管理的水平不高,注塑机的参数设定、注塑机的运行状况以及注塑机生产任务的执行情况等大多数都是人工操作,对于实现住塑企业管理的信息化及提高生产率、加快交货速度的目标是一个阻碍[2]。

因此,注塑企业迫切地需要能够实时地采集、处理车间内大量注塑机的数据,并能够远程监控注塑机的运行状态。研究和开发这样的技术和系统具有重大的意义。

1.2注塑机和注射成型简介

注射成型是指通过注塑机提供的压力将融溶状态下的塑料注入模具模腔而成型的工艺。它的原理是:通过注塑机的料筒加热将固态的塑料颗粒融化成液体状态,然后利用注射机提供的压力,以设定的速度将融胶注射入模具模腔内,最后通过冷却将熔融的塑料固化,得到与模腔一样形状的塑料制品。

绝大多数热塑性塑料都适用注射成型来生产。而且某些热固性塑料也可以用注塑成型来生产。注射成型的成型周期很短,从几秒到几分钟都有,成型的制品质量范围广,有几克到几十千克的范围,注射成型能够用来成型外形复杂、尺寸精确、以及带有嵌件的模塑品。

一台注塑机通常是由以下部件组成:合模系统、注射系统、传动机构、润滑系统、电气控制系统、加热系统、安全检测系统等[3]。

(1)注塑机构

注射机构是注塑机最重要的部分之一,注射机构主要有柱塞式、螺杆式、螺杆预塑柱塞注射式这3种形式。其中螺杆式是目前应用最广泛的形式。注射机构的作用是,通过加热将一定数量的塑料加热塑化后,油缸或者电机以设定的速度和压力推动螺杆

10

第一章 绪论

前进,将熔融状态下的塑料注入模具型腔中。

(2)合模系统

合模系统的作用是闭合模具、打开模具以及将制品顶出。模具合紧以后,锁模机构提供一定的锁模力,以抵抗注射时模腔内产生的压力,防止模具被挤开而造成飞边等制品的不良形状。

(3)传动系统

传动系统的作用是提供动力以实现各种注塑工艺所要求的注塑机动作。传动系统主要分为液压和电动两种,传统液压机由各种液压元件和液压辅助元件所组成,目前最新的全电动注塑机则以伺服电机和驱动器作为动力源。传动系统通过控制液压的压力和流量或者电机的扭矩与转速来实现各种注塑机动作。

(4)电气控制系统

电气控制系统用来控制传动系统,以实现各种工艺过程要求和动作顺序。电气控制系统主要由各种电子元器件、仪表仪器、以及传感器等组成。

注塑机的电气控制发展经历了继电器、接触器、可编程控制器等阶段的发展 [1]。从上世纪60 年代开始,经过几十年的发展,注塑机的控制技术不止是用来做简单的顺序动作,而是用来控制加热温度、压力、速度、位置的闭环运算及各种参数的集合控制。目前大多数注塑机是用PLC(可编程控制器)作为控制系统。

(5)加热冷却系统

加热系统是用来对料筒及喷嘴进行加热的,目前一般采用电热圈作为注塑机料筒的加热装置,电热圈安装在料筒外部,料筒各段的温度用热电偶来检测。冷却系统的作用是用来冷却油温或者电机的温度,油温过高或者电机温度过高会导致多种故障发生,所以必须加以控制。而还有一处需要冷却的地方在料筒的下料口附近,防止下料口温度过高导致原料在下料口熔化,不能正常下料。

(6)润滑系统

润滑系统作用是为动模板、连杆机构、滑脚滑块、调模机构、以及丝杠丝母等频繁地相对运动的部位进行油脂润滑,以减少磨损、降低能耗、延长零件寿命,润滑系统可分为手动润滑和自动电动润滑两种;

(7)安全保护与监测系统

注塑机的安全保护与检测装置主要的作用是保护操作者和机器设备的安全。安全保护系统主要是由防护门、机械保险、安全继电器、液压阀、机械限位开关、光电检测元器件等部件组成以实现电气一机械一液压的联锁保护。监测系统的主要作用是检测料筒温度、油温、油压、电机温度、系统负载,以及设备故障情况,当发现机器存在异常情况,以声、光、文字等形式进行提示或报警。

11

第一章 绪论

1.3实时监控技术的发展

目前,工业领域中自动化系统的应用已经非常普遍,自动化系统的集成度也非常的高。工业现场的仪器、仪表种类很多,工业控制的过程也日益复杂,而且与各类商业系统的结合度也越来越高。过去的监控系统没有开放性,系统内部的联系非常紧密、复杂,因此更新和升级都非常麻烦,而且系统维护的成本也很高。另一个重要的问题是软件需要重复地进行开发,无法重用,资源不能共享,造成大量浪费。近来软件以及计算机技术发展越来越快,库函数在高级语言中的应用,可以实现一定程度上的共享,而面相对象的方法的应用,可以利用继承等方法重用源代码。但这仅仅只是对源代码的重用,并不能实现对可执行文件的重用,每个类库都需要进行重新的编译,因此也无法实现资源的完全共享,只要更改了某个类库就会导致所有的用到该类的子模块都需要重新修改,这样也就无法实现模块的单独升级。另外,不同的编程语言之间不能共享所开发的函数库和类库,这也使软件的可重用性受到了很大的限制。当前实时监控系统一般都采用了分布式的结构,数据的采集、数据通讯、数据的处理、人机接口等各种功能分散在网络上的不同位置,划分成为各个不同的子系统[4],这个使得系统的复杂度得到了很大的降低,性能得到了很大的提高,开发周期及维护的成本大大低减少,不过因为整个监控系统中不同计算机间的通信协议没有统一的标准,所以对于不同厂家产品,难以实现软件以及硬件功能的相互集成。因此,在工控领域迫切需要一种数据访问、数据管理和数据传输的开放性标准,使工控环境中不同的数据源之间可以灵活地进行通信。

1.4.OPC技术简介

随着计工业控制技术的快速发展,计算机监控系统早已由传统的集中监控向分布式系统的方式转变和发展[5],而计算机监控系统的应用软件也因为随着分布式对象技术、面向对象编程技术、以及多层次的Client/Server 技术的发展[6],从面向功能,逐渐发展成为面向现场设备。随着计算机监控系统的规模变得越来越大,现场设备的种类的不断增加,而由于不同厂家的设备往往通讯机制都不一样,因此系统软件需要不断地开发各种驱动程序,而基于微软公司的COM/DCOM技术的OPC 技术标准,则建立和提供了一个统一的工业领域的通讯规范[7], OPC的全名是OLE for Process Control,即用于过程控制的OLE技术,OPC是由世界上著名的一些自动化行业设备软件、硬件的开发与制造的公司通过与微软的合作而建立的,而且行业内还成立了OPC 基金会对OPC技术标准的制定、发布以及推广进行管理。OPC 创建了一整套的统一的标准,OPC模型采用典型的客户/服务器(CLIENT/SERVER )模式。

12

第一章 绪论

通过图1.1 所示, OPC技术作为新兴的技术与传统通讯方式相比具有以下的优势: ·硬件厂商为因为更了解自己生产的设备,所开发驱动程序的速度更快、开发的驱动程序也更加可靠。

·软件厂商仅需按照OPC 标准开发一套程序就可实现与硬件设备的通信,减少了设备驱动程序的开发时间,。

·软硬件厂商可以区分开来,使工作效率得到很大的提高。 ·可以实现软硬件的互操作性。

图1-1 OPC 技术应用前后比较

Fig.1-1 Before and after application of OPC technology

因此,OPC 技术自从诞生以来得到了众多自动化系统厂商的大力支持,并且得到了迅速的发展。1997 年9 月OPC基金会发布了第一版的OPC DA 规范, 随后OPC 规范被工控和自动化领域内的大多数设备与软件厂商所接受,成为工控软件行业的一种成熟的技术标准。到目前为止,OPC 规范主要分为OPC DA(Data Access)规范,OPC AE(alarm and event)规范,以及OPC HDA(history data access)规范[8]。随着OPC 技术与ERP系统集成的需求越来越多,OPC 技术的跨平台性和互联网特性的要求也越来越高。为此,OPC 基金会又以XML 为基础开始制定新的一系列的标准。在2003 年4 月,OPC Foundation发布了OPC XML-DA第一版规范,并在2005 年9 月又发布了它的第二个版本1.01,为OPC 技术的进一步推广,以及工控系统之间的可互操作性的进一步提高翻开了新的一页。

13

第一章 绪论

1.5 课题来源、研究意义和研究内容

1.5.1 课题来源

本课题的研究来源于海天国际有限公司:注塑机远程监控系统平台开发项目.

1.5.2 研究意义

现在的注塑企业大多数采用人工操作与管理模式,生产效率始终徘徊不前,而管理者不能对每台注塑机進行具体和快速地考核,发生的问题不能够及时、直观地反映出來。生产管理停留在“低效、高耗、劣质”的落后的模式上。当前,注塑企业正由劳动密集型企业向技术密集型企业转变。而实现“高效、低耗、优质”的先进运作管理模式是每一个注塑生产企业的目标。在注塑生产企业使用远程监控系统集中监控与管理注塑机群可以实现提高生产效率、降低人力成本、减少人为的重复错误、收集生产数据等多方面作用。

国外已有的注塑机远程监控系统如奥地利T.I.G公司的产品,价格非常昂贵,一般国内用户无法接受;日本的一些知名注塑机厂商如日本FUNAC、住友、东芝等公司的注塑机远程监控系统只是作为注塑机的一个附属选配项目,只能与他们自己的PLC相连,无法与其它公司的控制器进行通讯,没有兼容性。而国内一些自动化公司所开发的监控系统多为通用型的系统,并不适合注塑机的应用,而且这些系统往往各自有各自的通讯协议,如:台湾宏讯的TECHMATION系统以TCP/UDP协议作为数据传输协议,很难实现对不同系统的兼容性。

作为国内注塑机行业的龙头,世界上产量最大的注塑机生产公司,海天集团目前有来自国内外的7个控制器供应商,今后有可能会有更多的控制器加入或者替代现有的控制器。目前,大多数控制器厂商都能够开发并提供OPC服务器程序;因此应用OPC技术开发一个能够兼容各个控制器的注塑机远程监控系统不仅对于海天集团来说能够提升技术水平,给客户更好的应用服务,对于提升品牌形象有很好的作用;同时,也是对于国内的注塑机行业在此领域的一个探索与推动。

14

第一章 绪论

1.5.3 研究内容

本文为了实现注塑机群联网以及远程集中监控的功能,同时又从系统的兼容性角度出发引入了OPC技术研究并设计了一个注塑机群监控系统。本文内容共分为六章。 第一章为绪论部分,简述了本文研究的背景、研究的目的及研究的意义。主要介绍了实时监控技术发展的现状以及注塑机监控系统国内外的发展状况,对比了OPC技术与传统数据采集技术的不同之处。

第二章为监控系统的总体设计方案。包括监控系统的需求分析、网络硬件结构、软件系统结构等。在这章中分析了常见的系统网络结构的优缺点,工控系统的软硬件结构,在此基础上提出本系统所采用的技术方案。

第三章详细研究了OPC技术在本监控系统中的应用。首先研究了OPC规范,剖析了OPC技术的原理和本质,掌握了OPC的实现方式,然后阐述了在监控系统应用程序中OPC 客户端程序的设计与开发过程。

第四章的研究内容是监控系统数据库的开发。以第二章中对数据的需求分析为基础,根据本系统的特点选用了监控系统数据库的软件,开发了数据库,并且采用ADO技术设计并开发数据库的操作接口程序。

第五章研究了监控系统的客户端应用软件的设计与开发,并且进行了通讯测试和实际应用来验证监控系统的效果。

最后一章是总结和展望,首先总结了本论文所做的主要的研究工作和内容,然后对今后在本领域需要进一步研究的内容和需要解决的问题进行了简单的描述与展望。

15

第二章 注塑机远程监控系统总体设计

第二章 注塑机远程监控系统总体设计

注塑机远程监控系统从功能上总体分为下位机系统和上位机系统两层.下位机主要的作用是数据采集、以及过程控制。上位机系统在下位机系统的基础上实现注塑工艺参数设定、工况显示、数据处理、历史数据存储、报警状态监视、监控记录、数据曲线记录等功能。这里本文所研究的监控系统是指上位机系统的研究与设计。

2.1 监控系统的需求分析

如图2-1所示,一台注塑机生产塑料制品的完整的注塑循环周期,可以分为合模与锁模、射台前进和注射、保压、冷却和预塑、射台后退和开模顶出产品等几个阶段。

图2-1注塑成型周期示意图

Fig.2-1 Injection molding cycle schematic

注射成型工艺:

(1) 合模:动模板快速接近定模板,确认无异物存在的情况,起高压,锁紧模板至连杆机构伸直为止。

(2) 射台前进:在模具锁紧后,射台前移,使喷嘴与模具的浇口贴合。 (3) 注射和保压:可设定螺杆以多段速度、位置和压力将原料注射进模具。 (4) 冷却和预塑:注射完毕后等待浇口部分冷却,螺杆就可以向后抽退,而制品处于冷却阶段,同时,转动螺杆,向前输送塑料颗粒,为下次注射准备需要的熔料。当熔料压力高于设定的背压时,螺杆后退,当螺杆退到设定的位置时,停止转动,等待下一次的注射。

16

第二章 注塑机远程监控系统总体设计

(5) 射台后退:预塑结束后,注射座后退使喷嘴离开模具浇口。 (6) 开模:动模板打开至设定的位置。

(7) 顶出:顶针顶出制品,可设置多段前进后退的顶出力和速度。

如图2-2所示为从接单到产品生产完成的整个流程,步骤非常复杂。注塑行业具有的特殊性和复杂性:品种繁多、小批量的生产模式导致新产品开发频繁;制造工艺复杂,制造中各过程的关联性很大;生产计划经常改变,生产环境复杂。因此,注塑机群监控系统对于生产工艺的管理、对模具的管理、故障警报的记录、以及工艺参数更改的可追溯性等等功能都非常重要

图2-2注塑生产流程图

Fig.2-2 Injection molding production flow chart

17

第二章 注塑机远程监控系统总体设计

根据以上对注塑成型工艺以及注塑生产流程的分析,注塑机监控系统需要具备的功能包括:

(1)系统运行状态监视

料筒各段温度值、系统动作进行情况,显示动作名称及相关信息、并通过虚拟仪表、指示灯等组件显示注塑压力、速度、位置、时间、日期等信息;显示实时曲线。

(2)注塑制品质量控制

每个成型周期完成后,从下位机获取对于注塑产品而言最为重要的数据,通过设定的偏差范围来判断当前产品质量好坏,并且存入历史数据库

(3)报警与报表

显示实时警报,并且将警报信息存入历史数据库。

(4)操作记录

对注塑机PLC人机界面上的参数修改以及重要操作进行记录,记录操作的时间、操作的内容、操作者等信息,以便于追溯信息和排查问题。

(5) 机器信息以及用户管理

机器信息包括机器编号、机器生产厂家、机器设计参数、网络IP地址等信息,大型的注塑生产车间拥有数百台的机器,对机器的管理非常重要。注塑生产企业内有不同等级的员工,如一般的操作者、组长、车间主管等;他们需要不同程度的操作权限,因此对于注塑机用户的管理也是必须的功能。

2.2 系统的总体设计方案

2.2.1 网络结构和硬件组成

控制系统由现场各种传感器、PLC、工控机、数据服务器、数据交换机、以太网等设备构成,整个控制系统可分为过程监控以及现场设备层。如图2-3,本文中监控系统主要研究的是上位机即过程监控层,它用于连接客户端电脑、数据服务器电脑、执行设备等;而在现场设备层, 注塑机的控制器通过以太网接口连接到集线器上,接入到整个控制系统网络中。远程的客户端电脑则可以通过编程实现远程数据读取、数据修改等功能,以满足远程监控的功能需求。过程监控层又分为数据服务器层和客户层。数据服务器层连接下位机层和客户层,它有三大作用: (1) 作为主控设备,对注塑机群进行监控。

18

第二章 注塑机远程监控系统总体设计

(2) 对从注塑机群采集的数据进行分析、存储,然后远程提供数据服务。 (3)服务器在接到客户端程序指令后将收到的指令进行解析后向注塑机发送。

客户端程序则通过编程供图形化的人机界面,客户端通过局域网连接到服务器,当客户端接受到服务器所发送过来的数据之后,可以向服务器传送操作指令操作来控制监控系统。系统的通信建立在Ethernet+TCP/IP协议基础上。当上位机(监控系统)对现场设备(注塑机群)进行读写操作或下达控制指令时,将信息通过以太网以及TCP/IP协议先传送至网关设备,然后网关设备再传送给现场的控制设备。此外,在这里使用OPC接口规范和应用程序实时交换数据。

图2-3 监控系统网络结构图

Fig.2-3 Monitoring system network structure

2.2.2 系统软件功能总体结构

互联网软件系统一般可分为 Client/Server 结构和 Browser/Server 结构。Client/Server 结构建立在局域网基础上,采用专用的网络,对于信息安全的控制能力强;Browser/Server 结构建立在广域网的基础上,对网络硬件要求不高,适应性强,对信息安全的控制能力比较弱。针对实际应用情况,本系统将采用Client/Server结构。Client/Server结构模型中程序被分为两个部分:其一是服务器,提供信息与功能给多

19

第二章 注塑机远程监控系统总体设计

个用户共享;另一部分是客户端,每个用户只能专享一个客户端。

如图2-4监控系统Client/Server 结构功能图所示,服务器部分的功能为:收集实时数据、实时报警等信息,并且通过数据库软件将数据写入数据库,形成历史数据、历史警报等存储文件,以供客户端调用和查询。客户端部分的功能为:通过客户端应用软件调用并显示实时数据、显示实时警报、绘制历史趋势曲线、远程控制、报表打印等功能

图2-4 Client/Server 结构功能图 Fig.2-4 Structure and function diagram

注塑机群监控系统可分为三个部份:注塑机数据采集程序、注塑机群监控信息数据库和监控系统客户端应用程序。

(1)注塑机数据采集程序

注塑机数据采集程序的作用是对注塑机控制器中实时采集和存储的数据进行读取以及修改。在本系统中应用OPC数据通讯标准, OPC客户端程序从OPC服务器程序读取数据和写入数据。

(2)注塑机群监控信息数据库

从注塑机PLC读取上来的的监控数据都储存在数据库中,包括注塑工艺参数的存储及修改、警报记录的存储、操作记录的存储、注塑机信息的存储及修改。以这些数据为基础进行数据挖掘和报表分析。

(3)监控系统客户端应用程序

客户端应用程序是面向客户的前台应用程序,它的作用是界面显示、管理用户、数据处理、曲线绘制和报告请求等;

20

第二章 注塑机远程监控系统总体设计

2.2.3本系统的开发方法和技术

(1)系统软件开发使用的语言工具

VC++编程语言从很早开始就能够支持COM组件化开发,不仅它的MFC类库能否支持COM应用,而且集成开发环境visual studio中为COM的开发提供了各种向导工具的帮助。Visual C++还提供了另一套模板库ATL 专门用于COM 应用程序的开发。ATL(Active Template Library)是Visual C++提供的一套基于模板的C++类库,开发人员可以利用这些模板类快速开发COM 组件程序。 ATL 所具有的特点: ·包含所有C++的功能。 ·无需运行库。 ·引用计数。

·高水平的对象和接口实现方法。

ATL 开发应用程序并不像开发MFC 应用程序那样容易。但Visual Stduio 提供某种帮助使开发者迅速开发应用程序。可利用ATL COM Winzard(活动模板库组件向导)和ATL Object Wizard(活动模板库对象向导)来开发ATL 应用程序。

(2)监控系统采用的数据库以及数据库访问技术

这里监控系统的数据库选用了MYSQL关系型数据库作为数据存储的工具。 MySQL 是一个支持多用户以及多线程的中型的关系型数据库系统,它采用的是CLIENT/SERVE软件结构,整个数据库系统由服务器以及不限数量的客户端所构成。数客户端程序通过数据库操作接口与服务器之间通信,进行数据查询及数据保存、数据修改等数据库操作。

MySQL数据库的优点:

·容易使用。MySQL数据库系统相对简单并且性能很高,和oracle这样大型的数据库系统相比,MysQL的复杂度较低,易于使用和维护。 ·速度快。MySQL的运行速度很快。

·MySQL是开源软件。只要到MySQL的官方网站,或者其它相关的网站,即可下载MySQL的组件。如果对MySQL的某一个组件不满,则可以将源代码拿来自己修改,或者增添自己想要的功能。

·多种API的结构。MySQL为C、C++、Java(JDBC)、Perl、PHP等常用编程工具提供了APl接口

21

第二章 注塑机远程监控系统总体设计

·多种API的结构。MySQL为C、C++、Java(JDBC)、Perl、PHP等常用编程工具提供了APl接口。

·支持ODBC协议。支持微软的ODBC即开放式的数据库的连接协议。

·支持多用户的连接。服务器和客户端之间支持一对多和多对多的连接。并且MySQL还提供对用户的访问控制的管理功能。

随着软件技术的发展,数据库访问技术也越来越丰富,包括ADO、DAO、DAO、DAO和RDO等。而ADO,即ActiveX Data Objects,是Microsoft最新的面向对象的数据库操作接口,ADO接口技术提供了一套自动化的接口,通过这套接口可以方便地操作OLE DB数据源。OLE DB 本身也是功能强大的数据操作接口,但是对于数据开发者来说他们并希望通过底层的OLE DB 控制接口来操作数据,那样比较复杂,在高级语言中实现比较麻烦 [9]。他们更喜欢用高层的、自动化程度比较高的开发语言,ADO 接口则能够满足这种需求。

图2-5 ADO架构图表 Fig.2-5 architecture diagrams

ADO技术对相比较于其技术的优越性在于: ? 简单易用。

? 能够支持多种编程语言及开发环境,如V B、Java、VC++等高级语言。 ? 兼容任意种类的OLE DB 接口,能够直接操作任何的OLE DB 数据源。

? 包容了任何的OLE DB接口的功能,支持C++编程人员任意地操作最底层的OLE DB 接口。

22

第二章 注塑机远程监控系统总体设计

·多种API的结构。ADO为C、C++、Java(JDBC)、Perl、PHP等常用编程工具提供了APl接口

? 具有很高的扩展性。通过本身的属性集合功能,ADO 能以动态的形式来表示数据的提供者,同时也可以支持COM 组件化模型。,ADO 其实本身也可以理解为一种OLE DB 客户程序,但是它并不仅限定于某种OLE DB 服务器,它能够支持任意的OLE DB 服务器。通过这些OLE DB 服务器,ADO通过调用这些OLE DB服务器,能够实现Client/Server模式以及基于WEB 的网络上的数据库操作。

2.3 本章小结

本章为注塑机远程监控系统做了需求分析,然后根据需求分析的内容设计了系统整体的结构。首先确定了监控系统的网络和硬件结构,然后进一步描述了注塑机远程监控系统软件的总体框架的设计思路,深入分析了监控系统的Client/Server结构,明确了客户端软件的结构,同时对本系统中所使用的软件开发技术进行了大概的介绍,对系统的整体软件设计有了一个明确的方向。

23

第三章 监控系统中OPC技术的应用

第三章 监控系统中OPC技术的应用

3.1 OPC概述

3.1.1 OPC技术的本质

从上世纪80年代以来,计算机技术以及网络技术的发展飞速,计算机监控系统作为工业控制中的重要领域也随之普遍采取分布式结构的形式,分布式系统具有非常显著的特点就是它的异构性。OPC 技术的本质是采用COM/DCOM技术[5],微软所提出的COM 技术主要目的是实现软件系统的可重用和互操作,为在WINDOWS系统基础之上的应用程序建立一个一致的、面向对象、具有扩展性的通讯协议, DCOM则是COM的扩展,在程序本身之外,支持局域网之内、广域网甚至是互联网上的不同设备之间的通讯[10]。COM 是一种组件化的标准,COM定义了组件与组件间相互通讯的标准,也给组件创建了组件运行需要的环境。 在COM标准的定义中,一个组件程序既可以是动态链接库的形式,也可以是可执行程序,也就是我们通常所说的进程内组件和进程外组件 [11]。一个COM组件程序可以创建一个或者许多个的组件对象, 在COM标准的定义中,它的基本的单元是对象,因此两个程序彼此间进行通信的是它们的组件对象,也就是COM 对象,而 建立COM 对象需要的代码也就是组件程序即COM程序[11] [12]。

COM 标准提供了统一的通信标准,以支持不同的程序组件以及组件对象之间的的通讯;COM标准的内容包含了COM规范以及COM的实现两大部分,其中规范制定了组件与组件之间进行通信需要遵守的机制。COM技术的基本的模型是Client/Server模型,而OPC也是COM模型为基础,所以OPC也是基于Client/Server模型的,因此在进行OPC程序开发时分为服务器的开发和客户端的开发,OPC服务器程序的开发一般由硬件的厂商来实现,而OPC客户端程序的开发则由组态软件厂商或者监控系统的开发者来实现。

3.1.2 OPC规范简述

OPC规范的内容主要包括数据访问(简称OPC DA)规范、报警和事件规范以及历史数据访问规范等。表3-1概括了OPC标准所涉及的内容[13] 。

24

第三章 监控系统中OPC技术的应用

表3-1 OPC 规范内容

Table 3-1 OPC Specification Content

其中的数据访问规范(Date Access)提供给了用户实时过程数据的访问方法;报警和事件规范(Alarm and Events)提供了由服务器程序将事件或报警通知给客户程序的机制;历史数据存取规范(Historial Data Access)是用来给用户获取存储在过程数据存档文件,远程终端设备或数据库中的历史数据以及用以分析这些历史数据的方法

[14]

。OPC标准中最重要的规范是OPC数据访问规范(即OPC DA规范),最新的OPC DA

规范的版本是3.0,本文针对中间版本OPC DA2.04进行开发。

3.2 OPC体系结构

3.2.1 OPC基本框架

一个OPC 客户端可以连接一个OPC服务器或多个的OPC 服务器,而多个OPC 客户端可以同时去连接同一个OPC 服务器[15],如图 3-2所示。

25

第三章 监控系统中OPC技术的应用

图3-2 OPC Client/OPC Server 关系图

Fig.3-2 Relationship diagram between OPC Client and OPC Server

在OPC标准中,一个OPC 服务器包含了三个对象:服务器(Server),组(Group),项(Item) [16]。服务器对象提供OPC服务器的相关属性和信息。OPC 组对象的作用是提供组的属性和相关信息,并且提供了组织和管理项的方法。

图3-3 OPC 服务器对象组成 Fig.3-3 OPC Server objects

在组对象提供了很多的方法给客户程序用来组织和管理数据。比如一个OPC组可以代表一个设备的控制器中的一个变量组。客户程序可以通过编程实现设置组对象的各种属性以及需要管理的数据项等。在OPC规范中有了两种属性的组对象:公共组(PUBLIC)和私有组(PRIVATE)。一个公共组是可以被一个以及多个客户所操作,但是私有组就只能被一个客户操作。一个服务器中,可以有很多个组对象。一个组织中又可以包含很多个项。项是OPC数据读写的最小的单元。在OPC规范中客户端不能直接地去访问数据项,所以在OPC 标准中项并没有对应的COM接口,要想访问一个项必须通过组对象才能实现。以简单的例子来说明,一个OPC项既可以是物理数据源(可控制器编程)中的某个变量,也可以是某个变量的某一位。OPC客户程序可以通过编程实现把多个OPC 数据项加入到一个组中。一个项包含了3 个属性变量:

[17]

26

第三章 监控系统中OPC技术的应用

值(Value)、时间戳(Time Stamp)和品质(Quality) [18]。而且在不同的组对象织中是允许包含同一个项的。

3.2.2 本系统的OPC 的接口体系

在OPC 规范织中提供了两种不同的接口:自定义接口(the OPC Custom Interfaces),自动化接口(the OPC Automation interfaces)[19] [20]。

图3-4 OPC接口规范

Fig.3-4 OPC Interface Standard

在前面已经讲到过, OPC和其它的COM模型一样是CLIENT/SERVER的结构,OPC 服务器提按照规范提供标准的接口体系给客户端用来访问。在OPC规范中自定义接口是一定要提供的,自动化接口,则是可选的。在本监控系统的程序中采用VC++来开发程序访问OPC服务器的自定义接口。

图3-5典型的OPC接口

Fig.3-5 Typical OPC Interface

27

第三章 监控系统中OPC技术的应用

3.2.3 OPC接口定义

和所有的COM对象一样,OPC 服务器对象通过提供一些方法去读取或者修改数据源中的数据。客户程序通过那些标准接口建立与服务器的通讯。通过服务器对象所获得的接口,OPC 客户程序可以调用服务器接口的方法来创建组对象,并且把需要操作的数据项分门别类地加入到不同定义的组对象中,组对象可以激活,也可以不激活。对于客户程序来说,不管是OPC服务器还是组对象接口,可见的知识它们的COM接口。图3-6是OPC 规范中所定义的服务器对象,图3-7是OPC 组对象的COM 接口[21]。

图3-6 标准OPC服务器对象[22]

Fig.3-6 Standard OPC Server object

IOPCServerPublicGroups,IPersistFile 和 为选配

接口,OPC 服务器开发者根据所要实现的功能来决定是否开发。其它的接口则是在

接口是用来显示和浏览OPC服务器中所有的组的信

息。IPersistFile 则是用来服务器的属性配置以及参数保存的,如通信波特率、命名以及IP地址等参数和属性。用户只要通过IPersistFile读取那些参数和属性的变化就知道OPC服务器的变化和启动。

连接点容器接口[23],支持多

个连接点对象,每个连接点都可被一个多个客户端所连接,当OPC 服务器关闭时所有客户程序都一定要释放组对象以及OPC项以释放占用的内存,这个时候就可用该接口来正常地关闭OPC服务器对象。

是除了OPC DA以外其它的OPC

也可以为一个

服务器(如Alarm and Events)都可以使用的接口。通过会互相影响。

开发时一定要实现的。这些接口中: 是用来管理公共组的。

客户端/服务器对话设置一个LOCAL标识。当有多个客户程序同时操作时彼此之间不

接口以所包含的方法的主要的作用是进行创建组对象、删

28

第三章 监控系统中OPC技术的应用

除组对象、枚举组对象以及获取组对象状态等操作。对象的所有接口中最重要的。其接口及成员函数的定义为:

图3-7 OPC 组对象接口

Fig.3-7 OPC group object interface

接口是OPC 服务器

在上图的接口中:IOPCItemMgt的作用是为OPC 客户程序添加组员、删除组员等操作提供方法。IOPCGroupStateMgt是组对象状态获取接口,它的作用是当OPC 客户程序需要操作组对象或者需要获取组对象的信息时提供方法和函数以允许组对象进行操作。IOPCPublicGroupStateMgt 是一个选配的接口,它的作用是实现私有组对象向公有组对象进行转换的目的,一般情况下都不会用到,所以很多厂商开发的OPC 服务器中,都没有这个接口。选配接口IdataObject 以及IOPCAsyncIO 接口则主要是用在异步数据的访问(在1.0版本以后的OPC标准规范中,已被IOPCAsyncIO2接口所取代)。IOPCSyncIO接口用于同步数据访问。上述这两个接口为OPC DA数据访问规范中进行数据通信的最重的两个接口。

3.3 本系统的OPC通讯机制

OPC通讯的方式主要有两种:异步通讯和同步通讯[24]。在那些常见的通讯方式中比如串口、以太网等也同样有同步和异步通信之分,它们的基本原理都相似。如图3-8所示,当进行同步通信时,客户程序对服务器的操作必须一致持续直至服务器操作完成释放之后才能中断,在这个过程中客户端一直处于等待中。所以同步通讯的速度虽然较快,但是占用的资源比较多,当需要对大量数据操作或一个OPC服务器被许多个客户端同时访问时,会造成一定的阻塞现象。因此如果要使用同步通信的方式,那么应该使用在数据访问数量比较小的场合。如图3-9所示,当进行异步通讯时, 客户

29

第三章 监控系统中OPC技术的应用

程序对服务器操作之后,无需等待操作的完成,而可以同时去执行其它的任务。而等到OPC 服务器的操作完成后,客户端得到服务器的通知再去进行相关的操作。所以说,异步通讯方式与同步通讯方式相比,它的效率更高,占用的资源较少[25],因此异步通讯方式可以应用于需要操作大量数据以及很多个客户端同时访问同一服务器的应用场合。

图3-8 同步数据访问

Fig.3-8 Syncronous data access

图3-9 异步数据访问 Fig.3-9 Asyncronous data access

注塑机群监控系统往往需要访问和监控大量的注塑机的数据和状态,因此,对于注塑机数据的实时读写采用异步数据访问的方式。

除了上述的同步数据访问和异步数据访问之外,还有如图3-10所示OPC客户程序无需向 OPC 服务器请求,而由OPC 服务器自动发送变化通知给OPC客户程序的订阅数据采集(Subscription)方式。在这种方式中服务器定期地去更新服务器的各个数据项的缓存值,一旦数值有所变化时,就以事件报告(DataChange)的形式主动地

30

第三章 监控系统中OPC技术的应用

去通知 给客户程序。在这种方式中也可以设定OPC服务器对数据变化的容忍度,当数值变化的范围在容忍度以内时,就认为变化不大,无需通知客户端来读取这个数据,这样可以减轻OPC服务器的负担,提高效率。

图3-10 订阅数据采集方式

Fig.3-10 Subscription data collection methods

对于注塑机异常事件的监控如故障警报的发生,数据更改的发生,客户端不需要实时地去读取这些状态的改变,可以采用订阅数据采集的方式,由服务器定期刷新这些数据在缓存中的值,当这些值有变化时才通知OPC客户端去访问。

31

第三章 监控系统中OPC技术的应用

3.4 OPC 客户程序开发

根据2.1中的数据分析,本文中所设计的监控系统需要处理的数据包括对注塑机工艺参数和注塑机状态的实时读写、对异常状态的监控,由于监控系统所需要监控的注塑机数量比较多,数据的访问量很大,因此这里数据的实时读写采用异步访问的通讯方式,而对异常状态的监控则可以采用数据订阅的方式,异常事件发生时才通知客户端程序,这样可以降低系统的负担,提高效率。OPC 客户程序对OPC 服务器进行访问,其实就是COM模型中客户访问一个进程外组件的实现过程。 OPC DA客户端的开发环境配置如下: (1) Microsoft Windows 2003 (2) Microsoft Visual C++ 6.0

(3) OPC specification(OPC DA2.0)以及SDK

国际基金会发布的OPC Core Components SDK 是OPC数据通信的核心组件。OPC Core Components SDK 组件包中,某些重要的头文件需要在开发客户端时添加到程序中,例如:“ opccomn.h ”(公共接口定义文件) [27]、“ opcda.h ”(OPC数据存取头文件)、“ opccomn_i.c ”(OPC公共接口定义)、“ opcda_i.c ”(OPC DA接口的GUID)。另外,还有“

”、“

”也是COM组件,主要的作用是用来

实现OPC 服务器的列举与现实。

3.4.1 OPC Clent 与OPC server 交互流程

VC++环境下访问OPC 服务器的主要步骤如下: (1) 初始化COM 库,CoInitialize。

(2) 通过OPC 服务器的ProgID 来查询CLISD,CLSIDFromProgID。

(3) 创建OPC 服务器对象,并查询对象的IID_IOPCServer 接口,CoCreateInstance。 (4) 添加一个group 对象,并查询IOPCItemMgt 接口,AddGroup。 (5) 为group 对象添加item,AddItems。 (6) 查询Group对象的异步接口 (7) 得IOPCGroupStateMgt接口。 (8) 创建回调对象实例。

(9) 创建服务器的连接点与Client程序之间的连接。 (10)数据访问操作。

32

第三章 监控系统中OPC技术的应用

如图3-11所示为详细的流程图

图3-11 OPC DA客户端访问流程图

Fig.3-11 OPC DA Client Access Flowchart

释放所有接口,关闭同服务器的联接结束否?数据处理OPCITEMSTATE数据源=OPC_DEVICE或OPC_CACHERead()/Write()点名标志AddItem()IOPCAsyncIO2IOPCItemMGT指向OPCGroup的IUknow接口AddGroup()IOPCCommonIOPCServerIOPCBrowseServerAddressSpace指向OPCSERCER的IUknown接口CoGetClassObject()、CreateInstance()获取OPC服务器的CLSID和名称开始QueryInterface()QueryInterface获取点名、路径、类型 33

第三章 监控系统中OPC技术的应用

3.4.2 OPC 服务器列表功能

首先需要实现的功能就是搜索和浏览数据服务器内安装的 OPC Server。具体步

骤如下:

(1) 创建浏览OPC服务器的对话框,在CPP文件中添加以下头文件: #include 、#include、#include、 #include

#import “opcEnum.exe” no_namespace (2) 定义CLSID:

static const CLSID CATID_OPCDAServer20

(3)通过前面所述的组件工具所提供的IOPCServerList接口我们可以建立浏览OPC SERVER对象,实现

//仅对本地进行搜索 //创建浏览器

//查询OPC 规范中组件接口的指针

//获取OPC服务器的CLSID

//获取OPC服务器的相关信息 //释放内存

34

这个函数用来查找目标服务器上的

OPCSERVER。以下为上述功能实现的部分代码:

第三章 监控系统中OPC技术的应用

图3-12 OPC服务器浏览与连接

Fig.3-12 OPC Server Browsing and connections

如图3-12所示,Sigmatek.OPCServer.1为本系统中实验所用的注塑机PLC厂商所提供的OPC Server程序 。选中该OPC Server, 点击OK确认后即与该OPC SERVER建立了连接。

3.4.3创建OPC服务器对象

OPC DA客户端是通过服务器接口调用OPC SERVER的函数来操作其数据项的。要对OPC项进行操作必须要通过该数据项所属的组对象才能实现,而组对象的操作又必须通过OPC服务器对象才能实现。以下是实现与OPC SERVER连接并获取服务器对象接口的关键代码:

35

第三章 监控系统中OPC技术的应用

在COM组件开发中,对于COM组件的初始化否成功必须要判断,如果失败,则要跳出命令,并释放内存;同样地,在连接OPC服务器时也需要进行上述判断,如果连接断开的时候,要避免内存的泄漏,先撤销连接,然后再移除OPC组和OPC项,释放之前创建的接口并且注意内存的释放。 3.4.4创建OPC组对象

IOPCServer接口是OPC服务器接口中最重要的接口,定义了AddGroup()和RemoveGroup()这两个函数用于添加、删除OPC组对象,在获接口指针后就可以调用这两函数老操作OPC组。组对象在创建的时候需要设定刷新率、死区等属性。OPC组是客户端程序在运行时的最基本的单位;为了保存组信息,使用CGroupList集合类定义了Group类。以下代码为功能实现的关键程序:

在用 Addgroup()函数创建了组对象成功后可以得到返回的pOPCITEM指针,利用此指针就可以调用组对象接口的函数,从而实现管理OPC数据项的功能。如果要获得组对象接口的其它指针,则要使用QueryInterface() 这个函数来实现:

36

第三章 监控系统中OPC技术的应用

图3-13 OPC服务器浏览连接属性 Fig.3-13 OPC Server connection property

如图3-13为新建一个OPC组对象并设置其属性参数的对话框,其中包括组名、更新时间、死区等。 3.4.5创建项对象

一个OPC组可以添加进很多的项,客户端程序首先需要取得组对象的操作接口,然后通过接口可以得到IOPCItemMgt这个指针, 通过这个接口可以调用AddItems()、

等函数,可以添加或删除所获得接口的对应的组对象

内的项对象。在实现添加项或者删除项等功能时,对于所增加的项的信息也要进行保存,在这里用CItemList集合类定义Item类,以下为实现该功能的关键代码:

pOPOltemMg->AddItems(count,m_tempItcms,&m_pltemResult,&m_pErrors);

37

第三章 监控系统中OPC技术的应用

OPC项代表了OPC服务器与物理设备数据源的一个连接,每一个项都拥有其属性,如值的品质和时间戳[28]。项的添加函数Addltems()的参数m_pltemResult为每一个添加的OPC项返回服务器的句柄phServer,在数据的读取以及写入时将会用到该句柄:

&pltemState,&pErrors);

表示OPC服务器从设备的驱动程序中读取数据,从返回值pltemState中可获得值的品质和时间戳特性.

图3-14 添加OPC数据源 Fig.3-14 Add the OPC data source

如图3-14所示为为OPC Group添加OPC Item 的对话框。在PLC提供的OPC数据源中选取需要的数据,点击“Add Item” 添加数据源。这样就可以把很多数据项按照不同列别分别添加到不同的OPC组对象中

3.5 本章小结

在本章中首先研究了OPC规范,剖析了其技术本质、接口体系以及通讯机制;然后分析了OPC的三种通讯方式的特点,根据本系统的实际需求,采用来最适合的方式;最后详细地研究了OPC客户端程序的开发内容以及开发过程,实现了OPC服务器搜索与列表功能、创建OPC服务器对象功能、创建OPC组对象功能、创建OPC项对象功能等。

38

第四章 注塑机数据分析和数据库建立

第四章 注塑机数据分析和数据库建立

根据本文前面 2.1.1 节的监控系统的需求分析结果可以将系统数据库所需要操作的数据大致上分成工艺参数、警报记录、操作记录、周期数据、机器信息、用户信息等六大类。数据库将围绕上述信息进行分析和设计。

4.1数据分析

注塑机以及注塑过程相关数据可以分为以下几种类型: (1)工艺参数

工艺参数由客户设定,包括:

料筒以及热流道各段温度;各段开合模位置、速度;锁模力;各段注射位置、速度;V/P切换位置、V/P切换速度;保压压力、保压时间;冷却时间;各段储料位置、储料速度、储料背压;射退位置、射退速度;顶出位置、顶出速度。 (2) 周期数据

注塑机每次打完一个产品计为一个周期,每个周期完成后,下位机程序会生成图4-1的10个与注塑产品质量关系最大的数据,以判断产品质量是否合格。每个周期完成后,计数器会增加一个计数。

图4-1质量监控画面 Fig.4-1Quality monitor page

39

第四章 注塑机数据分析和数据库建立

(3) 警报记录

注塑机本身故障或注塑工艺异常时,下位机系统会有相应的警报发生。每个不同的警报有单独的变量表示。 (4) 操作记录

操作人员修改任何机器工艺参数都会产生修改的记录,包括修改前的值、修改后的值、修改时间。 (5) 机器信息

机器信息包括机器编号、机器型号、生产厂家、PLC IP地址。 (6) 用户信息

用户信息包括用户ID、用户等级、用户名称。

4.2数据库设计

4.2.1数据库结构设计

根据4-2中数据分析的结果,如图4-2在MYSQL中建立以下表格:

图4-2 系统数据库 Fig.4-2 Data base system

40

第四章 注塑机数据分析和数据库建立

表4-1 工艺参数

Table 4-1 technological parameter

字段名称 变量名 数值 参数名 单位

数据类型 Varchar Int Varchar Varchar

数据长度 45 11 45 45

表4-2 警报记录 Table 4-2 Alarm record

字段名称 警报变量名 警报文本 警报发生时间 警报消除时间

数据类型 Varchar Varchar Datetime Datetime

数据长度 45 100

表4-3 操作记录 Table 4-3 Operating record

字段名称 变量名 操作名称 旧值 新值 发生时间

数据类型 Varchar Varchar Int Int

Datetime

数据长度 45 45 11 11

表4-4 周期数据 Table 4-4 Cyclical data

字段名称 变量名 数值 周期数

数据类型 Varchar Int Int

数据长度 45 11 11

表 4-5 机器信息

Table 4-5 mechanical information

字段名称 机器ID 机器型号 机器IP 机器厂商

数据类型 Varchar Varchar Varchar Varchar

数据长度 45 45 45 45

备注 主键,非空 非空 非空 备注 主键,非空 非空 非空 备注 主键,非空 非空

非空 非空 非空

备注 主键,非空 非空 非空 非空 备注 主键,非空 非空 非空 非空

41

第四章 注塑机数据分析和数据库建立

表4-6 操作者信息 Table 4-6 Operator message

字段名称 操作者ID 操作者名字 操作等级 登录密码 备注信息

数据类型 Varchar Varchar Int Varchar Varchar

数据长度 45 45 11 45 100

备注 主键,非空 非空 非空 非空

表4-7 模具信息

Table 4-7 Molding information

字段名称 模具ID 模具名称 模具颜色 模具状态 备注信息

数据类型 Varchar Varchar Varchar Varchar Varchar

数据长度 45 45 45 45 100

备注 主键,非空 非空 非空 非空

表4-8 产品信息

Table 4-8 Product information

字段名称 产品ID 产品名称 原料型号 备注信息

数据类型 Varchar Varchar Varchar Varchar

数据长度 45 45 45 100

备注 主键,非空 非空 非空

如图4-3所示为数库表结构之间的关系图

图4-3数据库表结构关系图

Fig.4-3 Database table structure diagram

42

第四章 注塑机数据分析和数据库建立

4.3 数据库操作程序的设计和实现

4.3.1 ADO数据模型

图4-4 ADO数据模型 Fig.4-4 ADO data model

如图4-4所示,ADO对象包括

[29]

:Connection Object(连接对象)、Command Object

(命令对象)、RecordSet Object(记录集对象)、Field Object(字段对象)、Record Object(记录对象)、Error Object(错误对象)、Parameter Object(参数对象)、Property Object(属性对象)和Stream Object(流对象)。其中,最为重要的是Connection Object(连接对象)、Command Object(命令对象)和RecordSet Object(记录集对象)。 Connection Object代表了一个和数据源的连接,以后的数据库操作都建立在这个连接的基础之上。其与MFC ODBC中创建数据源的连接的CDatabase数据库类非处相似,其他功能也非常相似。Connection Object提供了对数据库的操作,但是并不返回数据库操作后的记录集。Command Object用来处理一些数据库操作,在某些方面具有和Connection Object相同的功能,比如都可执行标准的SQL语句和存储过程,不过Command Object可以返回带有记录集的结果。Recordset Object代表了一个记录集,用于访问记录集,与MFC OBDC的CRecordset有些相似。RecordSet Object能方便地实现记录的添加、删除和修改操作。

43

第四章 注塑机数据分析和数据库建立

ADO提供了以下这些编程方法来实现对数据库的操作[30]:

(1)Connection(连接)。 “连接”给应用程序提供方法连接到所要访问的数据库。在使用连接时有些信息必须提供,比如所需连接的数据库的名称,需要提供的用户名、密码等。使用上述ADO数据模型中的“连接对象”来执行连接。 (2)Parameter(参数)。通过ADO执行数据库的操作命令时可以设定参数,同样的命令可以设定不同的参数,如执行同个命令但是搜索的指定条件可以不一样。使用上述ADO数据模型中的“参数对象”来实现参数。

(3)Command(命令)。在连接建立成功之后,程序就可以对数据库执行操作。使用“命令”方法可以对数据库进行常规的操作如查询、添加、删除。使用上述ADO数据模型中的“命令对象”来执行命令。

(4)RecordSet(记录集)。在数据库查询数据时,执行命令会得到一个返回的结果值,而这些返回值以“行”的形式储存在本地,形成“记录集”。使用上述ADO数据模型中的“记录集对象”来体现。

(5)Field(字段)。上述执行命令返回的结果以“行”的形式保存,每一行中都可以包含多个的字段信息,如数据名称、数据的值、以及数据的类型等。使用上述ADO数据模型中的“字段对象”来体现。

(6)Property(属性)。每个对象都是独立的,拥有唯一的属性。分为内置属性和动态属性两种类型。前者是ADO对象本身所包含的内容,可以任意地调用。后者将会被添加到属性集合之中,只有在被用到时才会创建。使用上述ADO数据模型中的“属性对象”来体现。

(7)Error(错误)。在创建连接、执行命令时经常会因为创建失败或者命令参数不对导致发生错误。使用上述ADO数据模型中的“错误对象”来体现。

(8)Set(集合)。在ADO中有一种称之为集合的对象类型,它可以作为容器包含其它的对象类型。可以在集合中通过一些属性来查询需要的对象。集合的类型主要有四种:Errors集合、Fields集合、Parameters集合以及Properties集合;Errors集合可以被“连接”对象包含,Parameters集合可以被“命令”对象包含,Fields集合可以被“记录集”对象包含,而Properties集合则 “连接”对象、“命令”对象、“记录集”对象都可以包含。

Visual C++ 为ADO 操作提供了库支持, Windows 操作系统的C:\\Program Files\\Common Files\\System\\ado\\目录下一般都有一个msado*.dll 文件,由于Windows 操作系统版本的不同,该文件可能是msado1.dll、msado15.dll 和msado2.dll。目前ADO 的最高版本是2.0。在用Visual C++ 进行ADO 编程时,可以利用VisualC++ 的import 宏,将该库文件引用到工程里,从而使msado*.dll 库里的函数声明和数据被应用程序的代码所使用。通过引用,msado*.dll 库在应用程序里产生了所有ADO Object的声明和描述[31],这些声明同前面介绍的对象名称相似,但有所不同,以下为最常用的操

44

第四章 注塑机数据分析和数据库建立

作对象:

? _ConnectionPtr:指向Connect 对象的指针。 ? _RecordsetPtr:指向Recordset 对象的指针。 ? _CommandPtr:指向Command 对象的指针。 ? _ParameterPtr:指向Parameter 对象的指针。 ? FieldPtr:指向Field 对象的指针。 ? ErrorPtr:指向Error 对象的指针。 ? PropertyPtr:指向Property 对象的指针。

利用上述指针,可以使用4.3.1章节介绍的所有属性和方法进行数据库应用开发。图4-5 是一个最典型的ADO 对象使用流程描述。

图4-5 ADO 对象使用流程描述

Fig.4-5 ADO objects using process description

4.3.2数据库的连接

VC++环境下通过ADO连接MySql数据库,首先得安装MyODBC服务器程序。MyODBC版本要和MySql的版本相匹配,否则会连接不上。在本系统中用的MySql版本和MyODBC的版本分别是mysql-connector-odbc-5.1.5-win32.msi和mysql-5.1.48-win32.msi。

安装好MyODBC服务器后,点击开始->设置->控制面板->管理工具->数据源(ODBC)->用户DSN->添加->选择MySQL ODBC 5.1 Driver[37]。如图4-6:

45

本文来源:https://www.bwwdw.com/article/gu38.html

Top