工控网首页
>

应用设计

>

力控组态软件的60经典问题解答

力控组态软件的60经典问题解答

2017/3/27 13:59:25

这是因为安装运行包后,需要人工对软件进行注册。请

打开运行包释放后所在文件夹,

 

手工运行其中的“

Registry

”程序

这是因为安装运行包后,需要人工对软件进行注册。请

打开运行包释放后所在文件夹,

 

手工运行其中的“

Registry

”程序

1:我已经安装加密锁了,为何安装运行包后运行工程还提示找不到加密锁?

这是因为安装运行包后,需要人工对软件进行注册。请打开运行包释放后所在文件夹,手工运行其中的“Registry”程序进行软件注册,这样加密锁就可以找到了。

2:安装完运行包后如何卸载?

卸载运行包需要两个步骤:  

1)、手动删除运行包安装后生成文件夹及文件夹中的内容;

2)、删除注册表  

(1)Windows2000:进入windows安装系统盘――>WINNT文件夹――>打开regedit.exe文件――>使用查找功能搜索DaQing Sunway――>找到后删除该注册表信息。

(2)Windows98/XP:进入windows安装系统盘――>WINDOWS文件夹――>打开regedit.exe文件――>使用查找功能搜索DaQing Sunway――>找到后删除该注册表信息。 

3:如何安装力控的驱动程序?手动添加新驱动怎么做?  

力控软件安装光盘中提供了驱动安装程序。要是手动添加驱动的话,需要把驱动文件夹 (内有至少两个.dll文件和一个.txt文件)拷贝到力控安装根目录下的IO Servers文件夹下。

4:怎样添加新的子图精灵?  

子图安装方法:关闭力控运行程序,进入开发系统。打开任意一幅画面,选择特殊功能 下的安装子图精灵,会弹出对话框,这时选择需要安装的.dll文件,即去下载控件的存放位置寻找。单击打开按钮, 填写子图的属性,确定后便可把控件加入到子图精灵中。 

5:力控提供的加密锁需要安装驱动程序吗?需要话如何安装?  

力控提供两种加密锁:一种是并口锁,一种是USB加密锁。  

1)使用并口锁的时候,把加密锁直接插到计算机的并口上即可。注意:不要带电插 

拔,这样容易损坏加密锁。当插入加密锁后,如果力控软件找不到加密锁,请检查计算机BISO中打印机的设置方式,需要设置成ECP的方式。 

2)使用USB加密锁的时候,需要安装驱动,请点击力控光盘中的“加密锁驱动安装”进行安装。驱动安装完毕后再把加密锁插入计算机的USB口中。   

6:不小心在工程管理器中将工程给删除了,还能找到并恢复工程吗?  

可以,工程管理器只是对开发人员提供的多个工程列表管理的窗口,从这里删除只是管理器的列表中不在显示该工程。实际上工程还保存在原路径下,只需使用“新增应用”就可以找到你的工程并重新增加进列表。

7:力控支持数组吗?  

支持,可以使用间接变量,它是一个一维数组,下界为0,上界10000。    

8:给每个数组元素赋值后,发现最终所有元素显示的是最后一个赋值结果?  

这是因为在赋值前没有对数组元素做对其指向的变量进行指定。数组元素指定形式:IV[i] = &VAR //表示间接变量IV的第i个元素指向变量VAR。IV为间接变量,VAR为普通变量。i---为数值常量,或数值表达式。IV[i]---表示IV的第i个元素。“&”为地址符。“&”也可以写作“@”;    

例如:错误的做法:不对数组TEMP元素指定变量,对TEMP[1]、TEMP[2]直接赋值为12 和36,即TEMP[1]=12; TEMP[2]=36;最终结果造成TEMP[1]、TEMP[2]值都是36; 正确的做法:先进行元素与变量指定TEMP[1]= &coma1、TEMP[2]= &coma2,然后分别对变量coma1和coma2进行赋值:coma1=12; coma2=36;这样元素才能获得正确结果。

9:为何工程画面切换时有些窗口打不开,并提示“打开文档失败。”的错误? 这是因为3.6版本的运行系统VIEW不支持窗口名称中带有(输入法为英文状态)“#”和(输入法为中文状态)“(”与“)”字符的名称。如窗口名称为:“1#车间工艺”,当切换到该画面时会出现提到的现象。为此建立窗口时请不要使用“#”、“(”,“)”等字符。如果是输入法为中文状态的“#”可以使用,但不建议大家使用该符号。对于2.6版本下运行正常需要升级到3.6的工程要注意将带有“#”和“(”,“)”的窗口名称和动画连接进行修改。   

10:将系统的热启动键禁止,防止运行人员非法操作关机,能实现吗? 

可以,在“配置”——“运行系统参数”——“系统设置”中将“禁止Ctrl^Alt^Del”即即可。 但需注意对于某些操作系统安装后可能不能使用。

11:多个显示器同时分块监控一个大型的工艺流程画面,力控支持这种大画面漫游吗?  

支持,窗口尺寸可以人工修改,在不使用带滚动条的窗口情况下可以做到(宽度x高度)在10308x10536像素以内。  

12: 力控支持Flash动画吗?  

支持。可以使用“内部控件——浏览器”在“地址(URL)关联点”中添加数据库变量(可以使用右侧的按钮选择),选择变量及其字符型参数DESC,运行时对该变量进行赋值:将Flash动画文件的绝对路径赋给数据库变量的DESC参数(字符型),文件名称必须带.swf的后缀。运行后即可在力控的画面中播放Flash动画。通过修改变量赋值可以选择播放不同的文件,也可以在同一幅画面中播放多个Flash动画文件。   

13:力控的文本做模拟量的输入和输出连接后,发现模拟量变成整型了,没有小数部分,怎么处理呀?  

力控的画面VIEW与实时数据库DB是两个独立的可执行文件,虽然在数据库中模拟量默认3位小数(小数位数可以修改),但VIEW中文本需要人工指定小数点位数。如文本为####.##表示有两位小数显示。  

14:力控的数据库与数据库之间如何通讯? 

可以使用远程数据源的方式,建立网络连接实现,该方式仅支持网络TCP/IP方式;也可以 使用力控数据库间专有的Portserver协议,该方式支持TCP/IP,串口,拨号,GPRS等多种物理方式的链接,轻松组件分布式实时数据库网络。    

15:为何运行后在打开数据库DB时发现有“历史点不存在XXXX”( XXXX为数据库变量)的信息哪?  

这有两种可能:  

1)、这里指出的变量没有在组态中进行历史参数的保存设置。即根本不存在历史数据;  

2)、使用历史曲线或报表等工具对该变量进行过历史数据查询,但所查询的时段没有历史数据造成,即通讯故障,或关机等造成历史数据中断。  

16:电力采集模块是标准的MODBUS协议,读取了30多个模拟量参数,为何上来一部分数据,还有一部分变量在数据库DB中读不到哪?  

可能是该仪表的缓冲区太小,驱动中的报文长度过大,造成数据采集不正常。可以在定 义标准MODBUS设备驱动时,在设备配置的第三步中,将“包的最大长度” (默认64)改小。在PLC中Modicon(莫迪康)的Modbus驱动中,包长设置在“高级”按钮。  

17:在使用MODBUS驱动时,硬件手册中读取模拟量地址为40001,我在I/O 连接项中选择4号命令并输入地址40001,为何读不到数据哪?  

这是对MODBUS协议理解的错误!这里40001中的4是指4号命令,它是协议规定的功能码,0001才是地址。所以选择4号命令后在地址栏中只需要输入1即可。   

18:力控支持SIEMENS的S7-200通讯吗?怎样连接?  

支持,力控可以通过PPI、MPI、自由口等方式与S7-200通讯。MPI方式上位机

需要增加一块CP5611或者MPI电缆,PLC硬件需要增加EM277模块,安装PRODAVE S7,运行PG/PC-interface parameterisation,对通信参数进行配置。而PPI方式不需要以上设备,只需要一条PPI电缆。相关连接方式请参考相应的驱动帮助。

19:控与OMRON以HOSTLINK方式通讯时为什么有时只能采集而不能下送? HOSTLINK 协议规定OMRON的PLC处在运行的时候,数据只能采集,所以运行时不能写。在Run(运行)状态的模式下只能进行读操作,进行数据监视。要想对PLC进行读写控制就要将PLC上的开关拨到Monitor(监控)状态。  

20:使用多个厂家的串口设备,但力控只允许同一个厂家的设备使用同一个串口,计算机上只有两个串口怎么办?  

这种情况下,有两种方式:1、使用PCI或ISA的串口扩展卡(如研华或MOXA等公司),增加计算机的串口数量。优缺点是容易实现节省时间,但布线要多使用些通讯线。2、 力控也可以根据的需要将指定的几个驱动合并到一个物理层上使用,但需要收取开发费用,优缺点是布线节省时间和费用。

21:使用OPC时输入了远程计算机IP或计算机名称后,为何找不到SERVER?   

要求远程SERVER计算机和力控所在的客户端计算机必须使用相同的用户名和口令进行登 陆,如果远程SERVER计算机隶属于WINDOEWS网络的某个“域”中,要求客户端计算机也  必须工作在该网络相同的“域”中。OPC SERVER应该先运行起来,在CLIENT端才能看到点的树型结构表。

22:当使用DDE方式通讯时,为什么总是提示数据连接方面的问题,或通讯 中断无法交换数据?   

这是因为第三方服务程序在反应速度上无法实现与DB同步,DDE通讯分为同步和异步两种方式,连接分冷连接、温连接和热连接。根据不同的DDE Server,请选用不同的连接方式。建议使用异步连接通讯方式。在数据库组态DbManager“工程”——“数据库数”中的配置里,选择使用“异步”的DDE通讯方式”。

23:力控如何用GPRS进行采集与通讯?   

GPRS通讯有两种方式:一种是采用GPRS MODEM,使用拨号属性建立两台计算机之间的类 似无线以太网的通讯方式,这种方式只适合现场有计算机的场合;对于现场没有计算机  的设备,要想通过GPRS网络实现远程采集,就需要使用GPRS DTU,远程计算机通过广域网接收指定DTU连接的终端设备。这种方式现场不需要计算机,它很适合距离远且地理位置分散的场合。

24:域名捆绑能实现数据采集吗?  

可以使用域名捆绑,对RS232/485设备的GPRS无线数据采集,DTU中需要使用真IP,也   可以使用域名捆绑,这样DTU才能识别哪台计算机对它具有访问权。

25:可以在运行时动态修改报警上下限吗?能自动存储修改后的值做为下次运行时的报警条件使用吗?   

可以,只需在画面上对相关的参数LL、LO、HI和HH进行文本的输入输出连接组态,运行 时调用修改变量的上述相关参数即可;如果想保存做为下次启动使用,请在数据库组态  中“历史参数”选项页中,对相应的变量和参数选中“退出时保存实时值做为下次启动初值”即可。

26:力控可以检测设备通讯故障并报警吗?   

可以,力控的实时数据库对所连接的各种设备都具备通讯的实时监测功能。使用数据库 参数的I/O设备状态即可,当通讯正常时该参数值为0,故障时参数值为1;同时数据库提供很多的状态参数;

27:如何将含有字符、整型数据的Access数据库中的数据表调到力控中显示并打印?   

需要在力控中使用数据表绑定,首先将力控的数据库变量和Access的数据表中字段进行捆绑,其次使用SQL函数做数据源连接和数据记录的选取,最后使用windows/表格控件,表格编辑成和你的Access数据库中的表一样的格式(字段、数据格式都要一致),通过函数SQLDi-splayToGrid()将查询的数据显示到表格中。用print("要打印的窗口")就可以打印你要的表格了。

28:能将报表保存吗,就像保存EXCEL表单一样?   

可以,在万能报表的“工具条”下拉框中选择“运行时有工具条(无级别)”。运行时只需双击报表即可弹出浮动的工具条,使用“保存文件”工具,可生成*.rpt的报表。 该格式的报表使用工具条中的“打开文件”工具可以查看原有的报表。

29:为何只能查看10天的历史数据,以前数据都没有了?   

力控的实时数据库默认保存10天的历史数据,所以会出现上述问题,只需在力控实时数 据库工程管理器DBManager“工程”——“数据库参数”——“历史数据保存时间”中将保存时间的设置按需求进行修改即可。

30:力控的历史数据能使用EXCEL或关系数据库查看吗?   

可以,使用力控的“内部控件”——“ODBC转储”工具可以将历史数据转存到EXCEL中查 看,或使用组件ODBCGATE工具转存到关系数据库中。

31:用VC自己编写了专用控制算法和仿真模型,想用力控做画面和数据采集,用程序做运算并返回信息给力控,可以吗?   

可以,力控的DBCom是个标准的OLE控件可以在本地和远程计算机上双向的与VC++、VB、VFP、DELPHI、FrontPage、C++ Build等编写的程序进行实时或历史的数据交换,也支持数据变化通知。

32:力控可以和Infoplus等大型实时数据库连接吗?   

力控是标准的OPC Server和DDE Server,可以使用OPC和DDE向实时数据库提供数据,对于Infoplus也可以使用专用的CMIO接口。

33:力控能结合GIS地理信息系统吗?    

可以,使用DBCom控件向GIS提供报警和实时数据信息;如果是WebGIS可以调用力控的   drawcom控件,浏览力控的网络发布画面,力控也可以使用StartAPP函数启动WebGIS   的画面。

34:如何读写*.txt的纯文本文件?  

可以使用FileRead和FileWrite等相关函数进行读写操作。

35:以plc为例如何能让数据采集刷新速度提高?   

PLC的驱动程序因数据量大,采集存在数据打包的问题,力控将不同寄存器类型的数据打成一类数据包,每种类型又根据寄存器进行连续地址分段打包的方式进行采集。如编程结果将造成通讯数据包数量很多,最终造成刷新数据慢。最好的方式是将PLC程序中需要读写的寄存器地址尽量连续使用以减少数据包的数量。     

36:如何查看plc或其它设备是否通讯上了哪?   

力控运行后打开windows状态栏中的pLerine I/O server.exe文件,查看其中的状态信息。主要有Request times、Answer times、Average collecting cycle等信息;也可以看通讯灯的状态,绿色通讯正常,红色通讯故障。但不是所有的设备都能这样查看。

37:定义I/O设备时,“动态优化”什么意思?   

只采集当前活动点和需要保存历史数据的点,其余的点不采集。这样可以提高采集效率,但这些数据需要保证在同一个数据包中,这样才能提高采集效率。否则,

动态优化没有  意义。      

38:电话拨号采集设备,不希望一运行工程就自动拨号,希望人工控制拨号和挂断, 如何做?     

在定义I/O设备时选择“初始禁止”功能,在画面上使用函数“DeviceOpen()”和“DeviceClose”函数进行设备的动态打开和关闭控制。也可以使用条件动作做定时和轮巡拨号采集。

39:Web发布后,HMI画面上数据都正常,但在IE上一部分数据显示为0,为何?  力控不支持中间变量的发布。在IE浏览时,如果有画面显示的是中间变量就会出现上述问题。 在使用网络版的软件时要注意画面显示的实时数据必须用数据库变量。

40:对生产进行计数(累加1),为何发布后在IE上显示的数据比HMI上的多一倍?   

力控发布时将脚本程序与画面一并发布,IE客户端下载了画面和脚本程序,造成两地都在执行脚本程序计算,出现IE端计算结果与HMI结果不一致。请使用IsWeb() 函数将计算的脚本程序屏蔽,禁止程序在IE端运行即可。

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");

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

审核编辑(
王静
)
投诉建议

提交

查看更多评论
其他资讯

查看更多

助力企业恢复“战斗状态”:MyMRO我的万物集·固安捷升级开工场景方案

车规MOSFET技术确保功率开关管的可靠性和强电流处理能力

未来十年, 化工企业应如何提高资源效率及减少运营中的碳足迹?

2023年制造业“开门红”,抢滩大湾区市场锁定DMP工博会

2023钢铁展洽会4月全新起航 将在日照触发更多商机