文档详情

组态王常见问题的解决方法

z****2
实名认证
店铺
DOCX
37.87KB
约13页
文档ID:171498635
组态王常见问题的解决方法_第1页
1/13

组态王常见问题的解决方法组态王虽然国内用的很多,但他的问题也很多,有时候弄起来真的很麻烦,比如一个简单的开机自动运行都要自己设置,下面是我在网上查到的一些内容组态王使用常见问题1、变量设定中最大(小)值及最大(小)原始值的意义? [最大(小)值是变量在现实中表达的工程值(如:温度、压力等)的大小,而最大(小) 原始值是采集设备中[寄存器]数字量的最大(小)值(如板卡中的819-4095 等)一般对于 板卡设备此值为物理量经 AD 转换之后的值,如 12BitAD 此值范围 0~4096、16BitAD 为 0〜65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小) 值与最大(小)原始值在设置时是一致的.2、 为什么变量无法删除,如何删除变量? [在组态王中,只有未使用的变量才能被删除,因此在删除变量之前,必须去掉在画面或命令语言、控件引用处,等处与之有关的连接,如果还是无法删除,在工程浏览器中执行 工具-更新变量计数命令,重新统计变量,在变量使用报告中可以查询变量是否还在某些地 方使用,将其连接断开后,利用工具-删除未用变量将变量删除3、 工程运行时,显示通讯协议组件失败? [设备驱动安装错误:1、安装新的驱动 2、在开发状态下从新连接设备,如果还是有错误,请联系驱动部索要新的驱动程序]4、 光盘上的典型案例无法打开?[将工程拷贝到硬盘上将属性改为存档即可5、 如何在打开机器时自动进入组态王?[将 touchview 快捷方式拷贝到系统开始\程序\启动中6、 怎样把工程文件变小?[可以删除*.AL2 (报警信息文件),*.REC (历史记录文件),*.111文件(*.pic文件的 备份文件)的文件。

7、 如何增删用户及用户密码和权限?[使用editusers()函数(用户权限需大于900)]8、 在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? [保存参数:在系统运行时,修改变量的域的值(可读可写型), 系统自动保存这些参数值,系统退出后,其参数值不会发生变化当系统再启动时,变量的域的参数值为上次系 统运行时最后一次的设置值无需用户再去重新定义保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值当系统退出后再 次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值9、 开发狗与运行狗的区别? [开发狗是用于工程开发使用的,为了方便调试支持6小时的连续运行,运行狗是用于工程实际运行,不能进行开发.21:如何不进入系统桌面环境而直接运行组态王工程如何实现(Win2000系统)?运 行 RegEdit 文 件 : 找 到 我 的 \HKEY_Local_MACHINE\software\Microsoft\Windows NT\currentVersion\winlogon 将 Userinit=c:\winnt\system32\userinit.exe 改 为 : Userinit= c:\program files\kingview\touchvew.exe22:如何在组态王中修改系统时间?调用批处理文件:dsh.batstring Adate = StrFromInt( A 年,10 ) + "-" + StrFromInt( A 月,10 ) + "-" + StrFromInt( A日, 10 ); string Atime = StrFromInt( A 时,10 ) + ":" + StrFromInt( A 分,10 ) + ":" + StrFromInt( A 秒,10 ); string Acommand =InfoAppDir()+"dsh.bat";Acommand = Acommand + " ";Acommand = Acommand + Adate;Acommand = Acommand + " ";Acommand = Acommand + Atime;StartApp(Acommand);批处理文件:dsh.batdate %1time %222:工程被破坏后如何恢复画面?1 、新建一工程,在工程浏览器中选择导入,将被破坏工程的画面导入即可2、新建一工程,该工程下新建与原来工程*.pic文件名一样的空画面,保存画面•将被破坏工 程的*.pic文件拷贝到新建工程的目录下将新建工程的*.pic文件覆盖,从新打开新建工程, 将画面逐个打开可以看到工程画面。

23:如何打印信息到针式打印机?用函数filewritestr()函数实现,filename参数为“LPT1: ”24:组态王中的报表RTL为如何格式,如何打开?报表RTL是组态王自己的报表格式,只能通过组态王用载入报表函数(ReportLoad函数) 打开25:为什么在命令语言中使用报表函数却不执行?在应用程序命令语言中使用各种报表函数(如:reportsetcellvalue()等)当画面隐含时,函 数无法正常执行,如:变量值无法正确写入对应的单元格中用户要注意这种情况,这不属 于软件错误,运行过程中当画面隐含时不能对报表进行操作26:组态王中的打印函数PrintWindow()如何使用纸张的横向打印功能?PrintWindow()函数的第二、三个参数不能够为0并且将打印机的纸张设置为横向即可;如: PrintWindow( "监控中心", 60,60, 0,10, 10);27:在历史趋势曲线中看不到曲线?1、 数据词典设置的记录变化与安全区中没有选择数据记录2、 变量的量程过大,实际显示的数值占量程的百分比非常小,所以感觉没有曲线显示3、 系统时间被修改,历史数据存储有误,所以曲线无法显示28:如何根据起始日期时间、终止日期时间查询历史趋势曲线?使用通用控件中的历史趋势曲线:\\ 本站点 \PHTTime=AHTTime(\\本站点 \HTDate,\\本 站点 田TTime);\\本站点 \PHTTime1=AHTTime(\\本 站点 \HTDatel,\\本站点 \HTTime1);\\ 本站点 \PHTTime2=\\本 站点 \PHTTime1-\\本 站点 \PHTTime;批次历史曲线.SetTimeParam(\\本站点 \PHTTime,0,\\本 站点 \PHTTime2,0);29:如何利用通用控件中的历史趋势曲线作为实时曲线使用?在画面属性命令语言存在时调用历史趋势曲线控件HT的方法如下:HT.HTUpdateToCurrentTime()30:与SQL SERVER进行数据交换,实数类型存入数据库后为什么在组态王中无法读取? 原因是因为客户在数据库中定义的字段的类型不对。

在组态王中定义的内存实型变量,在 ACCESS数据库中对应的字段的类型应该是单精度型,在SQL SERVER数据库中对应的字 段的类型应该是real型•(不能为float型).31:为什么从EXCEL返回组态王会出错?在EXCEL中用 AppActivate ""函数时,如果EXCEL中为AppActivate "组态王运行系统", 组态王的设置运行系统中,标题条文本里填写:组态王运行系统,同时,不要选"标题条中显示工 程路径",如果选择了,在AppActivate应写"组态王运行系统-c:\••…"•否则就会出错32:组态王的存盘数据用何方式打开?为什么组态王的历史记录文件打开都是乱码?*.REC文件存放的历史数据,不能用excel直接打开,它本身是二进制文件•可以在VBA中调用 提供的动态连接库来访问33: SQLDelete()函数中选择条件的用法A3="客户="+a2做为条件不执行?sql查询语句如果查询的字段为字符串时应使用单引号,a3="客户'"+a2+"'"即可34:数据库插入记录失败?1、 在信息窗中查看数据库是否连接2、 数据库表格的字段名与组态王记录体定义的字段名是否相同 3、数据库表格的字段类型 与组态王变量的类型是否符合,推荐使用组态王的表格模板创建表格4、表格中使用的字段 名是否为data和time,请改为其他字段名。

35:如何将数据存为.txt文件?使用函数 FileWriteStr(Filename,FileOffset,Message,LineFeed);例:将名为MsgTag的文字变量写入文件C: DATA\FILE.TXT的末尾调用函数FileWriteStr ("C:\DATA\FILE.TXT", 0, MsgTag, 1);36:数据库字段为"反应罐1#温度时",组态王无法通过ODBC往数据库中写数据?ODBC 不支持存在'#'字符的字段,不要使用#37:如何在数据库中始终保持一个月的数据,自动删除一个月之前的记录?请将控制面板中的区域设置日期改为yyyy-mm-dd格式 数据库中保存一个月的历史数据,自动删除一个月以前的数据命令语言放在应用程序命令 语言启动时或者事件命令语言$时==1 中:SQLConnect( DevicelD, "dsn=^ 史;uid=er;pwd=0"); long month=\\本站点 \$ 月-1;long year=\\本站点 \$ 年;long day=\\本站点 \$ 日;string date1;if(month==0){month=12;year=\\ 本站点 \$年-1;}date1= StrFromInt( year, 10 );date1=date1+"-";date1 = date1 + StrFromInt( month, 10 );date1 = date1 + "-" + StrFromInt( day, 10);string whereexpr="日期={d'"+datel+"'}";SQLDelete( DeviceID, "A", whereexpr);if(\\本站点\$月==411\\本站点\$月=611\\本站点\$月==911\\本站点\$月=11) { if(\\ 本站点 \$日==30){day=31;date1= StrFromInt( year, 10 );date1=date1+"-";date1 = date1 + StrFromInt( month, 10 );date1 = date1 + "-" + StrFromInt( day, 10);whereexpr="日期={d'"+date1+"'}";SQLDelete( DeviceID, "A", whereexpr);}}38:使用进行网络配置的远程站点后,远程站点的数据词典中没有变量显示?1、网络是否联通2、主机的工程应该是完全共享,不能是只读共享,从机是否可以看到工程文件夹,是否可 进行读写操作39:s7-200通过PPI与KingView6.1连,5到6小时断线不能恢复,组态王信息窗口显示尝试 与 S7-200 恢复通讯失败。

请问如何处理?1) 西门子S7200使用西门子公司提供的PC/PPI带缆选用PPI方式与组态王通讯当中,一旦 PLC断电,则必须先用PLC的编程软件与PLC通讯一次,实现对PC/PPI电缆上的模块的初 始化后,此时才能重新启动组态王,建立正常的通讯2) 若用户希望在设备断电后再上电时,组态王能自动恢复与设备的通讯,则不用西门子公司提 的PC/PPI电缆,而使用RS232/485的转换模块,其中:485的DATA+接PLC的PORT 口的3, DATA-接PLC的PORT的8(自己做线),采用这种方式40:组态王6.5安装后为何拨号网络无法建立“传入的连接”?运 行 注 册 表 文 件 ( RegEdit ) : 在 注 册 表 中 : \\HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Ras\\AdminDll 删掉然后手动在控制面板一管理工具一服务中的“Routing and Remote Access”服务启动组态王的n个经典问题解答之三41:for Internet 版本如何通过 IE 浏览方式对数据库进行查询?对于for Internet版本组态王[6.01版],画面发布不支持SQL函数。

所以不能通过画面调用 SQL 函数对数据库进行查询但是可以通过一种中介的方式画面上定义按钮,定义按下 或弹起时一离散量变化,如离散量:a,按钮弹起时a=1在事件命令语言中定义当a=1 时,数据库进行连接,命令语言如下: if(a==1)SQLConnect(DeviceID,"dsn=web 数据查 询;uid=;pwd=");如此类推通过离散量发生变化从而触发事件命令语言从而对数据库进行查 询这样发布的画面可以实现通过IE浏览42:访问组态王发布的页面时为什么总出现“连接主机失败”?1 、网络速度太慢2、 开发中“网络配置”没有配置为“连网”3、 演示版支持10分钟的WEB发布,同时只能够有1个用户通过IE浏览43、访问组态王发布的页面时为什么会提示“连接远程文件格式”错误?1、 [6 01 及以前版本]画面中是否使用了控件、过渡色、其他不支持的图素2、 是否将文件发布到了根目录下,发布文件不能放在根目录下44、如何访问组态王发布的页面?1、 安装PWS或IIS软件并进行配置、即可以在IE地址栏中输入\\***.***.***.***(***表示 WEB服务器的IP地址)或主机名;2、 如不安装 PWS 或 IIS 软件,只需要在 IE 地址栏中输入\\***.***.***.***(***表示 WEB 服务器的 IP 地址),即能访问到服务器端共享的所有文件[需要在配置网络协议时安装文件打 印和和共享服务]。

45、 为什么发布的画面总是一片灰暗没有图形?确认发布路径下 netkingview.cab 文件存在,并且大小正确,若没有该文件或文件损坏,从 kingview路径下拷贝netkingview.cab文件至发布路径下,[IE是否安装JAVA的支持文件, 从 IE 安装盘上得到』46、 web发布后,在客户端用IE打开html文件时什么都没有,IE状态栏提示“完成”,或 者提示 javaclass not found?1、 可能发布后的 netkingview.cab 文件大小为 0K, 用户需要将 kingview 路径下的 netkingview.cab文件复制一个到发布的路径下2、 可能是用户的java虚拟机存在问题用户可以将发布路径下的netkingview.cab文件解压 缩,同时将其下的javaclass文件夹放到其上一级目录如果这样操作会出现“连接主机失败”, 则将 javaclass 文件夹同时复制到客户端机器的桌面上47、 画面发布后为什么页面数据没有变化?由于不带WEB功能的加密锁不支持WEB如果小于64点演示,请不要安装加密锁,否则 若安装不带 WEB 功能的加密锁,远程客户端的数据将不变化。

48:为什么配方调不出来?1、 在配方定义中,表格中的变量数目应该与实际变量数目相同,如果为空的话就无法调用 配方2、 检查配方调用函数设置的路径是否正确49、如何在开发系统下设置KVDBGrid控件的列宽?在开发系统下,同时按下Ctrl+Alt+O,就可以调整控件的列宽了50:如果jiami琐不能正常使用怎么办?1、 确保正确安装了 jiami锁的驱动程序,(601以前的版本不支持XP)2、 确保计算机并口模式为ECP (在BIOS中设置)3、 如果还不能解决问题,请上外部网站"软件下载"中下载jiami锁检测程序4、 锁坏了(禁止带电拔插狗)51、 使用组态王狗,一旦使用打印机则找不到狗?1、 将并口设为ECP方式(在BIOS中设置)2、 并安装驱动程序3、 并口的驱动能力可能有问题,建议增加一并口扩展卡,连接打印机52、 开发的工程如何能不让别人看到? 1、对于大于64点的工程,如果没有装上开发狗的话则不能打开工程2、在工程浏览器的工具菜单中选择工程jiami可以避免别人打开工程,但一定要记住密码, 因为一旦密码丢失,没有后台可以 jiemi53:使用三菱fx2n的PLC,使用232bd的通讯模块与组态王通讯,在组态王上选择设备fx2-> 编程口,当pic设置成stop状态时,pic与组态王通讯正常,一旦把pic设置为run状态, plc 与组态王出现通讯失败是为什么?是否在plc中有一段自己编的有关232bd通讯方面的程序,这段程序与组态王的驱动程序有 冲突,把这段程序去掉后,plc不论是stop还是run状态,和组态王通讯均正常54:金星K200S使用通讯模块K3F-CU2A与组态王通讯不上如何检查?1) .通讯模块的运行方式通过模块上的开关类型选为专用通讯方式。

2) .在组态王开发环境中定义设备时选择PLC->金星-〉MASTER-K-XXXS3) .通讯模块的RS232 口到上位机的RS232 口之间的连线和标准的有区别,建议用厂家配套 电缆55:莫迪康PLC通过以太网方式进行通讯,定义设备时,地址一项该如何填写?定义设备地址时,格式如下:IP地址单元号,例如:123.123.123.1 0 (IP地址和单元号之间有空格)56: HOSLINK方式,组态王不能控制I/O模块的输出例如组态王中定义IR0100寄存器, 执行写操作之后PLC并不动作是为什么?对于组态王老版本的驱动程序,上例中只能定义成IR100,而不能定义成IR0100解决方法: 更新驱动程序两种方式都支持57.使用6台欧姆龙PLC与上位机进行通讯,如果关掉其中的几台PLC,组态王的通讯速度 变慢-数据刷新速度变慢是什么原因?如果关闭一些PLC,组态王会始终尝试与其恢复通讯,使通讯速度减慢您可以使用组态 王提供的COMMERR寄存器,在关掉PLC之前将相应的COMMERR寄存器置1,屏蔽PLC 与组态王之间的通讯然后再调闭PLC58:三菱PLC的A和Q系列以太网通讯方式,PLC程序中需要为通讯做些什么工作? 三菱PLC的A和Q系列,以太网通讯模块中都有8个通讯缓冲区。

PLC与上位机通讯时, 每个缓冲区通过一个端口与一台上位机连接因此,PLC首先要定义一个唯一的IP地址; 需要与几台上位机连接,在程序中就要打开几个缓冲区,分别定义不同的端口;还要循环查 询这些端口,是否有上位机连接进来,以便随时可以通讯端口可以定义得比上位机数量多, 对通讯没有影响强烈要求网内所有PLC定义的端口不要重复,以避免驱动共享变量可能 带来的通讯混乱59: S7200使用PPI电缆方式与组态王进行通讯,CPU中可以定义Q,I,M寄存器,而组态王中只有V寄存器如何连接?组态王只支持V寄存器,数据类型包括BYTE,INT,UINT,LONGFLOAT,如果您要监控Q, I,M寄存器,您必须在PLC程序中做一下处理,将Q, I, M寄存器的值传至V寄存器, 组态王通过对V寄存器的操作来实现对Q, I, M寄存器的监控60:组态王如何与三菱FXOn系列的PLC进行通讯三菱FX0n系列的pic本身只有编程口,如使用组态王与其进行通讯还需给三菱FX0n配置 通讯模块或通讯卡,配置好通讯模块后与三菱 fx2n 系列的通讯协议是兼容的,请根据您所 选用的通讯模块在组态王上选用相应的选项1. 对于232BD:定义设备时,选FX2N。

2. 对于 485BD, 232ADP, 485ADP:定义设备时,选 FX2N-485 方式用编程将D8120设置为E080,即通讯参数如下: iink, 7, 无校验, 1, 9600,RS485, 数目检查: YES, 控制程序: Format4.在 D8121 中设置地址组态王的n个经典问题解答之四61:西门子S7200使用西门子公司提供的PC/PPI电缆选用PPI方式与组态王通讯,一旦PLC 断电通讯不能恢复,重新启动组态王通讯失败,必须用西门子的编程软件和PLC通讯一次 后,组态王才能与 PLC 通讯是为什么?1) .不用西门子公司提供的PC/PPI带缆,使用RS232/485的转换模块,485的DATA+接 PLC 的PORT 口的3,DATA-接 PLC的PORT的8,采用这种方式连接PLC断电后组态王能恢 复与 PLC 的通讯2) . PLC断电后先用PLC的编程软件与PLC通讯一次,初始化PC/PPI电缆上的模块,再 使用组态王与PLC通讯62:用户使用组态王通过远程modem拨号与西门子的s7200系列的plc进行通讯使用ppi 协议 modem 拨通后,组态王与 pic 通讯失败,为什么?组态王不支持与西门子的 pic 使用 ppi 协议通过远程 modem 拨号进行通讯,请使用西门子 s7200系列的自由口协议(kingview6.0版本),可实现组态王通过远程modem拨号与西门子 的 s7200 系列的 pic 进行通讯63:西门子 S73OOMPI 方式通讯, PLC 内寄存器名称与组态王支持的寄存器名称不符如何 组态?组态王支持的寄存器名称是英文方式,寄存器英德文对照表如下: 德文 英文A Q 输出寄存器M M 位寄存器DB DB 数据块寄存器E I 输入寄存器T T 定时器 Z C 记数器64:组态王与西门子的S7300 MPI方式通讯不上,地址设置为2.0是什么原因?地址设置错误,PLCMPI方式通讯,组态王中设备地址应设成2.2,其中小数点前为MPI地址 (即站号),小数点后为MPI设备(即所使用的通讯模块或CPU模块)的槽号(slot number)。

65:西门子S7300 MPI方式通讯,CPU 313,使用模拟量模块E304,E305读不上来数据是 什么原因?E304, E305 模拟量输入数据是 12 位的,而组态王只支持 BYTE 型,所以数据读不上来,您可以在PLC程序中将模入数据送入DB块,再利用组态王读取DB块的内容66:如何使用Profibus-(DP,S7,FMS协议实现组态王与PLC的通讯?——实现Profibus-DP通讯需要以下软硬件配置:(1) , STEP7V5.0+SP2 及以上版本⑵,需要购买西门子提供的Softnet-DP , COMPROFIBUS3.3及以上版本,•用于实现对主站组 态,地址定义,从站类型定义,以及I/O配置,从站参数赋值信息等.组态完后生成的*.ldb文件将 添加到CP中以起动并初始化从站.(3),通讯卡(如CP5611,CP5613等),在 Profibus -DP通讯网中做为主站 实现 Profibus-S7 通讯需要软硬件支持(1) STEP7V5.0+SP2 及以上版本⑵ 需要购买西门子提供的Softnet-S7软件.(3) 通讯卡 (如 CP5611,CP5613 等)67:如何实现三菱A系列的PLC与组态王进行通讯? 需要选用通讯模块。

1、 计算机通讯组件A1SJ71C24-R2应按照如下设置:将 MODE 拨盘指向 4 的位置,本协议只支持通信协议的模式42、 计算机通讯组件A1SJ71C24-R4应按照如下设置:1 2 3 4 5 6 7 8 9 10 11 12off on off on on off on on on on off onmode 选择 位置 8组态王中设置: RS_485 , 9600 , 8 , 1, 偶校验3、 以太网组件:A1SJ71E71B2 A1SJ71E71B5在组态王中定义设备三菱-〉中型PLC以太网-〉TCPIP68: Q 系列以太网通讯如何配置?如果使用 Q 系列以太网方式,在组态王中定义设备三菱-〉 Q 系列以太网-〉 TCPIP 设备地址格式: aaa.bbb.ccc.ddd:ppppp:taaa.bbb.ccc.ddd为PLC的IP地址,ppppp为PLC中定义的端口号,t是连接超时(单位秒), 都是十进制数69:如何与 MODBUS PLUS 协议的设备进行通讯?此协议需要在你的计算机中安装Modicon SA85接口卡(一台计算机最多4块)使用厂家 提供的电缆,通过卡上的接口与PLC的Modbus Plus接口相连。

在使用SA85卡之前,必 须安装SA85卡的驱动程序否则组态王不能进行设备定义1) .组态王定义设备时请选择MODBUS PLUS下的SA85卡2) . 设备地址 必须在1~64的范围内给网络上的每个节点分配一个唯一的地址,一般来说,地址是通过控 制器上的一个特殊的DIP开关来设定(或通过主机上的Modbus Plus通讯适配器卡来设定),3) 组态王调用的驱动程序:ModPlus.dl 1,需要调用默迪康的两个库文件Netbios.dll, Netlib.dll,注,98和2000系统下 的库文件Netlib.dll是不同的70:在XP下安装组态王问题,原来在XP下安装组态王,现已经全部卸载,想安装组态王6.5,但安装程序在安装后显示“安装程序发现机器上已安装有组态王软件,单击“确定”退出 后先卸载组态王其他版本,然后再安装组态王6.5! ”,将注册表中的所有KIngview和亚控 的关键字删除,也无法安装请问如何解决?用 RegEDIT 打开注册表,查找如下位置:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths 如果安装完组态王的各种版本会在注册表的上述位置中生成一个名为“组态王*”的键值(*: 为版本号,如: 5.1、6.0、.6.01、6.02、6.03、6.5),正常卸载组态王后,该键值能正确删除 如果是非正常卸载(卸载失败,文件丢失等)该键值不能删除掉,再次安装组态王6.5时则 不能安装。

手动删除此路径下的组态王键值则可安装组态王的监控系统设计及数据报表的生成组态王数据处理方面真的很不好用,下面的方法可以对组态王采集的数据进行二次处理在某污水处理系统监控系统设计中,笔者采用组态王6.5、单片机ACCESS和EXCEL的结合设计了 整个监控系统上位机采用研华的工控PC机,系统监控采用组态王软件;底层数据采集和控制由PLC, 单片机、智能仪表完成由于组态王在数据库功能上比较薄弱,在设计中采用SQL技术将数据保存到MS ACCESS2000 中,并且通过 VBA(Visual Basic For Application)编程实现EXCEL 对 ACCESS 库的查询一、系统概述系统中存在多种不同类型的监控变量,其中有一部分需要控制的变量(如压力等),这可以利用PLC 实现控制:有一部分变量只需要采集(如温度、电流等)这些量可以通过用组态王支持的智能仪表进行采 集;还有一部分只需要采集的数据由于所用的采集仪表不能和组态王直接通讯,所以采用单片机AT89C52 编写程序实现现场数据采集,并采用通用单片机ASCII通信协议实现单片机和组态王的数据共享整个系统结构上采用多级分布式结构,分为2个数据采集站和1个监控总站;按照功能划分本系统则 分为设各现场控制、现场数据采集、远程设各监控三部分。

底层由PLC,单片机、智能仪表组成,其中,PLC主要完成现场控制设备的控制单片机和智能仪表 完成对现场数据的采集数据采集站作用是与底层的PLC,单片机和智能仪表通讯,获取生产过程的数据, 显示工艺流程,历史曲线图,实时曲线图、报警画面、生成数据库等监控总站与数据采集站通过以太网 连接,以获取生产工艺参数报警记录等数据信息监控总站可以根据操作人员的选择切换监视各个数据采集 系统的运行情况监控总站计算机还完成网络服务器的功能,将这些生产参数上网传输,实现网络化远程 监控二、软件设计整个监控软件以组态王 6.5 作为编辑平台整个监控系统具有如下主要功能:1) 总体监控:显示采集数据的实时值组态王通过和底层PLC,智能仪表和单片机通讯,访问相关设 备寄存器来获得各设备的运行情况,并通过动画连接、实时曲线等显示出来2) 历史曲线:显示系统运行的时候各个主要变量的历史记录,可以查询以前的历史记录时段,任意 时间的纪录3) 控制功能:在上位机端可对底层PLC,智能仪表进行控制实现远程控制4) 数据存储:每隔一定时间将数据保存到 ACCESS 中,方便以后的查询,所保存的数据还可以通过 EXCEL 进行查询,进行二次处理。

5) 报警功能:当有事故或故障发生时,微机通过外接音箱发出语音报警,并在微机屏幕上给出提示 报警画面上可以设置报警的上限、上上限、下限和下下限当超过了设置的范围时就会有报警,保证了系统 的安全运行6) 打印功能:打印各种报表、历史曲线、运行记录、报警数据等PLC 和组态王所支持的智能仅表与组态王之间的通讯不需要编写程序读取设各的内部寄存器的值,相 关的驱动程序已经集成在组态王中,只需要在组态王中定义对应的设备,并定义相应的 I/O 变量即可读取 设备内部寄存器的值而组态王所不支持的仪表则由单片机进行数据采集、转换,并且由单片机通过通用 单片机ASCII通信协议和组态王数据共享当组态王要读取单片机的数据时,将会向单片机发送基于该协 议的读命令包,单片机响应后,将数据发送给组态王,其数据发送格式也是基于通用单片机ASCII通信协 议的三、数据处理1.数据存储组态王虽然可定义数据文件在硬盘中的保存日期(超过该日期自动从硬盘中删除)但如果要保存的时 间较长,保存的数据量将非常庞大,不仅造成硬盘的浪费,而且由于组态王的数据文件结构形式复杂,年 终时报表处理也需要花费大量的处理时间因此,在本系统中使用SQL技术,将数据隔一定的时间(如1 小时)保存到ACCESS2000中。

具体实现步骤如下:首先,建立一个ACCESS数据库,在此命名为“变量数据”,并且建立相应的数 据表“温度数据”,然后在控制面板中的ODBC数据源中添加一个基于驱动程序ACCESSDriver的数据源 在本系统中取名为“工作站”,,并将该数据源连接到刚刚建立的ACCESS数据库“变量数据”在组态 王中用语句SQLConnect (DevicelD,“dsn=工作站;uid=; pwd= ”)实现和数据库的连接接着在组态王 中建立对应的记录体,记录体名应和数据表名相同;记录体中的字段名称也需和数据表中的字段名称相同 建好记录体后,可以在组态王命令语言中的“运行时”,使用SQLlnsert(DevicelD,“温度数据”,“温 度数据勺语句将组态王的数据保存到ACCESS数据库中,当系统退出运行时语句SOLDISCONNECT(De viceID )断开和数据库的连接2.数据检索考虑到组态王提供的报表格式有限,不能满足工程的需要,而使用EXCEL可以方便地进行表格式数 据综合管理和分析等二次处理的功能,系统添加了 EXCEL对ACCESS数据库进行查询的功能EXCEL提 供了“宏”,的概念来进行功能扩展宏是存储在Visua-Basic模块中的一系列命令和函数,当需要执行该项 任务时可随时运行宏。

其开发环境称之为VBA(Visual Basic For Application),VBA提供了一套基于V B的面向对象的系统开发工具很多语法继承于VB语言,可以像编写VB程序那样来编写VBA程序,实现 特定的功能支持VBA二次开发的应用程序都内建许多对象,这些对象都具有方法和属性VBA通过改 变这些对象的属性,调用相应的方法访问这些对象,实现编程目的Excel中的VBA,主要在VB中增加 了关于 Excel 工作簿、工作表、区域、数据透视表等对象的属性、事件和方法要使用VBA进行数据库查询必须先添加"Xlodbc.xla"加载宏,该宏中封装了对数据库访问、搜索、查 询的功能,该宏在Office安装盘中可以找到,添加方式为“EXCEL-工具-宏-Visual Basic编辑器-工具-引用”在使用VBA编程时,首先要注意在EXCEL中工作簿定义为"Workbook"工作表为"worksheet"区域为" range"元为“cell”在编程时对单元格进行操作必须指明单元格所在的工作表以及所在的区域以下语句示 例将 Sheetl 上 A1 单元格的值设置为 3.1, Worksheets ("Sheetl") Range ("A1") Value = 3.1下面介绍几个重要的数据库检索函数chan=SQLOpen ("DSN=server")建立与数据源的连接,其中server为数据源名。

SQLExecQuery (Connection.Text)函数在该数据源上执行查询Connection指定要查询的数据源的唯一连接标识Text要在数据源上执行的查询内容Setoutput=Worksheets ("电流")Range ("A1")将查询结果显示在表"电流”的A1单元格中SQLRetrievechan, output,,, True, False.False 检索先前执行的查询的结果的全部或一部分 SQLC losechan 断开数据库连接通过在VBA中编程,实现了在EXCEL中对ACCESS数据库的查询,查询的结果可以利用EXCEL 强大的数据处理、统计分析功能进行数据的二次处理四、结束语系统采用SQL技术将数据定时保存到ACCESS数据库中,解决了历史数据库占用磁盘空间大的问题 而且保存的数据可以使用EXCEL进行查询,生成EXCEL形式的报表,解决了组态王提供的报表格式不能 满足实际标准或实际工程的需要的问题。

下载提示
相关文档
正为您匹配相似的精品文档