技术论坛

 回复:[求助]用户归档生成的数据,能不能每天自动生成.csv文件到指定目录。

返回主题列表
作者 主题
欧若拉
游民

经验值:121
发帖数:2
精华帖:1
楼主    2017-04-17 16:37:16
主题:[求助]用户归档生成的数据,能不能每天自动生成.csv文件到指定目录。

大家好,我使用WINCC创建了一个用户归档数据来采集生产过程中的值。 现在每天都要手动使用Export按钮进行导出数据生成.csv文件,感觉好麻烦。有没有办法每天早上8点自动把用户归档里面采集的所有数据生成为.csv文件。如何实现?求高手指导。谢谢   我的WINCC是6.2版本。

欧若拉
游民

经验值:121
发帖数:2
精华帖:1
6楼    2017-05-12 08:54:55
精华帖  主题:回复:[求助]用户归档生成的数据,能不能每天自动生成.csv文件到指定目录。

通过不断的测试,问题已经解决啦,回来给大家分享一下成果,首先也感谢各位:

在全局C脚本写入以下代码:

#include "apdefap.h"

int CRT3884_UAExport(void)

{

UAHCONNECT hConnect;

UAHARCHIVE hArchive;

BOOL bOK;

int iRet = 0;


bOK = uaConnect(&hConnect);

if ((bOK == FALSE) (hConnect == NULL)){

  printf ("#E101: CRT3884_UAExport() - uaConnect failed!  error=%d\r\n", uaGetLastError());

  iRet = -101;

  return (iRet);

}


bOK = uaQueryArchiveByName(hConnect, "MyArchiv", &hArchive);

if ((bOK == FALSE) (hArchive == NULL)){

  uaDisconnect(hConnect);

  printf ("#E201: CRT3884_UAExport() - uaQueryArchiveByName failed!  error=%d\r\n", uaGetLastError());

  iRet = -201;

  return (iRet);

}


bOK = uaArchiveSetFilter(hArchive, "ChargeName like '%charge%' and DateBegin >= '2006-01-01 00:00:00' AND DateBegin < '2007-01-01'");

if (bOK == FALSE){

  printf ("#E301: CRT3884_UAExport() - uaArchiveSetFilter failed!  error=%d\r\n", uaGetLastError());

  iRet = -301;

  return (iRet);

}


bOK = uaArchiveSetSort(hArchive, "ChargeUser , ChargeName desc");

if (bOK == FALSE){

  printf ("#E302: CRT3884_UAExport() - uaArchiveSetSort failed!  error=%d\r\n", uaGetLastError());

  iRet = -302;

}


bOK = uaArchiveOpen(hArchive);

if (bOK == FALSE){

  uaReleaseArchive(hArchive);

  uaDisconnect(hConnect);

  printf ("#E401: CRT3884_UAExport() - uaArchiveOpen failed!  error=%d\r\n", uaGetLastError());

  iRet = -401;

  return (iRet);

}


bOK = uaArchiveExport(hArchive, "p:\\tmp\\MyArchive.csv", 0, 0);

if (bOK == FALSE){

  printf ("#E501: CRT3884_UAExport() - uaArchiveExport failed!  error=%d\r\n");

  iRet = -501;

}


bOK = uaArchiveClose(hArchive);

if (bOK == FALSE){

  printf ("#E801: CRT3884_UAExport() - uaArchiveClose failed!  error=%d\r\n", uaGetLastError());

  iRet = -801;

}


bOK = uaReleaseArchive(hArchive);

if (bOK == FALSE){

  printf ("#E802: CRT3884_UAExport() - uaReleaseArchive failed!  error=%d\r\n", uaGetLastError());

  iRet = -802;

}


bOK = uaDisconnect(hConnect);

if (bOK == FALSE){

  printf ("#E803: CRT3884_UAExport() - uaDisconnect failed!  error=%d\r\n", uaGetLastError());

  iRet = -803;

}

return (iRet);


然后编译保存,设置每天早上8:00 激活一次该代码。欧啦!


您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。