WINCC如何生成.txt文件或word文件

我要把WINCC上的数据生成一个.txt格式或word的文件,怎么实现啊,各位大侠请帮帮忙吧,急用啊,小妹这里先谢过啦!

问题补充:
我要实现文本里的数据可根据wincc里的数据实时变化,wincc的数据是PLC发给的,新的数据可以覆盖旧的数据

最佳答案

1、首先,在Windows系统资源管理器D盘中根目录下(即D:\)新建一个文本文件,名称为“DATA.txt”;
 2、然后打开WinCC项目后找到“Global Script”节点,再进入“Global Script”编辑窗口;
 3、选取“C-Script”工具,新建一个“C-Script”编辑窗口,写入以下的C-Script代码:
 (1)如果是连续循环向.txt格式文件写入数据,可参照如下:
 #pragma option(mbcs)
 void Write_Data()
 {
   #define MaxLineLength 80
    FILE *fpFile;
    char *strTag[5] = { "TagA", "TagB", "TagC", "TagD", "TagE" }; 
    char *pTmp;
    char buffer[MaxLineLength];
    double  dVal;
    int i;
    fpFile = fopen(GetTagChar("D:\\DATA.txt"), "w+" ); //open file to write
    printf ("C-Script: write file: %s\r\n", GetTagChar("Filename"));
    if (fpFile !=NULL)
    {
        for (i=0; i<=4; i++){
           dVal = GetTagDouble(strTag[i]);
           sprintf(buffer, "%s;%lf\n", strTag[i],dVal);
           // Search for ‘.’ and replace with ‘,’
           pTmp  = strchr(buffer, (int)’.’);
           if (pTmp != NULL){
                *pTmp = ‘,’;
           }
           fputs(buffer,fpFile);
           printf("%s\r\r\n", buffer);
        }
        fclose(fpFile); //close file
    } else {
        printf ("Error: File not found!\r\n");
    }
 }
 (2)其次,可参照如下:
 #pragma option(mbcs)
 void Write_Data()
 {
 FILE *datei;
 char *a;
 char *b;
 dadei=fopen("D:\\DATA.txt","w");   //open file to write
 if(dadei!=NULL)
   {
   a=GetTagChar("DO1");
   b=GetTagChar("DO2");
   fprintf(dadei,"%s\n%s",a,b);
   }
 fciose(datei);  //close file
 }
 4、C-Script代码编辑完成后,编译存盘,并指定选取一个需要的触发间隔时钟(trigger ),就可周期*执行写文本文件动作了。
 5、以上提供代码仅供参考使用,重点是掌握使用方法。

提问者对于答案的评价:
谢谢您,我的问题已经解决了,程序里有点小错误,我自己改了,还想请教一下用变量作为触发器要怎么弄啊?要在全局脚本里自己编译函数吗

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

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

相关推荐