组态王常见问题的解决方法

更新时间:2024-03-29 10:04:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

组态王常见问题的解决方法

组态王虽然国内用的很多,但他的问题也很多,有时候弄起来真的很麻烦,比如一个简单的开机自动运行都要自己设置,下面是我在网上查到的一些内容。

组态王使用常见问题

1、变量设定中最大(小)值及最大(小)原始值的意义?

[最大(小)值是变量在现实中表达的工程值(如:温度、压力等)的大小,而最大(小)原始值是采集设备中[寄存器]数字量的最大(小)值(如板卡中的819-4095等)。一般对于板卡设备此值为物理量经AD转换之后的值,如12BitAD此值范围0~4096、16BitAD为0~65535,对于PLC、智能仪表、变频器,其本身已将物理值转换为工程值所以此时最大(小)值与最大(小)原始值在设置时是一致的.

2、为什么变量无法删除,如何删除变量?

[在组态王中,只有未使用的变量才能被删除,因此在删除变量之前,必须去掉在画面或命令语言、控件引用处,等处与之有关的连接,如果还是无法删除,在工程浏览器中执行工具-更新变量计数命令,重新统计变量,在变量使用报告中可以查询变量是否还在某些地方使用,将其连接断开后,利用工具-删除未用变量将变量删除。 3、工程运行时,显示通讯协议组件失败?

[设备驱动安装错误:1、安装新的驱动2、在开发状态下从新连接设备,如果还是有错误,请联系驱动部索要新的驱动程序] 4、光盘上的典型案例无法打开?

[将工程拷贝到硬盘上将属性改为存档即可 5、如何在打开机器时自动进入组态王?

[将touchview快捷方式拷贝到系统开始\\程序\\启动中 6、怎样把工程文件变小?

[可以删除*.AL2(报警信息文件),*.REC(历史记录文件),*.111文件(*.pic文件的备份文件)的文件。

7、如何在线增删用户及用户密码和权限? [使用editusers()函数(用户权限需大于900)]

8、在定义变量的基本属性时状态栏中的保存数值、保存参数是什么意思? [保存参数:在系统运行时,修改变量的域的值(可读可写型), 系统自动保存这些参数值,系统退出后,其参数值不会发生变化。当系统再启动时,变量的域的参数值为上次系统运行时最后一次的设置值。无需用户再去重新定义 。

保存数值:系统运行时,当变量的值发生变化后,系统自动保存该值。当系统退出后再次运行时,变量的初始值为上次系统运行过程中变量值最后一次变化的值。 9、开发狗与运行狗的区别?

[开发狗是用于工程开发使用的,为了方便调试支持6小时的连续运行,运行狗是用于工程实际运行,不能进行开发.

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 ) + \月, 10 ) + \日, 10 ); string Atime = StrFromInt( A时, 10 ) + \分, 10 ) + \秒, 10 ); string Acommand =InfoAppDir()+\ 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( \监控中心\

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=\客户=\做为条件不执行? sql查询语句如果查询的字段为字符串时应使用单引号,a3=\客户’\即可

34:数据库插入记录失败?

1、在信息窗中查看数据库是否连接

2、数据库表格的字段名与组态王记录体定义的字段名是否相同3、数据库表格的字段类型与组态王变量的类型是否符合,推荐使用组态王的表格模板创建表格4、表格中使用的字段名是否为data和time,请改为其他字段名。 35:如何将数据存为.txt文件? 使用函数FileWriteStr(Filename,FileOffset,Message,LineFeed); 例:将名为MsgTag的文字变量写入文件C:DATA\\FILE.TXT的末尾。调用函数FileWriteStr (\

36:数据库字段为\反应罐1#温度时\组态王无法通过ODBC往数据库中写数据? ODBC不支持存在’#’字符的字段,不要使用#

37:如何在数据库中始终保持一个月的数据,自动删除一个月之前的记录? 请将控制面板中的区域设置日期改为yyyy-mm-dd格式 数据库中保存一个月的历史数据,自动删除一个月以前的数据。命令语言放在应用程序命令语言启动时或者事件命令语言$时==1中:

SQLConnect( DeviceID, \历史;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 + \

string whereexpr=\日期={d’\

SQLDelete( DeviceID, \

if(\\\\本站点\\$月==4||\\\\本站点\\$月==6||\\\\本站点\\$月==9||\\\\本站点\\$月==11)

{ if(\\\\本站点\\$日==30) {

day=31;

date1= StrFromInt( year, 10 );

date1=date1+\

date1 = date1 + StrFromInt( month, 10 );

date1 = date1 + \

whereexpr=\日期={d’\

SQLDelete( DeviceID, \ } }

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

41:for Internet版本如何通过IE浏览方式对数据库进行查询?

对于for Internet版本组态王[6.01版],画面发布不支持SQL函数。所以不能通过画面调用SQL函数对数据库进行查询。但是可以通过一种中介的方式。画面上定义按钮,定义按下或弹起时一离散量变化,如离散量: a,按钮弹起时a=1。在事件命令语言中定义当a=1时,数据库进行连接,命令语言如下: if(a==1)SQLConnect(DeviceID,\数据查询;uid=;pwd=\如此类推通过离散量发生变化从而触发事件命令语言从而对数据库进行查询。这样发布的画面可以实现通过IE浏览。。

42:访问组态王发布的页面时为什么总出现“连接主机失败”? 1、网络速度太慢。

2、开发中“网络配置”没有配置为“连网”。

3、演示版支持10分钟的WEB发布,同时只能够有1个用户通过IE浏览

43、访问组态王发布的页面时为什么会提示“连接远程文件格式”错误?

1、[6。01及以前版本]画面中是否使用了控件、过渡色、其他不支持的图素。 2、是否将文件发布到了根目录下,发布文件不能放在根目录下

44、如何访问组态王发布的页面?

显示工艺流程,历史曲线图,实时曲线图、报警画面、生成数据库等。监控总站与数据采集站通过以太网连接,以获取生产工艺参数报警记录等数据信息监控总站可以根据操作人员的选择切换监视各个数据采集系统的运行情况。监控总站计算机还完成网络服务器的功能,将这些生产参数上网传输,实现网络化远程监控。

二、软件设计

整个监控软件以组态王6.5作为编辑平台。整个监控系统具有如下主要功能:

1)总体监控:显示采集数据的实时值组态王通过和底层PLC,智能仪表和单片机通讯,访问相关设备寄存器来获得各设备的运行情况,并通过动画连接、实时曲线等显示出来

2)历史曲线:显示系统运行的时候各个主要变量的历史记录,可以查询以前的历史记录时段,任意时间的纪录。

3)控制功能:在上位机端可对底层PLC,智能仪表进行控制实现远程控制。

4)数据存储:每隔一定时间将数据保存到ACCESS中,方便以后的查询,所保存的数据还可以通过EXCEL进行查询,进行二次处理。

5)报警功能:当有事故或故障发生时,微机通过外接音箱发出语音报警,并在微机屏幕上给出提示;报警画面上可以设置报警的上限、上上限、下限和下下限当超过了设置的范围时就会有报警,保证了系统的安全运行。

6)打印功能:打印各种报表、历史曲线、运行记录、报警数据等

PLC和组态王所支持的智能仅表与组态王之间的通讯不需要编写程序读取设各的内部寄存器的值,相关的驱动程序已经集成在组态王中,只需要在组态王中定义对应的设备,并定义相应的I/O变量即可读取设备内部寄存器的值。而组态王所不支持的仪表则由单片机进行数据采集、转换,并且由单片机通过通用单片机ASCII通信协议和组态王数据共享。当组态王要读取单片机的数据时,将会向单片机发送基于该协议的读命令包,单片机响应后,将数据发送给组态王,其数据发送格式也是基于通用单片机ASCII通信协议的。

三、数据处理

1.数据存储

组态王虽然可定义数据文件在硬盘中的保存日期(超过该日期自动从硬盘中删除)但如果要保存的时间较长,保存的数据量将非常庞大,不仅造成硬盘的浪费,而且由于组态王的数据文件结构形式复杂,年终时报表处理也需要花费大量的处理时间。因此,在本系统中使用SQL技术,将数据隔一定的时间(如1小时)保存到ACCESS2000中。

具体实现步骤如下:首先,建立一个ACCESS数据库,在此命名为“变量数据”,并且建立相应的数据表“温度数据”,然后在控制面板中的ODBC数据源中添加一个基于驱动程序ACCESSDriver的数据源在本系统中取名为“工作站”,,并将该数据源连接到刚刚建立的ACCESS数据库“变量数据”。在组态王中用语句SQLConnect(DevicelD,“dsn=工作站;uid=;pwd=”)实现和数据库的连接。接着在组态王中建立对应的记录体,记录体名应和数据表名相同;记录体中的字段名称也需和数据表中的字段名称相同。建好记录体后,可以在组态王命令语言中的“运行时”,使用SQLlnsert(DevicelD,“温度数据”,“温度数据勺语句将组态王的数据保存到ACCESS数据库中,当系统退出运行时语句SOLDISCONNECT(DeviceID)断开和数据库的连接。

2.数据检索

考虑到组态王提供的报表格式有限,不能满足工程的需要,而使用EXCEL可以方便地进行表格式数据综合管理和分析等二次处理的功能,系统添加了EXCEL对ACCESS数据库进行查询的功能。EXCEL提供了“宏”,的概念来进行功能扩展宏是存储在Visua-Basic模块中的一系列命令和函数,当需要执行该项任务时可随时运行宏。其开发环境称之为VBA(Visual Basic For Application),VBA提供了一套基于VB的面向对象的系统开发工具很多语法继承于VB语言,可以像编写VB程序那样来编写VBA程序,实现特定的功能。支持VBA二次开发的应用程序都内建许多对象,这些对象都具有方法和属性。VBA通过改变这些对象的属性,调用相应的方法访问这些对象,实现编程目的。Excel中的VBA,主要在VB中增加了关于Excel工作簿、工作表、区域、数据透视表等对象的属性、事件和方法。

要使用VBA进行数据库查询必须先添加\加载宏,该宏中封装了对数据库访问、搜索、查询的功能,该宏在Office安装盘中可以找到,添加方式为“EXCEL-工具-宏-Visual Basic编辑器-工具-引用”

在使用VBA编程时,首先要注意在EXCEL中工作簿定义为\工作表为\区域为\range\元为“cell”在编程时对单元格进行操作必须指明单元格所在的工作表以及所在的区域。以下语句示例将Sheetl上A1单元格的值设置为3.1,Worksheets(\)Range(\)Value=3.1

下面介绍几个重要的数据库检索函数

chan=SQLOpen(\)建立与数据源的连接,其中server为数据源名。

SQLExecQuery(Connection.Text)函数在该数据源上执行查询。

Connection指定要查询的数据源的唯一连接标识Text要在数据源上执行的查询内容。

Setoutput=Worksheets(\电流\)Range(\)将查询结果显示在表“电流”的A1单元格中。

SQLRetrievechan,output,,,True,False.False检索先前执行的查询的结果的全部或一部分。SQLClosechan断开数据库连接。

通过在VBA中编程,实现了在EXCEL中对ACCESS数据库的查询,查询的结果可以利用EXCEL强大的数据处理、统计分析功能进行数据的二次处理。

四、结束语

系统采用SQL技术将数据定时保存到ACCESS数据库中,解决了历史数据库占用磁盘空间大的问题而且保存的数据可以使用EXCEL进行查询,生成EXCEL形式的报表,解决了组态王提供的报表格式不能满足实际标准或实际工程的需要的问题

本文来源:https://www.bwwdw.com/article/qonr.html

Top