组态王的n个经典问题解答之二 |
运行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”服务启动