《组态王与其它应用程序的动态数据交换(DDE)》相关章节部分
里面有组态王与EXCEL,VB等应用程序的通讯和数据交换
VC没搞过,示例程序我用VB60调试过,能运行!!
先参照一下,VB的吧!!
VB访问组态王的数据
在本例中,假设VB访问“组态王”的数据,VB作为客户程序向“组态王”请求数据。“组态王”通过OMRON驱动程序从下位机采集数据,VB又向“组态王”请求数据。数据流向如下图所示。
在“组态王”中定义设备
在工程浏览器中,从左边的工程目录显示区中选择“设备”,然后在右边的内容显示区中双击“新建”图标,则d出“设备配置向导”(设备的配置请参见第六章 I/O设备管理,在这里比如建立了OMRON的PLC),已配置的设备的信息总结列表框如图1819所示。
图1819 利用设备安装向导定义设备
定义的连接对象名为OMRON(也就是连接设备名),定义I/O变量时要使用此连接设备。
在“组态王”中定义I/O变量
在工程浏览器左边的工程目录显示区中,选择“数据库\数据词典”,然后在右边的目录内容显示区中用左键双击“新建”图标,d出“变量属性”对话框,在此对话框中建立一个I/O实型变量。如图1820所示。
图1820 组态王定义IO变量
变量名设为FromViewToVB,这个名称由工程人员自己定义。项目名为OMRONHR001。选择“允许DDE访问”选项。变量名在“组态王”内部使用,项目名是供VB引用的,连接设备为OMRON,用来定义服务器程序的信息,已在前面定义。
创建画面
在组态王画面开发系统中建立画面test1,如图1821所示。
图1821 组态王中输出变量
为文本对象“%%%%%”设置“模拟值输出”动画连接如图1822所示。
图1822 组态王为变量输出建立动画连接
选择菜单“文件\全部存”,保存画面。选择菜单“数据库\主画面配置”,将画面test1设置为主画面。
运行可视化编程工具Visual Basic
继续使用上一节的例子,设计Form1如图1823所示。
图1823 VB中建立窗体和控件
编制Visual Basic程序
双击Form1窗体中任何没有控件的区域,d出“Form1frm”窗口,在窗口内书写Form_Load子例程,如图1824所示。
图1824 VB中为控件建立与组态王变量的连接
生成可执行文件
在VB中选择菜单“File\Save Project”保存修改结果。选择菜单“File\Make Exe File”生成vbddeexe可执行文件。激活OMRON驱动程序和“组态王”运行系统TouchVew。在Visual Basic菜单中选择“Run\Start”运行vbddeexe程序。窗口Form1的文本框Text2中显示出变量的值。如图1825所示。
图1825 VB接收组态王的数据
运行可视化编程工具Visual Basic
选择菜单“File\New Project”,显示新窗体Form1。设计Form1,将窗体Form1的LinkMode属性设置为1(source),如图1813所示。
图1813 VB中建立窗体和控件
修改VB中窗体和控件的属性:
窗体Form1属性:LinkMode属性设置为1(source);LinkTopic属性设置为FormTopic,这个值将在“组态王”中引用。
文本框Text1属性:Name属性设置为Text_To_View,这个值也将在“组态王”中被引用。
生成vbddeexe文件
在Visual Basic菜单中选择“File\Save Project”,为工程文件命名为vbddevbp,这将使生成的可执行文件默认名是vbddeexe。选择菜单“File\Make EXE File”,生成可执行文件vbddeexe。
在“组态王”中定义DDE设备
在工程浏览器中,从左边的工程目录显示区中选择“设备\DDE”,然后在右边的内容显示区中双击“新建”图标,则d出“设备配置向导”(DDE设备的配置请参见第六章 I/O设备管理),已配置的DDE设备的信息总结列表框如图1814所示。定义I/O变量时要使用定义的连接对象名VBDDE(也就是连接设备名)。
图1814 组态王中定义DDE设备
在工程浏览器中定义新变量
定义新变量,变量名为FromVBToView,项目名设为服务器程序中提供数据的控件名,此处是文本框Text_To_View,连接设备为VBDDE。“变量属性”对话框如图1815所示。
图1815 组态王中定义IO变量
新建组态王画面名为test,如图1816所示。
图1816 组态王中输出来自VB的数据
为对象“#####”设置“模拟值输出”的动画连接,如图1817所示。
图1817 组态王中为变量输出建立动画连接
设置完成后,选择菜单“文件\全部存”。选择菜单“数据库\主画面配置”,将画面test设置为主画面。DDE连接设置完成。
执行应用程序
在VB中选择菜单“Run\Start”,运行vbddeexe程序,在文本框中输入数值。运行组态王,得到VB中的数值。如图1818所示。
图1818 组态王中为变量输出建立动画连接
如果画面运行异常,选择TouchVew菜单“特殊\重新建立未成功的DDE连接”,连接完成后再试一ForeverCreditOPCServer服务器软件,简称OPCServer。
OPC客户端的使用方法:
建立和删除OPC设备:
组态王中支持多OPC服务器。
在使用OPC服务器之前,需要先在组态王中建立OPC服务器设备。
在组态王工程浏览器的设备”项目中选中OPC服务器”,工程浏览器的右侧内容区显示当前工程中定义的OPC设备和新建OPC”图标。
双击新建”图标,组态王开始自动搜索当前的计算机系统中已经安装的所有OPC服务器,然后d出查看OPC服务器”对话框。
OPC设备定义:
网络节点名”编辑框中为要查看OPC服务器的计算机名称,默认为本机”。
如果需要查看网络上的其它站点的OPC服务器,在编辑框中输入节点的UNC路径。
如计算机名称为数据采集站”,则输入数据采集站”,然后单击查找”按钮,如果查找成功,则在右边的OPC服务器”列表中显示目标站点的所有已安装的OPC服务器名称,如果没有查找到,则提示查找失败。
OPC服务器信息”文本框中显示OPC服务器”列表中选中的OPC服务器的相关说明信息,如选中KingViewView1”,则在信息中显示KingViewView”。
读写方式”是用来定义该OPC设备对应的OPC变量在进行读写数据时采用同步或异步方式,尝试恢复间隔”和最长恢复时间”用来设置当组态王与OPC服务器之间的通讯出现故障时,系统尝试恢复通讯的策略参数。
订阅频率”,目前组态王异步读是按照订阅的方式实现的,可以根据不同的需要进行设置,使用动态优化”是组态王对通讯过程采取动态管理的办法。
尝试恢复间隔”,最长恢复时间”,使用动态优化”的具体含义与IO设备定义向导中的相同。
用户可以在列表中选择所需的OPC服务器。
单击确定”按钮,查看OPC服务器”对话框自动关闭,OPC设备建立成功。
OPC服务器的建立:
对于已经建立的OPC设备,如果您确认不再需要,可以将它删除。
选中要删除的OPC设备,单击鼠标右键,在d出的快捷菜单中选择删除,d出的提示信息,如果选择是”,则将该设备从组态王中删除。1、安装moxa自带的管理软件,按照说明做好设置。
2、安装好之后会虚拟出来4个串口,这个时候不要开组态王,使用moxa自带软件测试通讯是否正常;
3、通讯测试完毕后使用组态王连接设备,(保持moxa数据转发软件在工作状态)直接回显示出来虚拟的串口,可以当做机器自带串口正常使用。
原则上来说,moxa,研华等串口服务器都可以认为是透明的,直接当做扩展板卡扩展的串口使用就可以,麻烦的地方是自带的数据转发软件需要设置,按照说明使用即可,在组态王上可以直接认为是普通串口,无需设置。静态路由概念。静态路由(英语:Static routing),一种[路由]的方式,路由项(routing entry)由手动配置,而非动态决定。与[动态路由]不同,静态路由是固定的,不会改变,即使网络状况已经改变或是重新被组态。一般来说,静态路由是由[网络管理员]逐项加入[路由表]。
步骤如下:
我们确定一下
A卡地址是1921681105
B卡地址是1921685280
我们确定一下需求,既然A卡可以上外网,B不可以,那么我们规定A卡为主卡,B卡为副卡。假设我们要访问局域网的地址都是19216852 的网段 。
我们打开命令提示符。
输入命令 route -p add 192168520 mask 255255255254 1921685265 点击回车。这时我们就添加了静态路由,功能是在本机访问19216852/255255255254网络时,全部通过1921685265的网关来访问,这个网关在本机就是B网卡。
根据依次类推,把想访问的局域网网段全部添加一遍即可,之后输入route print命令查看是否成功。
命令的参数解释是这样的:
route -p add [目的网段] mask [目的网段的子网掩码] [本机访问目的网段用的网卡的网关]
route 命令主体
-p 表示是永久命令,不会因为重启消失
add 表示是增加一条路由
mask 是一个固定的格式命令,用来分隔字符串
静态路由是一种需要管理员手工配置的特殊路由。静态路由在不同网络环境中有不同的目的。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。
在复杂网络环境中,配置静态路由可以改进网络的性能,并可为重要的应用保证带宽。静态路由可在实例中使用,主要用于路由的管理。
网络配置
在使用网络功能之前,要了解组态王需要做哪些配置和工作。组态王支持使用TCP/IP通信协议的网络。同一网络上每台计算机都要设置相同的通信协议。首先认识一下网络配置对话框。
在组态王工程浏览器中,选择菜单“配置\网络设置”,或者在目录显示区中,选择大纲项系统配置下的成员网络配置,双击网络配置图标,双击此图标,d出“网络配置”对话框,如下图所示。
imagepng
网络配置有三个属性页:网络参数、节点类型和客户配置,下面分别说明其使用方法:
(1)“网络参数”配置:
“组态王”运行分单机和连网两种模式,所有进入网络的计算机都要选择“连网”运行模式。如上图所示。
网络参数配置页中各项的含义:
本机节点名:就是本地计算机名称。进入网络的每一台计算机必须具有唯一的节点名,在本例中输入节点名“数据采集站”。同样,可以分别设置报警服务器、历史数据记录服务器、登录服务器和客户端的本机节点名为:“报警数据站”、“历史数据站”、“登录站”和“调度室”。本地节点名也可以使用本地主网卡的IP地址。
备份网卡:当网络中使用双网络结构时,需要对每台连网的机器安装两个网卡——主网卡和从网卡,此处表示从网卡(亦称备份网卡)。在该编辑框中输入从网卡的IP地址。
网络参数:“组态王”在“服务器”和“客户”之间为每一个需要传送的变量建立了对应关系。网络参数应该根据具体的网络情况来设置。
包大小:用于控制在两个节点之间发送的数据包的长短。增大“包大小”可以增加数据吞吐量。但低速网络应该谨慎设置此项。
注意:为保证网络传输的正常运做,同一网络系统中的包大小数值必须是一致的。
心跳检测时间:此参数在本节点做“服务器”或“客户端”时都有效,以此时间间隔检测数据链路是否畅通。单位为秒。
心跳检测次数:此参数在本节点做“服务器”或“客户端”时都有效,例:心跳检测次数为5,那么当累积心跳检测失败达到5次后,表明数据链路中断。
失效尝试恢复时间:此参数在本节点做“客户端”时有效,当“客户端”网络精灵检测数据链路中断后,尝试与“服务器”进行连接的时间间隔。单位为秒。
以上四个参数在使用基于TCP/IP协议的网络时都需要设置。注意:一般情况下,可以直接使用“网络参数”对话框的默认值,若需要更改,请首先咨询北京亚控科技发展有限公司的技术热线。
双机热备:组态王提供双机热备功能(见第二十二章),分为“使用双机热备”,“本站为主站”和 “本站为从站”三种选项。若使用双机热备功能,则选择“使用双机热备”;若使用,根据当前计算机工作状态设置为主机或从机。
主站(从站)名称:当选择使用双机热备功能,并且选择“本站为从站”时,此选项有效,需要在此处键入主站名称。当选择“本站为主站”时,主站名称变为从站名称,需要在此处键入从站名称。
备份网卡:当网络中存在双网络冗余时,从站点也需要安装两个网卡,在该编辑框中输入从站点备份网卡的IP地址。
主站(从站)历史库路径:选择使用双机热备功能后,当选择“本站为主站”时,在此处键入从站历史库记录全路径(按UNC格式),若选择“本站为从站”, 在此处键入主站历史库记录全路径(按UNC格式)。
冗余机心跳检测时间:本节点做主机或从机时都有效,主从机双方以此时间间隔检测数据链路是否畅通。单位为秒。
主机等待从机连接时间:本节点做主机时有效,此参数影响主机激活的时间。主机启动后,如果在此时间间隔后发现没有从机连接,就认为从机不存在,自动激活。如果这个时间设置的短则主机激活快。但是在不同网络状态下(如双网),从机的连接 *** 作可能会耗费较长时间(有时候10秒以上),因此为保证主、从机之间正常连接。此参数设置不要低于10秒。单位为秒。
(2) “节点类型”配置
该属性页主要是定义本地计算机在网络中充当的服务器功能,本地计算机可以充当一种或多种服务器的角色,同时,在网络中所有的站点充当服务器或客户都是相对而言的,即如果一台站点是服务器,也可以指定其作为别的站点的客户,反之作为客户站点,也可以指定其作为别的站点的服务器。对于报警服务器和历史数据服务器,允许指定其作为哪几台I/O服务器的报警或历史数据记录服务器。
imagepng
节点类型配置页中各项的含义:
本机是登录服务器:对于网络工程,需要网络中有唯一的用户列表,其列表存储在登录服务器上,当访问网络中任何站点上有权限设置的信息时,都必须经过该用户列表进行验证。选中该项时,本地计算机在网络中充当登录服务器。当登录服务器没有启动时,用户的验证只能通过本机的用户列表进行,并且在 *** 作网络变量时将以无用户状态进行。当不选“本机是登录服务器”时,必须从登录服务器列表中选择登录服务器机器名称。关于名称如何进行选择,在以后的章节中详细介绍。
本机是IO服务器:选中时,表示本地计算机连接外部设备,进行数据采集,并向网络上的其他站点提供数据。
进行历史数据备份:为历史数据库备份的选项,选中该项,表明本机只作为IO服务器,而不作为历史数据服务器时,要暂时保存要向历史数据服务器备份的本机历史数据,将历史数据记录在本机指定的历史记录路径下。
本机是校时服务器:组态王运行中,尽量保持各台机器的时钟一致,选中“本机为校时服务器”时,本地计算机充当校时服务器,采取广播的方式以指定的时间间隔向网络上的各台机器发送校时桢,保持网络的始终统一。在“校时间隔”编辑框中输入校时间隔,单位为秒。
本机是报警服务器:在分布式报警系统中,指定一台服务器作为报警服务器,在该服务器上产生所有的报警(可以指定需要生成报警的IO服务器),客户机可直接浏览报警服务器中的报警信息。在报警服务器的列表框中系统会自动列出已建立连接的所有充当IO服务器的远程站点的站点名。当选中“本机是报警服务器”时,可以对列表框中的IO服务器进行选择,即定义本机是哪个IO服务器的报警服务器。使用方法为,在“本机是报警服务器”下的站点名前的选择框中单击,选择框中出现选中标记即可。
本机是历史记录服务器:在分布式历史数据库系统中,指定一台服务器作为历史记录服务器,在该服务器上存储所有的历史数据(可以指定需要存储历史数据的IO服务器),客户机可直接浏览历史记录服务器中的历史数据。在历史记录服务器的列表框中系统会自动列出已建立连接的所有充当IO服务器的远程站点的站点名。即定义本机是哪个IO服务器的历史记录服务器。
(3)客户配置
该属性页主要是定义本地计算机在网络中充当的客户功能,本地计算机可以充当多台服务器的客户。如下图所示,为客户配置属性。
imagepng
客户:当选中时,表明本地计算机在网络当中充当客户的角色,同时在I/O服务器、报警服务器、历史记录服务器中会自动列出网络中的所有I/O服务器、报警服务器和历史记录服务器,注意,只有配置好了网络站点后才会列出这些已定义好的服务器。
I/O服务器:在网络当中可以存在多台I/O服务器,负责从外部采集数据。在该列表框中会自动列出网络上的所有充当I/O服务器的站点,而本地计算机可以充当一台或多台I/O服务器的客户端,从这些服务器端取得采集的数据。
报警服务器:在网络当中可以存在多台报警服务器,在其上负责验证和存储指定站点的所有数据的报警信息。在该列表框中会自动列出网络上的所有充当报警服务器的站点,而本地计算机可以充当一台或多台报警服务器的客户端,从这些报警服务器端引用报警。
历史记录服务器:在网络当中可以存在多台历史记录服务器,在其上存储指定站点的所有的历史数据。在该列表框中会自动列出网络上的所有充当历史记录服务器的站点,而本地计算机可以充当一台或多台历史记录服务器的客户端,从这些历史记录服务器端查询历史数据。
(4) 建立远程站点
要建立客户——服务器模式的网络连接,就要求个站点共享信息,互相建立连接。组态王在工程浏览器中的左边设置了一个TAB按钮——“站点”,单击该按钮,进入站点管理界面。界面共分为两个部分,左边为站点名称列表区,右边为站点信息区。如图216所示。
imagepng
在站点列表区中单击鼠标右键,d出快捷菜单,在菜单中选择“新建远程站点”选项,d出“远程节点”对话框,如图217所示。在对话框的“远程工程UNC路径”编辑框中输入网络上要连接的远程工程的路径(UNC格式),或直接单击“读取节点配置”按钮,在d出的文件选择对话框中选择远程工程路径。选择完成后,该远程站点的信息就会被全部读出来,自动添加到对话框中对应的剩下的各项中。如主机节点名、节点类型等,都会自动读取并添加的。也可以按照远程站点实际的网络配置,手动添加或选择对话框中的选项。定义完成后,单击“确定”按钮关闭对话框。
节点建立后,在工程浏览器——站点的站点列表区和站点信息区会显示出该站点的所有信息。组态王初始化报警服务器失败解决方法如下:
1、如果是更新了有问题的补丁,比如最近出现用户更新了代号为“KB2839229”的更新导致出现类似故障,那么可以在开机的时候按F8,然后进入到安全模式,这时会出现配置windows。
2、update失败,还原更改,请勿关闭计算机的提示,我产不用管它,重启后就能正常进入到系统了,这时我们在已经安装的更新中将有问题的补丁卸载即可。
3、病毒导致的故障也可以尝试进入到安全模式,或在安全模式中使用还原点还原设置,然后在正常模式中使用杀毒软件进行杀毒。
4、过度优化系统后导致的情况,可以尝试进安全模式,如无法进入,那么可能需要重新安装Windows7系统才能解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)