当前位置:首页 >> 信息与通信 >>

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


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

组态王虽然国内用的很多,但他的问题也很多,有时候弄起来真的很麻烦,比如 一个简单的开机自动运行都要自己设置,下面是我在网上查到的一些内容。
组态王使用常见问题 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.exe

22:如何在组态王中修改系统时间? 调用批处理文件:dsh.bat string 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.bat date %1 time %2 22:工程被破坏后如何恢复画面? 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,\\本站点\HTTime); \\本站点\PHTTime1=AHTTime(\\本站点\HTDate1,\\本站点\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( DeviceID, "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’"+date1+"’}"; SQLDelete( DeviceID, "A", whereexpr); if(\\本站点\$月==4||\\本站点\$月==6||\\本站点\$月==9||\\本站点\$月==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 锁的驱动程序, (6。01 以前的版本不支持 XP) 。 2、确保计算机并口模式为 ECP(在 BIOS 中设置) 。 3、如果还不能解决问题,请上外部网站"软件下载"中下载 jiami 锁检测程序。 4、锁坏了(禁止带电拔插狗) 51、使用组态王狗,一旦使用打印机则找不到狗? 1、将并口设为 ECP 方式(在 BIOS 中设置) 2、并安装驱动程序 3、并口的驱动能力可能有问题,建议增加一并口扩展卡,连接打印机。 52、开发的工程如何能不让别人看到? 1、对于大于 64 点的工程,如果没有装上开发狗的话则不能打开工程

2、在工程浏览器的工具菜单中选择工程 jiami 可以避免别人打开工程,但一定要记住密码, 因为一旦密码丢失,没有后台可以 jiemi。 53: 使用三菱 fx2n 的 PLC,使用 232bd 的通讯模块与组态王通讯, 在组态王上选择设备 fx2-> 编程口,当 plc 设置成 stop 状态时,plc 与组态王通讯正常,一旦把 plc 设置为 run 状态, plc 与组态王出现通讯失败是为什么? 是否在 plc 中有一段自己编的有关 232bd 通讯方面的程序,这段程序与组态王的驱动程序有 冲突,把这段程序去掉后,plc 不论是 stop 还是 run 状态,和组态王通讯均正常 54:金星 K200S 使用通讯模块 K3F-CU2A 与组态王通讯不上如何检查? 1).通讯模块的运行方式通过模块上的开关类型选为专用通讯方式。 2).在组态王开发环境中定义设备时选择 PLC->金星-〉MASTER-K-XXXS。 3).通讯模块的 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 与组态王之间的通讯。然后再调闭 PLC。 58:三菱 PLC 的 A 和 Q 系列以太网通讯方式,PLC 程序中需要为通讯做些什么工作? 三菱 PLC 的 A 和 Q 系列,以太网通讯模块中都有 8 个通讯缓冲区。PLC 与上位机通讯时, 每个缓冲区通过一个端口与一台上位机连接。因此,PLC 首先要定义一个唯一的 IP 地址; 需要与几台上位机连接,在程序中就要打开几个缓冲区,分别定义不同的端口;还要循环查 询这些端口, 是否有上位机连接进来, 以便随时可以通讯。 端口可以定义得比上位机数量多, 对通讯没有影响。强烈要求网内所有 PLC 定义的端口不要重复,以避免驱动共享变量可能 带来的通讯混乱。 59: S7200 使用 PPI 电缆方式与组态王进行通讯,CPU 中可以定义 Q,I,M 寄存器,而组 态王中只有 V 寄存器。如何连接? 组态王只支持 V 寄存器,数据类型包括 BYTE,INT,UINT,LONG,FLOAT,如果您要监控 Q, I,M 寄存器,您必须在 PLC 程序中做一下处理,将 Q,I,M 寄存器的值传至 V 寄存器, 组态王通过对 V 寄存器的操作来实现对 Q,I,M 寄存器的监控。

60:组态王如何与三菱 FX0n 系列的 PLC 进行通讯 三菱 FX0n 系列的 plc 本身只有编程口,如使用组态王与其进行通讯还需给三菱 FX0n 配置 通讯模块或通讯卡,配置好通讯模块后与三菱 fx2n 系列的通讯协议是兼容的,请根据您所 选用的通讯模块在组态王上选用相应的选项。 1.对于 232BD:定义设备时,选 FX2N。 2.对于 485BD,232ADP, 485ADP:定义设备时,选 FX2N-485 方式 用编程将 D8120 设置为 E080,即通讯参数如下: link, 7, 无校验, 1, 9600, RS485, 数目检查:YES, 控制程序:Format4. 在 D8121 中设置地址 组态王的 n 个经典问题解答之四 61: 西门子 S7200 使用西门子公司提供的 PC/PPI 电缆选用 PPI 方式与组态王通讯, 一旦 PLC 断电通讯不能恢复,重新启动组态王通讯失败,必须用西门子的编程软件和 PLC 通讯一次 后,组态王才能与 PLC 通讯是为什么? 1) 不用西门子公司提供的 PC/PPI 带缆, . 使用 RS232/485 的转换模块, 的 DATA+接 PLC 485 的 PORT 口的 3,DATA-接 PLC 的 PORT 的 8,采用这种方式连接 PLC 断电后组态王能恢 复与 PLC 的通讯。 2) .PLC 断电后先用 PLC 的编程软件与 PLC 通讯一次,初始化 PC/PPI 电缆上的模块,再 使用组态王与 PLC 通讯 62:用户使用组态王通过远程 modem 拨号与西门子的 s7200 系列的 plc 进行通讯。使用 ppi 协议。modem 拨通后,组态王与 plc 通讯失败,为什么? 组态王不支持与西门子的 plc 使用 ppi 协议通过远程 modem 拨号进行通讯,请使用西门子 s7200 系列的自由口协议(kingview6.0 版本) ,可实现组态王通过远程 modem 拨号与西门子 的 s7200 系列的 plc 进行通讯 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 及以上版本 (2) ,需要购买西门子提供的 Softnet-DP , COMPROFIBUS3.3 及以上版本 ,.用于实现对主站组 态,地址定义,从站类型定义,以及 I/O 配置,从站参数赋值信息等. 组态完后生成的*.ldb 文件将 添加到 CP 中以起动并初始化从站. (3),通讯卡 (如 CP5611,CP5613 等) ,在 Profibus -DP 通讯网中做为主站 ------实现 Profibus-S7 通讯需要软硬件支持 (1) STEP7V5.0+SP2 及以上版本 (2) 需要购买西门子提供的 Softnet-S7 软件 . (3) 通讯卡 (如 CP5611,CP5613 等) 67:如何实现三菱 A 系列的 PLC 与组态王进行通讯? 需要选用通讯模块。 1、 计算机通讯组件 A1SJ71C24-R2 应按照如下设置: 将 MODE 拨盘指向 4 的位置,本协议只支持通信协议的模式 4 2、计算机通讯组件 A1SJ71C24-R4 应按照如下设置: 1 2 3 4 5 6 7 8 9 10 11 12 off on off on on off on on on on off on mode 选择 位置 8 组态王中设置: RS_485 , 9600 , 8 , 1, 偶校验 3、以太网组件: A1SJ71E71B2 A1SJ71E71B5 在组态王中定义设备三菱-〉中型 PLC 以太网-〉TCPIP 68:Q 系列以太网通讯如何配置? 如果使用 Q 系列以太网方式,在组态王中定义设备三菱-〉Q 系列以太网-〉TCPIP 设备地址格式:aaa.bbb.ccc.ddd:ppppp:t aaa.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.dll,需要调用默迪康的两个库文件 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("Sheet1")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 形式的报表,解决了组态王提供的报表格式不能 满足实际标准或实际工程的需要的问题


相关文章:
组态王应用常见问题160例
组态王应用常见问题160例_计算机软件及应用_IT/计算机_专业资料。组态王 160 个使用问题解答 1 关于 Microsoft Date and Time Picker 控件,我按你说的做。在大部分...
组态王问题集锦
组态王问题集锦_专业资料。组态王问题集锦组态王采集数据速度非常慢的解决 组态王采集数据速度非常慢的解决 组态王采集数据速度非常慢的原因有很多,但解决的办法: 1, 用...
组态王的常见问题解答
组态王的常见问题解答组态王的常见问题解答隐藏>> 组态王的常见问题解答 1、 变量...解决方法: 更新驱动程序。两种方式都支持。 57.使用 6 台欧姆龙 PLC 与上位机...
组态王经典问题
组态王经典问题_电力/水利_工程科技_专业资料。组态王的 n 个经典问题(老) (注:这是对于老版本组态王总结出来的一些解决方案,如果 是您现在使用的是新版本组态王,...
组态王的n个经典问题解答
这种方式比较灵活,而无须组态王在提供单元格清除函 数。 19:如何利用组态王报表...解决初始化历史库失败或找不到变量等问题。 2006 年度自动化行业品牌影响力排行...
组态王的n个经典问题(老) (转自亚控)
组态王的n个经典问题(老) (转自亚控)_信息与通信_工程科技_专业资料。组态王的...(注: 这是对于老版本组态王总结出来的一些解决方案, 如果是您现在使用的是新...
70个组态王经典问题解答
70个组态王经典问题解答_工学_高等教育_教育专区。70个组态王经典问题解答70...上例中只能定义成 IR100,而不能定义成 IR0100.解决方法:更新驱动程序.两 种...
组态王问题解答
请问有什么方法可以解决问题?! 请安装组态王提供的硬件驱动程序 5 怎么不能驱动呀[求助] 我问下啊,下载的驱动程序是哪个版本 的呀? 我现在用的是6.01版的,...
三维力控组态遇到的问题解及解决办法
三维力控组态遇到的问题解及解决办法_军事/政治_人文社科_专业资料。三维力控组态出现的问题解决办法力控组态软件的常见问题 1: 我已经安装加密锁了,为何安装运行...
组态王问题解答
这种方式比较灵活,而无须组态王在提供单元格清除函 数。 19:如何利用组态王报表...解决初始化历史库失败或找不到变量等问题。 2006 年度自动化行业品牌影响力排行...
更多相关标签: