组态王70个经典问题解答.docx
《组态王70个经典问题解答.docx》由会员分享,可在线阅读,更多相关《组态王70个经典问题解答.docx(16页珍藏版)》请在冰豆网上搜索。
![组态王70个经典问题解答.docx](https://file1.bdocx.com/fileroot1/2023-2/24/0c0c24c4-d04f-43f6-a92d-036611b8fcba/0c0c24c4-d04f-43f6-a92d-036611b8fcba1.gif)
组态王70个经典问题解答
组态王专题之:
70个组态王经典问题解答
1、变量设定中最大(小)值及最大(小)原始值的意义?
最大(小)值是变量在现实中表达的工程值(如:
温度、压力等)的大小,而最大(小)原始值是采集设备中[寄存器]数字量的最大(小)值(如板卡中的819-4095等)。
一般对于板卡设备此值为物理量经AD转换之后的值,如12BitAD此值范围0~4096、16BitAD为0~65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小)值与最大(小)原始值在设置时是一致的.
2:
组态完成后发现工程特别大,怎样把工程文件变小?
可以删除*.AL2(报警信息文件),*.REC(历史记录文件),*.111文件(*.pic文件的备份文件)的文件。
3:
在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思?
保存参数:
在系统运行时,修改变量的域的值(可读可写型), 系统自动保存这些参数值,系统退出后,其参数值不会发生变化。
当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。
无需用户再去重新定义 。
保存数值:
系统运行时,当变量的值发生变化后,系统自动保存该值。
当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。
4:
如何不进入系统桌面环境而直接运行组态王工程如何实现(Win98系统)?
编辑Win98系统下的System.ini文件,将shell=explorer.exe改为:
path=c:
\ProgramFiles\Kingview
shell=Touchvew.exe 即可
5:
组态王里画面属性中覆盖式与替换式有何区别?
覆盖式画面出现时,它重叠在当前画面之上,其他打开的画面还在运行,关闭后被覆盖的画面又可见。
替换式画面出现时,所有与之相交的画面自动从屏幕和内存中删除,不再运行。
6:
如何利用多个摄像头在组态王上显示多幅画面?
用户需要增加硬件设备:
矩阵转换器和画面分割器。
视频采集后通过矩阵转换和画面分割再送进组态王中,例如需要显示16个画面,可选择16画面分割器。
7:
如何将gif动画用在组态王画面中?
在组态王画面中的工具箱内选折<画点位图 designtimesp=451>这一项并用鼠标在画面中画出一个点位图块,然后点击鼠标右键,在其下拉式菜单中选折〈从文件加载〉,选择所需的gif动画文件。
8:
如何用组态王在启动一个应用程序时打开任意路径下的一个文件?
一在组态王中定义一个内存字符串型变量,在StartApp函数调运之前,赋给该变量值,为:
应用程序路径+一个或 两个空格+文件路径、文件名 、文件扩展名。
接下来用StartApp函数,其参数为该变量名称。
如用WordPad启动时打开一个.alg文件:
定义“ 文件”问内存字符串型变量,命令语言为:
文件="C:
\Progra~1\Access~1\word.exe "+"C:
\Progra~1\Kingview\Example\Kingdem~3\"+文件名; startapp(文件);/*文件名可以任意给定,如用列表框选择的结果等。
[文件名为8.3格式]
9:
事件命令语言和程序命令语言内容的长度是否能够加长?
组态王命令语言的长度为20k,无法加长,但可以将一个命令语言分为几个事件命令语言。
10:
为什么有些打印机在打印实时报警时打出的为乱码?
为保证实时报警打印的实时性,组态王将实时报警信息直接送到打印端口(如LPT1)输出打印,而不是调用WINDOWS系统的打印,因为在打印时要求有字库的支持,而直接送端口打印没有调用任何系统的东西,所以就要求打印机提供这些字库。
如果没有字库,则打印出来的东西肯定为乱码。
现在市场上的打印机除了部分针式打印机(如EPSON LQ1600K系列、LQ1900等)具有硬字库外,其余的打印机,所以打印出来的实时报警很容易出现乱码。
11:
为什么有些网络在报警窗中不出现登录和注销事件?
登录和注销事件在组态王中是作为报警事件显示在报警窗中,这就要求作为登录服务器的机器必须有自己的报警服务器,因此建议用户将作为登录服务器的机器同时做为IO服务器,并选定一个报警服务器作为这台机器的报警服务器。
12:
如何查询历史报警?
1、打开组态王工程浏览器下的"报警配置"项,在其对话框的〈文件保存〉栏里输入报警信息存放的天数,并单击报警记录格式,其弹出的对话框里可以进行显示报警信息时间的设置。
变量的报警信息是以*.al2文件的格式存放在指定的工程路径下面。
2、组态王工程浏览器下的"报警配置"项中选择将报警信息存入数据库,如需在组态王中查询可利用sql函数进行查询.
13:
如何计算变化率报警?
模拟量的值在固定时间内的变化超过一定量时产生的报警,即变量变化太快时产生的报警。
当模拟量的值发生变化时,就计算变化率以决定是否报警。
变化率的时间单位有三种:
秒、分和时。
变化率报警利用如下公式计算:
((变量的当前值 - 变量上一次的值)*100)* 单位对应的值/((这一次产生值的时间-上一次产生值的时间)* (最大值 - 最小值)(注:
如果是秒,为1;如果是分,为60,如果是时,为3600)) 取其整数部分的绝对值做为结果,若计算结果大于定义的变化率的值,则出现报警。
14:
如何利用KVDBGrid控件根据日期条件查询历史报警?
将数据库中表Alarm中的字段AlarmDate字段类型改为“日期型”,利用KVDBGrid进行条件查询,日期变量为:
DateString,字符串类型
历史报警查询.Where="AlarmDate={d ’"+\\本站点\DateString+"’}";
历史报警查询.FetchData();
历史报警查询.FetchEnd();
15:
如何利用KVDBGrid控件根据报警变量进行相似查询历史报警?
历史报警查询.Where="VarName like+’%"+\\本站点\报警变量+"%’";
历史报警查询.FetchData();
历史报警查询.FetchEnd();
16:
如何利用KVDBGrid控件根据日期范围查询一段日期的历史报警?
历史报警查询.Where="AlarmDate >={d’"+\\本站点\HTDate+"’} and AlarmDate <={d’"+\\本站点\HTDate1+"’}";
历史报警查询.FetchData();
历史报警查询.FetchEnd();
17:
如何利用KVDBGrid控件根据日期范围查询一段日期的历史报警?
历史报警查询.Where="AlarmDate >={d’"+\\本站点\HTDate+"’} and AlarmDate <={d’"+\\本站点\HTDate1+"’}";
历史报警查询.FetchData();
历史报警查询.FetchEnd();
18:
如何清除组态王6.0报表单元格中的内容?
组态王报表没有提供清除报表内容函数,但提供了设置报表单元格内容的函数,包括设置一个或多个单元格的字符或数据,可以使用这些函数(ReportSetCellString)来清除报表单元格的内容,如设为空字符。
这种方式比较灵活,而无须组态王在提供单元格清除函数。
19:
如何利用组态王报表来实现数据统计?
组态王的报表数据统计功能目前有一定的局限性,但利用组态王的其它功能与报表功能一起可以实现数据统计。
1、设计一个源报表,该报表中存储各种用于数据统计分析的源数据,可以在系统运行时,将源数据添到报表中, 需要统计分析时,可以取出数据进行统计分析。
然后将结果添加到统计结果报表中。
2、通过数据库与报表结合的方式。
将所需的数据通过组态王的SQL功能记录到数据库中,当需要统计分析时,可以通过条件查询,将查询到的数据添加到源报表中,然后通过对源报表的计算将统计结果输出到正式报表中
20:
在使用EXCEL制作的报表Kintable查询历史数据注意的问题?
1、在Kintable的VBA编辑器中Auto_Open子程序中修改初始化历史数据库的函数的参数:
修改历史库路径和工程
2、如果使用的是EXCEL5以上的版本,请在查询历史数据前,先执行初始化历史库函数。
在Kintable中VBA中的子程序ButtonOk_Click函数定义变量部分之后,直接调用Auto_Open子程序:
Call Auto_Open。
解决初始化历史库失败或找不到变量等问题。
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”服务启动。
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、使用组态王狗,一旦使用打印机则找不到狗?