内容正文:
任务1 组态王与Excel间的数据交换
学习目标
1.了解DDE的概念。
2.掌握组态王与Excel之间的动态数据交换方法。
3.掌握组态王中I/O变量的DDE访问。
项目九 网络功能
任务引入
利用组态王创建一个组态工程项目与Excel表格实现数据动态交换,画面如图9-1-1所示。从Excel接收数据时,组态画面中第1行的3列显示Excel表中第1行中3列输入的字符串,第2行的3列显示Excel表中第2行中3列输入的数值。发送数据到Excel中,在组态画面上第6行中3列任意写入数值,可直接在Excel表的第6行前3列单元格中实时查看写入的数据。
图9-1-1 数据交换画面
相关知识
动态数据交换的概念
组态王支持动态数据交换(DDE:Dynamic Data Exchange),能够和其他支持动态数据交换的应用程序方便地交换数据。通过DDE,工程人员可以利用计算机丰富的软件资源来扩充组态王的功能;可以利用VISUAL BASIC开发服务程序,完成数据采集、报表打印、多媒体声光报警等功能,从而很容易组成一个完备的上位机管理系统;还可以和数据库程序、人工智能程序、专家系统等进行通信。
DDE(Dynamic Data Exchange:动态数据交换)是WINDOWS平台上的一个完整的通信协议,它使支持动态数据交换的两个或多个应用程序能彼此交换数据和发送指令。DDE始终发生在客户应用程序和服务器应用程序之间。
DDE对话的内容是通过三个标识名来约定的:
【应用程序名(application)】:进行DDE对话的双方的名称。
【主题(topic)】:被讨论的数据域(domain)。
【项目(item)】:这是被讨论的特定数据对象。
建立DDE之前,客户程序必须填写服务器程序的三个标识名,参见表9-1-1。
应用程序名 主题 项目
规定 实例 规定 实例 规定 实例
组态王 VIEW Tagnanme 工程人员自定义 温度
Excel Excel 电子表格名 sheet1 单元 r2c2
VB 执行文件名 Vbdde 窗体的LinkTopic属性 Form1 控件的名称 Text
表9-1-1 服务器程序标识名
任务实施
一、新建工程
1.创建新工程
新建“组态王与Excel间的数据交换”工程,创建画面,设置画面名称为“Excel数据交换”,注释为“组态王与Excel间的数据交换”,显示宽度和高度分别为800、400,画面宽度和高度为810、410,其他属性采用默认值。
2.画面设计
按图9-1-1中绘制相应的文字。
3.保存画面
二、I/O设备创建
通过“设备配置向导”,选择“DDE”设备,单击“下一步”按钮,在逻辑名称中输入DDE设备对象名为“Excel”,单击“下一步”按钮,打开如图9-1-3所示DDE设备设置向导对话框。
图9-1-3 DDE设备设置向导对话框
服务程序名设为“Excel”,话题名设为“sheet1”,数据交换方式选择“标准的Windows项目交换”,单击“下一步”按钮,弹出已配置的DDE设备的信息总结列表框,如图9-1-4所示,确认后单击“完成”按钮。
图9-1-4利用设备安装向导定义DDE设备
2.创建I/O设备
单击“工程浏览器”的左侧目录显示区中的“设备”的“+”号,单击其中的“COM1”,右边的目录内容显示区的出现新建图标。双击“新建”,会出现设备配置向导界面,在下拉菜单中单击PLC左侧的“+”号,弹出下拉菜单,选择“三菱”,然后选择“FX2”下的“编程口”方式,按提示创建“三菱FX2NPLC”。
三、变量定义
1.定义组态王访问Excel数据的变量
新建一个I/O实型变量数据变量,打开“变量属性”对话框,如图9-1-5所示,变量名设为FromExcel1,连接设备设为Excel,项目名设为r2c1。
在定义变量时必须要选择“允许DDE访问”,否则在客户应用程序不能访问到组态王的变量。
图9-1-5 组态王定义变量并与Excel进行连接
按表9-1-2定义其他相关变量。
表9-1-2 组态王访问Excel数据的变量定义表
变量名 变量类型 连接设备 项目名(寄存器)
FromExcel1 I/O实数 Excel r3c1
FromExcel2 I/O实数 Excel r3c2
FromExcel3 I/O实数 Excel r3c3
FromExcel4 I/O字符串 Excel r2c1
FromExcel5 I/O字符串 Excel r2c2
FromExcel6 I/O字符串 Excel r2c3
2.定义Excel访问组态王数据的变量
新建一个I/O实数变量。变量名设为ToExcel4,必须选择“允许DDE访问”选项。