《电子技术应用》
您所在的位置:首页 > 模拟设计 > 设计应用 > 力控的60个经典问题解答(三)
力控的60个经典问题解答(三)
摘要: 检查IE的常规属性中是否没有清除历史记录。将IE历史记录项改为0天,并清除原有的历史画面,同时在工程文件夹中将原有的HTTP文件夹内容删除后重新将工程发布后即可。
Abstract:
Key words :

41:使用电话拨号上网连接的计算机,能实现WEB发布吗?  
     可以。“WEB服务器配置”参数中的服务器IP地址使用拨号后获得的临时IP地址即可。但每次上网发布前都需要修改该参数,并重新发布信息,远程的IE端也要使用更新的IP地址来访问。 

42:做了WEB发布配置和工程发布,为何在IE中看不到画面? 
     首先查看你的Web Server服务程序是否运行了,该程序中的指定端口号与你的设置是否一 致;IE的安全属性是否按照说明进行修改;是否关闭了网路防火墙或如WINDOWS XP系统sP2自带的防火墙;工程路径和IP地址是否正确;如果一切正常,请使用其它计算机或其它浏览器查看一下,也可能是你的IE浏览器已经损坏。

43: 为何我发布的工程画面不能切换,在VIEW中可以?
     这是因为你在发布时只发布了当前打开的窗口或初始窗口。因为其它窗口没有进行发布,所以无法进行切换。回到开发系统进行如下操作“文件——全部关闭——全部发布到Web” 选择所有窗口进行发布。这样重新运行工程并刷新IE后即可完成切换浏览。

44: 用IE浏览正常,但我关闭以后下次浏览发现数据不能刷新? 
     检查IE的常规属性中是否没有清除历史记录。将IE历史记录项改为0天,并清除原有的历史画面,同时在工程文件夹中将原有的HTTP文件夹内容删除后重新将工程发布后即可。   

45:在用力控进行Web发布时,提示端口地址80被占用。如何解决此类问题? 
     力控WebServer默认端口地址为80,如果计算机该端口被系统IIS或其它软件占用,可以在 WEB服务器配置中将端口地址改为其它地址即可,修改后需要再次运行才能生效。   

46: 力控用IE浏览时如何输入地址,发布时能输入计算机名称吗? 
     如果你发布的计算机IP为:192.168.0.22 端口号为8080;在IE中输入http:// 192.168.0.22: 8080  或http://xxxx:8080均可(xxxx为WEB服务计算机的名称)。发布时不能使用计算机名称代替IP地址。   

47:力控与ACCESS连接,在运行系统上连接正常,数据能够保存到数据库,可是在WEB上就不行连接不上ACCESS了, 是不是要用IS WEB函数? 
     通过WEB发布后在IE客户端是不能实现与该关系数据库通讯的!因为Access不属于网络数据库,SQLConnect语句中的数据源无法在客户端进行连接。力控发布时将脚本程序发布到客户端,不管你是否用ISWEB函数屏蔽程序,都无法找到该数据源。就是说WEB发布后客户端不能连接力控主题之外的Access程序了。这时你可以选用网络型数据库如SQL  SERVER 2000等,使用系统DSN建立ODBC数据源进行网络查询是可以的。

48:使用SQLConnect函数之后,怎样才能查看有没有连接上数据源呢?
    力控SQL函数中有这样一条语句:SQLLastError(ErrorMes),表示取得SQL函数的最后一条错误信息。执行这条语句,然后查看ErrorMes(字符型变量)的信息即可得到连接的状态。   

49:从关系数据库中采到的数据在力控中是怎么保存的?可以通过什么方式在力 控的运行画面中显示? 
     在建数据表绑定表的时候,对应的字段有对应的数据库变量。当从关系数据库中采集数据的时候,数据都保存到了力控的历史数据库中对应的变量里面。采集完数据后可以使用SQLDisplayToGrid 函数把数据显示在力控的内置数据表中。   

50:用力控的函数StartApp启动了一个EXCEL的一个表格,但使用StopApp 函数并不能自动关闭这个表格,为什么呀?
  StartApp函数可以启动多种类型的文件,但StopApp函数只能关闭可执行文件,即后缀为.exe的文件。 

51:使用StartApp函数启动的WINDOWS自带的小键盘,使用StopApp函数为何关不掉? 
     是使用函数方法不对,首先将函数StartApp启动后的应用程序标识赋值给AppID(整型变量),如:AppID=StartApp("C:\WINDOWS\system32\osk.exe");然后使用函数StopApp(AppID)才能将AppID指定的程序关闭。

52:如何求一段时间的小时数?(常用于GetStatisData()函数的Timespan 参数)
     首先取起始时间的整型时间值LongTime(起始时间),再取终止时间的整型时间值LongTime(终止时间),再用nTime=LongTime(终止时间)-LongTime(起始时间) 小时数为:nHour=nTime/3600。
  例如:求2004年10月1日0点0分到2004年11月1日0点0分,表达式即为:
  nHour=(LongTime("2004/10/1 00:00:00")-LongTime("2004/11/1 00:00:00"))/3600。 

53: 使用力控控制策略PID结合模块做模拟量采集和调节控制,经常出现下置 数据超时或通讯停止的问题? 
     由于力控的PID运算调节周期短(10ms),如果直接将输出结果给模块会造成输出过频,出现上述写超时的现象。可以将输出做延时等控制。 

54: 如何在历史趋势中用一支笔在不同时间内切换显示不同变量的值?
      可以使用字段中的Tag1-Tag8修改每只趋势笔显示的内容。也可以在历史趋势组态时选择双击时“变量时间设置框”。 或在特殊功能下的位号组里,定义几组位号组,然后,用函数ChangeGroup()可以动态切换。

55: 使用X-Y曲线时,我手工给X和Y对应的变量输入数值,发现坐标系中点了两个点,根本不是我要的曲线,这是为什么呀? 
      X-Y曲线是表达Y与X关系的曲线,必须同时(时间差很微小)获得数值。否则会出现上述现象。自动采集和运算时因周期短不存在这个问题,手工输入时需要做左键动作的脚本赋值。如:X.PV=A1.PV;Y.PV=A2.PV;  输入A1.PV和A2.PV的值后对前面的脚本进行确认,显示X.PV与Y.PV即可。   

56:为何运行时能在历史趋势中看到实时曲线,向前查询时却看不到历史曲线?
     1、  在数据库组态时对该变量没有进行历史保存或保存方式不合适。 
     2、  变量的量程过大,趋势数值范围太小,实际显示的数值占量程的百分比非常小,
  所以感觉没有曲线显示,或曲线在数值范围外。
  如果是组态中没有保存历史,在实时数据库系统的信息中会有“历史点不存在XXXX”(XXXX是数据库变量名称)的错误提示。   

57:如果组态的画面中,有的画面需要对用户进行限制访问权限,即一些人 可以浏览一些人不可以浏览,怎么来实现? 
      组态时在“DRAW”窗口中的“特殊功能”——“用户组态”中,组态不同级别的用户及相 应用户口令。在需要设置画面浏览权限的窗口做“进入窗口”的脚本动作,判断$userle- vel 的值,当该值小于某个数时(0,1,2,3),关闭该窗口。只有以级别高的用户登录时($userlevel>?),才可以访问该窗口。注意登录后,用完该窗口,要注销,对该窗口的保护才继续起作用。 

58: 不想别人打开我的工程,对整个工程的开发与运行环境进行加密可以吗? 
      可以,只需在用户管理中定义一定级别的用户,在“配置”——“开发系统参数”——“组态保护”中选择一合适级别即可。即,只有等于或高于该级别的用户才能进入工程的开发系统。另外一种方式为:力控的运行加密锁可以使用“特使功能”——“工程加密”对工程进行加密,切记不要忘记密码也不要用同一个加密锁在不同工程中使用,否则将造成原有工程不能进入。运行系统加密可“配置”——“运行系统参数”——“参数设置”中选择进入运行权限。

59:起始时间控件返回的是long型值,用什么函数能取得从中的“年”,“月”,“时”,“分”,“秒”?
   使用函数:
  StrTime(time, format)//将整型时间转成字符串形式 和 StrMid(String, First, Count)//截取由First开始Count个字符组成的字符串。
    
  例如:求时间控件返回的年份:
  cYear=StrMid(StrTime(#timer1.TimeGet(),2),0,4) //timer1为起始时间控件
    
60:如何求一段时间的小时数?(常用于GetStatisData()函数的Timespan参数)
  首先取起始时间的整型时间值LongTime(起始时间),再取终止时间的整型时间值LongTime(终止时间),再用nTime=LongTime(终止时间)-LongTime(起始时间),求得小时数为:nHour=nTime/3600
  例如:求2004年10月1日0点0分到2004年11月1日0点0分,表达式即为:
  nHour=(LongTime("2004/10/1 00:00:00")-LongTime("2004/11/1 00:00:00"))/3600
 

此内容为AET网站原创,未经授权禁止转载。