| 作者 | 主题 |
|---|---|
|
欧若拉 游民 经验值:121 发帖数:2 精华帖:1 |
楼主
主题:[求助]用户归档生成的数据,能不能每天自动生成.csv文件到指定目录。 大家好,我使用WINCC创建了一个用户归档数据来采集生产过程中的值。 现在每天都要手动使用Export按钮进行导出数据生成.csv文件,感觉好麻烦。有没有办法每天早上8点自动把用户归档里面采集的所有数据生成为.csv文件。如何实现?求高手指导。谢谢 我的WINCC是6.2版本。 |
|
欧若拉 游民 经验值:121 发帖数:2 精华帖:1 |
6楼
主题:回复:[求助]用户归档生成的数据,能不能每天自动生成.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 激活一次该代码。欧啦! |