


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、上位机监控软件中的数据库操作1. 引言 本系统是一个粉料加料系统,分为六个部分:加料区、一号 粉料 区、二号粉料区、三号粉料区、混合搅拌区及下料包装区。 其加料区由一个加料 罐和一些泵和阀组成; 一号粉料区由四个粉 料罐和一个称量罐及泵和阀组成; 二 号粉料区同一号粉料区; 三 号粉料区同一号粉料区;混合搅拌区由混合罐及内 部搅拌浆组 成。根据实际情况需要完成下列功能。功能一: 监视功能。将现场设备的信息, 如阀的位置, 变频 器的电流功率, 储罐内的液位, 称重罐的重量等显示在上位机上, 可以实时的监视现场的情况, 并可以手动控制单个设备, 比如开 启一个阀活电机等, 并将相应的信息存入数
2、据库, 使其能看到历 史曲线及历史事件与报警的记录。功能二:管理功能。 在上位机上能储存不定量配方, 可以新 建修改配方, 也 可以删除不用的配方, 根据生产的需要选择不同 的配方,系统将根据该配方的 要求运行。功能三:报表功能。 由于批次生产的特殊性, 一般需查看打 印不同的报表, 以供生产管理,这里需要日报,月报,按配方查 询,成分统计,配方统计等。2. 系统的硬件设计 该系统的硬件由 1 台上位机(电脑), 1 组 PLC 通过以太网3. VB 设计上位机的外挂界面和数据库管理平台3.1 上位机与 PLC 之间的通信 本设计中,上位机与 PLC 之间的通信协议有两种:一种是用 来实现监视
3、功能的。用INTOUCHA为上位机软件,通过 ROCKWELL的RSLINX作为 OPC 通讯连接上位机与 PLC ,这样就能把 PLC 的 点与上位机的点一一对应 起来, 在上位机上就能监视控制现场的 设备了,这个在这里就不做具体说明。另一种是用来实现管理的,即把上位机的配方指令下达给PLC 我们选择一个合适的配方,按下确定键后,PLC 就会收到该配方的所有信息, 并将根据此配方进行工作。 这个功能由于设 计很多数据的 上下载及数据库的应用, 用上位机软件自身的功能 很难实现,所以采用了一个 外挂的VB 程序作为实现该功能的中介,这里采用了 DDE 协议,使得 VB 界面中的数据下载到 PL
4、C 中, 代码如下: start_recipe.Text=1start_recipeTopic="RSLinx|menniu" start_recipeItem="Weigh_Start , L1, C1" start_recipeMode=2 start_recipePokestart_recipeMode=0 start_recipe.Text=0 start_recipeTopic="RSLinx|menniu" start_recipeItem="Weigh_Start , L1, C1" start_re
5、cipeMode=2 start_recipePokestart_recipeMode=0Text1.Text=Combo1.Text Text1Topic="RSLinx|menniu" Text1Item="Recipe_Name"Text1Mode=2 Text1PokeText1Mode=03.2 上位机与数据库之间的通信(1) INTOUCI 与数据库间的通信:在一定的条件下,需要从上位机上把特定的数据传到数据库中, 作为报表的数据源, 这 时就要建立上位机 (INTOUCH 与数据库( ACCES )之间的通信。 本设计中, In Touch
6、 通过 ODBC 和 Access 进行数据交互,通过 In Touch SQL 访问管理器将 In Touch 的数据记录到关系数据库中。 具体的步骤如下:首先,创建 Microsoft Access 数据库并配置ODB (数据源。先在ACCESS据库中建立一个表,将需要记录 的 数据分别列到每列中,分配好数据类型,记住数据库名和表名。然后配置 ODB (数据源,新建一个数据源,选择刚刚建的数据库,测试成功后就结束了这步然后,配置 In Touch SQL 访问管理器。首先在 In Touch 标记 名字典创 建和 Access 列名相同的标记名,其类型也要一致;然 后编写连接与断开数据 库
7、脚本;最后,启动In Touch SQL 访问管理器,建立绑定列表 BlindedList ,绑定列表把 InTouch 中的标 记名和数据库 中表里的列名映射起来。 其连接与断开数据库脚本 如下:连接数据库: ResultCode=SQLConnect ( Connectionld , "DSN= 数 据源名 " );断开数据库: ResultCode=SQLDisconnect ( ConnectionId ); 最 后,验证数据通信是否正常。(2) VB 与数据库的通信:由于客户需要增加减少配方, In touch 又不好做这么麻烦的 Recipe ,所以用 VB 做
8、一个外挂程 序与数据库通 讯,专门用来做配方管理。这里使用 OLE DB 接口 连接 VB 与数据库,首先在 VB 的界面上加一个 Adodc 的控件,这 个控件就是 一个数据通讯的接口, 在需要采集数据的时候, 写下 下面的脚本: Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=G: VBNEWVmengniu.mdb ; Persist SecurityInfo=False" (通过 OLEDB! 接数据库)Adodc1.RecordSource="select*f
9、rom product 通过 select 语 whereproduct code='"& Combo1.Text &"'"句在数据库中查找记录 )这样,数据库就能和 VB 连接起来了3.3 数据操作的实现 此配方管理由六个部分组成,分别为成分配置,罐子配置, 配方管理,生产,报表,备料;其中成分配置,罐子配置,配方 管理是 需要用户名及密码才可以进入, 具有一定的保密性。 生产, 报表,备料是一般 操作员所要使用的。点击主页上的“配方管理”按钮,输入准确的用户名和密 码,就能进入罐 子配置窗口。当一打开该窗口的时候, 列表中显 示
10、的是当前所有配方的大概信息, 从产品代码的下拉框中选择一 个配方代码, 该窗口将显示该配方的详细信息, 包 括该配方的成 分配比,需要的总重,混合时间等等, VB 的实现过程是这样 的:Adodc1.Visible=FalseAdodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=G: VBNEWVmengniu.mdb ; Persist SecurityInfo=False"Adodc1.RecordSource="select*from product"Adod
11、c1.RefreshSet DataGrid1.DataSource=Adodc1Dim b (0 To 100 )As StringDim d As BooleanAdodc1.Recordset.MoveFirstFor i=1 To Adodc1.Recordset.RecordCountb( i )=Adodc1.Recordset.Fields ( "product code" )For j=1 To i-1If b (i )=b (j ) Thend=1End IfNext jIf d=0 ThenCombo1.AddItem Adodc1.Recordset.
12、Fields ( "product code" )End Ifd=0Adodc1.Recordset.MoveNextNext i3.4 报表功能的实现 在主页上点击“报表”,出现如下窗口。 在这里可 以查看日报, 月报,并可以通过分类查询各种数据。这里使用 VB 的 DataReport 做的报表。首先添加一个 Data Environment 并打开它,然后鼠标右键 单击 Connection1 ,选择属性后弹出一数据库 连接属性窗体选择,单击 "下一步 ",选择"Microsoft Jet 4.0 OLE DB Provider"
13、;所须要的数据库确定。然后鼠标右键单击 Connection1 ,选择 "Add Command , " Data Environment 就创建了一个 Command , 1 然后鼠标右键单击Comma nd , 选择属性后弹出一 Comma nd 属性窗体,在 Database Object 属性中选择 Table ,在 Object 中选择 Employee ,然后单 击 Comma nd 属性 窗体中的 Groupi ng ,然后复选 "Group Comma nd Object" ,在 Fields in 中 双击 "TitleOfC
14、ourtesy" ,然后确定(即 按 TitleOfCourtesy 分组)。添加一报表名为 DataReport1 ,在 DataReport1 的 DataSource 属性 中填入 "DataEnvironment1" ,在 DataMember 中 填入 "Command1_Grouping", 然后鼠标右键单击报表窗体选择 Retrieve Structure ,并确认这样就定义了一个报表结构。在报 表的 "Command1_Grouping_Header 一栏中摆上一 RptTextBox 控 件,并设置 DataFiel
15、d 属性为 "TitleOfCourtesy" ,在报表的 "Command1_Detail" 一栏 中摆上三个 RptTextBox 控件,设置 DataField 属性分别为 "EmployeelD" , "LastName" 和 "FirstName" ,并将其 DataMember 属性设置为 "Command1" 双击报表,在代码窗体中输入以下代码:Private Sub DataReport_lnitialize ()Dim strShape As StringD
16、im cnnReport As New ADODB.ConnectionDim rstReport As New ADODB.RecordsetstrShape="SHAPESELECT*FROM'batch_recipe'WHERESTOP TIMEBETWEEN #"& Form5.Text5 &"# AND #"& Form5.Text6 &"#AS Command1 COMPUTE s ( umCommand1.TARGET QUANTIT )Y asTARGETQUANTITY , su
17、m ( Command1.REALQUANT ) asREALQUANT , Command1 BY'INGREDIENT'"Set cnnReport=New ADODB.ConnectionWith cnnReport.Provider="MSDataShape.1".Open"Data Source=GVBNE W mengniu.mdb ; DataProvider=Microsoft.Jet.OLEDB.4.0"End WithSet rstAgmRpt=New ADODB.RecordsetWith rstAgmRptSet.Activ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 体内主要微量元素的代谢生物化学07课件
- 水稻的生长发育
- 消防电源系统设计方案
- 水电站调压阀课件
- 正常人体解剖学椎骨的一般形态58课件
- 水电施工安全知识培训课件
- 2025版医疗卫生机构医护人员劳务派遣合作协议
- 二零二五年度大型工程项目爆破技术综合支持服务协议合同
- 二零二五年度生态农业建设项目分包协议书
- 二零二五年度房产过户离婚协议书及离婚后房产分割执行监督合同
- 慈善机构的财务管理
- (高清版)DZT 0208-2020 矿产地质勘查规范 金属砂矿类
- 《武汉大学分析化学》课件
- 医学影像学与辅助检查
- 电力工程竣工验收报告
- 双J管健康宣教
- 如何提高美术课堂教学的有效性
- 水电站新ppt课件 第一章 水轮机的类型构造及工作原理
- 护理查对制度课件
- 市政工程占道施工方案
- GB/T 39965-2021节能量前评估计算方法
评论
0/150
提交评论