高分 关于将Wincc 过程值归档导出到EXCEL表中

单位用的版本是Wincc 5.1、系统是2000。项目已经编写完成,我只是在原来的基础上增加查看和修改过程值归档的功能。
 问题:
 1.最终目的是将过程值归档导出到EXCEL文件,能否提供具体的解决方案?
 2.归档文件应该是数据库文件,能不能直接使用像SQL等数据库软件直接打开,EXCEL能不能直接编辑?
 3.我用SQL浏览器查看Wincc 数据源的时候提示要用户名和密码,网上找到动态修改用户名和密码的C脚本,不过不详细,能否提供实例?
 4.过程值归档文件在哪个文件夹里,ArchiveManager这个文件夹我没找。
 5.过程值归档是不是只能按时间区分,能不能每次都生成一个独立的文件?
 6.Wincc自带的Sybase Central4.0 打不开,是什么原因?
 7.有相关资料的朋友请发邮件:ansheshou@hotmail.com
 感谢的关注,接触Wincc时间不长,请帮忙的朋友尽量具体些,在此感谢你的帮助!

问题补充:
谢谢,我在论坛找不到 C 关于数据库操作的脚本。能帮忙来个连接吗?
 现在非常郁闷,你们觉得很简单的问题 ,我没有接触过 根本找不到资料  关于C 对 数据库 以至对 EXCEL 的调用。能给个资料的连接吗 别说那里那里有。

最佳答案

将变量导出到excel可用这两种方式:
 1)内部变量可以这样保存到Excel:
 objExcelApp.Cells(2,7).Value=HMIRuntime.Tags("temperature ").read
 如果temperature是外部变量,是否也可以这样读取保存。
 2)通过vb读取变量保存到excel
 vb变量读取可通过dde或opc

提问者对于答案的评价:
谢谢大家的帮助 分数给级别低的同志了 不介意吧!
 下面是我写的脚本  看了很多帖子 最后实现的东西 希望对后来者有所帮助
 #include "apdefap.h"
 void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
 {
 #pragma code ("kernel32.dll")//调用动态链接库
 VOID GetLocalTime(LPSYSTEMTIME lpSystemTime);
 #pragma code ()
 #pragma code("Shell32.dll")")//调用动态链接库
 VOID ShellExecuteA(HWND, LPCTSTR , LPCTSTR , LPCTSTR , LPCTSTR , INT);
 #pragma code()
 char FileName[20] = "";
 SYSTEMTIME sysTime;
 __object* pExcel = NULL; //建立 pExcel 指针 用来对 EXCEL 进行操作
 HWND handle=NULL;
 handle=FindWindow(NULL,"WinCC-运行系统 - ");
 GetLocalTime(&sysTime);
 sprintf(FileName,"e:\\%d-%d-%d.xls",sysTime.wYear,sysTime.wMonth,sysTime.wDay);
 pExcel = __object_create("Excel.Application"); 
 pExcel->Visible = 1;
 pExcel->Workbooks ->Open ("e:\\book1.xls");
 pExcel->Worksheets("sheet1")->Range("A1")->Value=GetTagFloat("T46"); //返回类型:float 
 pExcel->Worksheets("sheet1")->Range("A2")->Value=GetTagFloat("T47");
 pExcel->ActiveWorkbook->SaveAs(FileName);
 pExcel->Workbooks->Close();
 pExcel->Quit();
 __object_delete(pExcel);

 还有就是 数据在 EXCEL 里自动换行  可以通过全局脚本  触发事件来解决 现在还没实现 等实现了我再贴出来

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc278050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午1:40
下一篇 2019年6月11日 下午1:40

相关推荐