WINCC脚本支持fwrite(),fread()指令吗

yewei[0].zisheding=GetTagFloat("sd_v0103a");
     yewei[0].gaobaoj=GetTagFloat("gb_v0103a");
     yewei[0].dibaoj=GetTagFloat("db_v0103a");
   if((GetTagWord("WCword5IN"))&&40)
      { yewei[0].zishoukg=1;}
    else
      {yewei[0].zishoukg=0;}

     yewei[1].zisheding=GetTagFloat("sd_v0104a");
     yewei[1].gaobaoj=GetTagFloat("gb_v0104a");
     yewei[1].dibaoj=GetTagFloat("db_v0104a");
   if((GetTagWord("WCword5IN"))&&100)
      { yewei[1].zishoukg=1;}
    else
      {yewei[1].zishoukg=0;}
    fp2=fopen("D:\\DATA\\baoj.txt","w+");
    if(fp2!=NULL)
     {  
     fwrite(yewei,sizeof(struct baojing),2,fp2);         //yewei end
      }
  我在FWRITE()指令后面加入调试语句测试,发现已经执行到这里,就是数据没有写到文件里,是否是WINCC不支持这个fwrite(),fread()指令.?

问题补充:
调试语句就是在fwrite();后面插入SETTAGFLOAT()显示其中一个标签变量来看看是否执行到这里,结果发现标签变量值改变正确,文件数据没有写入文件.
   采用2楼的测试了一下,还是一样的,数据没有写入到文件中(我直接打开看到文件里还是一片空白)

最佳答案

你使用SetTagWord,SetTagDWord看看

提问者对于答案的评价:
其实2个答案估计都是正确的,我原来程序也没有问题,是我自己搞错,fwrite(),fread()针对都是二进制文件,即使是*.TXT文件,也是按二进制文件来存储的,不能直接打开看内容的.我直接看文件大小发现数据已经写入.
   谢谢,一次写一条数据进去也可以.

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

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

相关推荐