您的位置:控制工程论坛网论坛 » 自动化软件 » 组态王的n个经典问题解答

瑞雪照丰年

瑞雪照丰年   |   当前状态:在线

总积分:4510  2024年可用积分:0

注册时间: 2007-02-01

最后登录时间: 2016-01-14

空间 发短消息加为好友

组态王的n个经典问题解答

瑞雪照丰年  发表于 2007/11/15 23:46:39      1374 查看 1 回复  [上一主题]  [下一主题]

手机阅读

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。解决初始化历史库失败或找不到变量等问题。
1楼 0 0 回复
总共 , 当前 /