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