如何与第三方系统实现数据共享

上传人:橙** 文档编号:333370700 上传时间:2022-09-01 格式:PDF 页数:5 大小:1.24MB
返回 下载 相关 举报
如何与第三方系统实现数据共享_第1页
第1页 / 共5页
如何与第三方系统实现数据共享_第2页
第2页 / 共5页
如何与第三方系统实现数据共享_第3页
第3页 / 共5页
如何与第三方系统实现数据共享_第4页
第4页 / 共5页
如何与第三方系统实现数据共享_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《如何与第三方系统实现数据共享》由会员分享,可在线阅读,更多相关《如何与第三方系统实现数据共享(5页珍藏版)》请在金锄头文库上搜索。

1、图 6-1 图 6-2 1图 6-3 第六章如何与第三方系统实现数据共享实现与第三方系统的数据共享是系统开放的要求,包括从第三方系统读入数据和为第三方系统提供读取数据的手段两个方面的内容。下面用几个例子详细说明。6.1 SQL 查询及应用示例假设在一个力控?应用程序中,有一组质量化验数据通过I/O Server 采集进入力控?的实时数据库,分别是:product.pv(产品代码,0-93#汽油,1-70#汽油,2-30#柴油,3-10#柴油,4-0#柴油)、water.pv(水份含量)、impurity.pv(杂质含量)、burntemp.pv(燃点)和 density.pv(密度)。在画面上

2、可以看到化验的实时数据,现要求力控?应用程序将化验结果存入一个关系型数据库中,并每次化验结果出来时统计、计算出迄今的平均杂质含量和最大、最小杂质含量。如图 6-1 所示,当新的化验数据出来时,按“插入记录”将新的一组数据插在关系数据库的尾部,再按“查询记录”计算杂质的平均值、最大值和最小值。在此之前要按“选择 ODBC 源”按钮选择关系数据库类型和数据库文件名称,再按“联接数据库”建立力控?应用程序与关系数据库文件之间的连接,如果关系数据库中的数据表还没有建立,还要按“创建化验数据”建立数据表。下面我们来看上面例子的组态过程。1.在力控?应用程序中建立一个数据绑定表,将要写入关系数据库中的力控

3、?数据库变量与关系数据库中数据表字段的对应关系建立起来,注意,字段名称和变量名称要严格对应,一个字符不差,见图6-2。2.在力控?应用程序中建立数据表模板,如图 6-3 所示。规定关系数据库数据表中各字段的具体格式。3.分别建立“ODBC 源”、“联接数据库”、“查询记录”、“关闭数据库联接”、“创建化验档案”、“清除化验档案”“错误记录”、“查询结果”等按钮并定义按钮动作。图 6-4-名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 5 页 -,按下后出现图6-4 的对话框,提示选择关系数据库种类,例如如果选择EXCEL表格,双击“Excel Files(not shaarabl

4、e dsn)”出现图6-5 所示对话框提示选择关系数据库的文件名称。它的动作是SQLSelDatSour(dataSour_hy)。图 6-5 dataSour_hy 是中间变量,是关系数据库的标识。,按下后力控?应用程序与关系数据库文件建立起连接,如果连接成功,按钮上的字变为绿色。关系数据库文件名称是在图6-5 中选择的,而关系数据库的字段结构是在数据绑定表和数据表模板中定义的。该按钮要定义两个动作:按下鼠标动作和控制按钮颜色变化的一般周期性动作。按下鼠标动作:if(ConnectID_hy 0)then /ConnectID_hy 的初始值为-999,在窗口动作中初始化 SQLConnec

5、t(ConnectID_hy,dataSour_hy);/dataSour_hy是返回的标识。endif;一般动作,运行中周期执行:if(ConnectID_hy 0)then ;如果返回的 ConnectID_hy 值是负数,表示 this.lColor=0;;连接不成功。颜色编号0是红色的颜色代码,32是绿色代码else this.lColor=32;endif;图 6-6 是连接成功的例子。图 6-6,当选定的关系数据库中不存在存放化验数据的关系表时,该按钮在选定的关系数据库中新建一个数据表,数据表的名称是在数据表模板中定义的,在这 里 是“checkdbms”。它 的 动 作 脚 本

6、是SQLCreateTable(ConnectID_hy,checkdbms,checkdbms);,删除数据表中的所有记录,但不删除数据表。它的动作脚本是SQLClearTable(ConnectID,checkdbms);图 6-7,关闭与关系数据库文件的连接,它的动作脚本是 SQLDisconnect(ConnectID_hy);ConnectID_hy=-999;2名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -,该按钮的作用是查看关系数据库操作过程中出现的错误,是由关系数据库返回的,包括插入记录、删除记录等操作,如图6-7 所示。它的动作脚本是SQLLastE

7、rror(ErrorMes);MsgBox(ErrorMes);,该按钮的作用是显示数据表中的所有记录,如图6-8 所示。它的动作脚本是SQLDisplay(100);,该按钮的作用是统计数据表中的最大、最小、平均杂质含量,如图 6-9 所示。图 6-8 SQLSelect(ConnectID_hy,checkdbms,”);;选择数据表的所有记录SQLRowCount(RowCount);;得到数据表中的记录总数SQLStatistics(ConnectID_hy,checkdbms,0,杂质含量,Avgimpurity,);得到平均杂质含量,并保存在中间变量 Avgimpurity 中SQ

8、LStatistics(ConnectID_hy,checkdbms,2,杂质含量,Minimpurity,);得到最小杂质含量,并保存在中间变量 Minimpurity 中SQLStatistics(ConnectID_hy,checkdbms,3,杂质含量,Maximpurity,);得到平均杂质含量,并保存在中间变量Maximpurity 中,该按钮的作用是将当前的化验结果存到关系数据库的数据表中,保存的力控?应用程序数据库变量及其与数据表中字段的对应关系已经分别在数据绑定表和数据表模板中定 义,它 的 脚 本 动 作 是SQLInsert(ConnectID_hy,checkdbms,

9、check);图 6-9 图 6-10 思考题:本例中力控?应用程序的化验数据插入到关系数据库中实际上是手动插入的,假如化验是在每天的上午8-9点之间进行,即九点钟之前保证完成,那么怎样实现化验数据自动插入到关系数据库中,并将化验时间也作为一个字段写入关系数据库,同时自动生成统计数据和表格。提示:在数据绑定表中和数据表模板中增加$Time,编制$Hour的3名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -数据改变脚本,当$Hour 由 8 变成 9 时立即自动执行“插入记录”按钮和“查询记录”的动作。图 6-11 6.2 如何从 EXCEL表格读取数据假设有一个电子表格

10、中有有两个单元格中的数据分别是一个一个储罐的液位和温度,怎么在力控的应用程序中读到他们呢?1.在“I/O 设备驱动”上增加一个DDE 设备,如图 6-10 所示。注意 EXCEL的访问名和主题名称不要写错。2.实 时 数 据 库 中 增 加 两 个点:LI1101和 TI1101,分别与刚才定义的DDE 设备建立数据连接,LI1101.PV 和R1C1 相连,TI1101.PV 和 R1C2 相连,见图 6-11。3.新建一幅画面,在上面组态两个数值显示,分别显示LI1101.PV 和 R1C1的数值。4.启动 EXCEL 程序,在R1C1 和R1C2 两个单元格中键入数据,启动力控?的 系

11、统 运 行 环 境,在 画 面 上 看 到LI1101.PV的 数 值 与R1C1相 同,TI1101.PV的数值与R1C2 相同,见图6-12。图 6-12 6.3 如何在 EXCEL中读取力控?数据图 6-13 力控?的 DDE 服务名和主题名都是 DB,如果在 EXCEL 中访问力控?应用程序中的实施数据,直接在单元格中键入“=DB|DB!变量名.参数”即可,图 6-13 是 R1C1 与 LI1102.PV 连接的例子。6.4 调用第三方或自编控件的应用举例调用第三方或自编控件是扩展系统功能的有效手段,这里以Windows 系统的日历控件为例介绍如何在力控?中调用其方法和属性。1.首先

12、执行菜单命令“特殊功能/OLE 控件管理”,在弹出的对话框中选择“添加”,这时 Windows 系统中的所有控件都将显示出来供选择,双击要选择的控件“calendar”将控件加入到力控?的控件管理器中。如果是自编的控件,则不必选择“添加”,直接选择“注册”按钮就可以。2.执行菜单命令“插入/插入 OLE对象”,从力控?的控件管理器中选择“calendar”控件,这时在力控?应用程序的画面中会出现日历控件的底图,将它命名为calendar0。4名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -3.双击 calendar0,在动画连接主对话框中选择“左键动作”,在出现的脚本编

13、辑器中可以看到有一个“方法/属性”按钮,这是控件对象所独有的,单击该按钮,出现日历控件的方法/属性列表框(图6-14),记下这些方法和属性,以便调用。图 6-14 4.创建“前一天”、“后一天”、“前一年”、“下一年”、“上个月”、“下个月”四个按钮,用于改变 calendar0 的月份、日期和年份,另外再创建一个数值输入/显示对象,用来显示和修改日历底图单元格的风格。5.为四个按钮和数值显示/输入等图形对象定义动作,定义动作的依据是日历控件的属性和方法。“前一天”的动作为:#calendar0.previousday();“后一天”的动作为:#calendar0.nextday();“前一年

14、”的动作为:#calendar0.previousyear();“下一年”的动作为:#calendar0.nextyear();“上个月”的动作为:#calendar0.previousmonth();“下个月”的动作为:#calendar0.nextmonth();用于显示和改变日历底图单元格属性的数值连接为:#calendar.GridCellEffect。6.进入运行环境,单击“下个月”按钮可以看到日历改为显示下个月,图6-15 是按钮按下前后的对比。7.将“在单元格属性”数字改为0,日历的底图边为图6-16 的风格。图 6-15 图 6-16 5名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号