admin 管理员组

文章数量: 887021


2024年2月28日发(作者:个人简历模板下载软件)

Wincc运行慢的处理方法

当我们使用Wincc一段时间后,打开Wincc软件就会卡在某个进度很长时间后才能加载完成,通常可以试着用以下方法来解决这一问题:

一.检查操作电脑本身运行是否流畅

1.打开Wincc下面的AutoStart工具,将开机自动启动Wincc软件的功能勾掉,避免电脑启动后软件自启动,以便进行下一步检查。

2.双击我的电脑或者计算机,检查C盘空间是否有足够的余量,若空间不足则根据实际情况删除不需要的软件或者重新安装系统。

3.可以先安装一些系统垃圾清理软件对电脑进行一次全位的清理,之后再将其卸载。

二.重新复制Wincc上位项目文件

1. 打开Wincc下面的Project Duplicator软件,在弹出的“WinCC项目复制器”窗口中,从路径中选择将要复制的工程文件保存到指定地址,这个过程比较慢需要大家耐心等待。注意在复制前一定要关闭Wincc所有相关软件。

2.之后右键点击复制好的项目文件,会发现比现在运行的项目大小少了很多,再次打开Wincc软件时选择刚复制的好的项目文件,软件运行速度会有很大的提升。

三.使用脚本函数删除用户归档中的数据记录

Wincc运行一段时间后由于归档文件中保存了大量的数据记录,所以Wincc在启动时就会变得很慢,通过删除用户归档中的数据记录可以很大程度提高软件加载速度。

程序示例如下:

UAHCONNECT hConnect;

UAHARCHIVE hArchive;

//*******连接到用户归档 *****************************************************

if(uaConnect(&hConnect)==FALSE) //建立到用户归档的连接失败

{

printf("uaConnect error: %d rn",uaGetLastError());//式样化输出

return;

}

if(hConnect==NULL)

{

printf("Handle UAHCONNECT equals NULLrn");

return;

}

//******* 通过名称连接到存档 ************************************************

if(uaQueryArchiveByName(hConnect,"TestArchive",&hArchive)==FALSE)

{

printf("uaQueryArchive Error: %drn",uaGetLastError());

uaDisconnect(hConnect);

return;

}

//******* 打开归档文件 ********************************************************

if(uaArchiveOpen(hArchive)==FALSE)

{

printf("uaArchive Open Error rn",uaGetLastError());

uaReleaseArchive(hArchive);

uaDisconnect(hConnect);

return;

}

//******** 删除field1中第10到第20 个数据集*************************************

if ( uaArchiveDelete( hArchive, "field1 > 10 AND field1 < 20" ))

{

printf( "Delete " );

}

else

{

printf( "Delete " );

}

//********** 删除某个数据集************************************************************

if ( uaArchiveDelete( hArchive, "field1=10" ) )

{

printf( "Delete " );

}

else

{

printf( "Delete " );

} */

//********* 删除所有数据记录************************************************************

if ( uaArchiveDelete( hArchive, "" ) )

{

printf( "Delete " );

}

else

{

printf( "Delete " );

}*/

//******* 关闭用户归档 *******************************************************************

if(uaArchiveClose(hArchive)==FALSE)

{

printf("error on closing archive rn",uaGetLastError());

}

if(uaReleaseArchive(hArchive)==FALSE)

{

printf("error release archivern",uaGetLastError());

}

//******* 断开与软件组件的用户归档****************************************

if(uaDisconnect(hConnect)==FALSE)

{

printf("error on disconnectionn",uaGetLastError());

return;

}

以上程序可通过点击按钮实现,在其事件属性中添加C程序来运行。仅供参考


本文标签: 软件 复制 归档 用户 项目