技术论坛

 WINCC读写记事本创建工艺配方全局脚本源码

返回主题列表
作者 主题
kwg007
游侠

经验值:438
发帖数:187
精华帖:2
楼主    2005-09-12 15:27:11
主题:WINCC读写记事本创建工艺配方全局脚本源码 精华帖 
在一工程为创建不同工艺配方所做的全局脚本,请各位指教:

void fjgy_save()//将数据写到记事本中
{
FILE*fp;
int i;
int a;
int xx[27];
float yy[85];
char ch[40];
char ch1[40];
char zz[9][40];

sprintf(ch,"fjgy%s.txt",GetTagChar("发酵工艺名称")); //返回类型:char*

remove(ch);
fp=fopen(ch,"wb");
{
for(i=1;i<10;i++)
{
sprintf(ch1,"设定检测时间_%d",i);
a=i-1;
xx[a]=GetTagWord(ch1);

sprintf(ch1,"温度参考点_%d",i);
a=i+8;
xx[a]=GetTagWord(ch1);

sprintf(ch1,"1#罐段时间设定_%d",i);
a=i+17;
xx[a]=GetTagWord(ch1);

sprintf(ch1,"阀最大输出_%d",i);
a=i-1;
yy[a]=GetTagFloat(ch1);

sprintf(ch1,"主控死区_%d",i);
a=i+8;
yy[a]=GetTagFloat(ch1);


sprintf(ch1,"底温控制偏差_%d",i);
a=i+17;
yy[a]=GetTagFloat(ch1);

sprintf(ch1,"阀1比例_%d",i);
a=i+26;
yy[a]=GetTagFloat(ch1);

sprintf(ch1,"阀2比例_%d",i);
a=i+35;
yy[a]=GetTagFloat(ch1);


sprintf(ch1,"1#罐段温度设定_%d",i);
a=i+44;
yy[a]=GetTagFloat(ch1);


sprintf(ch1,"温控提前量_%d",i);
a=i+53;
yy[a]=GetTagFloat(ch1);


sprintf(ch1,"压力设定_%d",i);
a=i+62;
yy[a]=GetTagFloat(ch1);

sprintf(ch1,"压力偏差_%d",i);
a=i+71;
yy[a]=GetTagFloat(ch1);


sprintf(ch1,"工艺段%d参数名",i);
a=i-1;
strcpy(zz[a],GetTagChar(ch1));


}
yy[81]=GetTagFloat("1#罐段温度设定_10");
yy[82]=GetTagFloat("P_1");
yy[83]=GetTagFloat("I_1");
yy[84]=GetTagFloat("D_1");

fwrite(xx,sizeof(int),27,fp);
fwrite(yy,sizeof(float),85,fp);
fwrite(zz,40,9,fp);
fclose(fp);
}




void fjgy_upload()//从记事本中读取
{
FILE*fp;
int i;
int a;
int xx[27];
float yy[85];
char zz[9][40];
char ch[40];
char ch1[40];

sprintf(ch,"fjgy%s.txt",GetTagChar("发酵工艺名称")); //返回类型:char*

fp=fopen(ch,"rb");
{
fseek(fp,0L,SEEK_SET);
fread(xx,sizeof(int),27,fp);
fread(yy,sizeof(float),85,fp);
fread(zz,40,9,fp);


for(i=1;i<10;i++)
{

sprintf(ch1,"设定检测时间_%d",i);
a=i-1;
SetTagWord(ch1,xx[a]);

sprintf(ch1,"温度参考点_%d",i);
a=i+8;
SetTagWord(ch1,xx[a]);

sprintf(ch1,"1#罐段时间设定_%d",i);
a=i+17;
SetTagWord(ch1,xx[a]);



sprintf(ch1,"阀最大输出_%d",i);
a=i-1;
SetTagFloat(ch1,yy[a]);



sprintf(ch1,"主控死区_%d",i);
a=i+8;
SetTagFloat(ch1,yy[a]);


sprintf(ch1,"底温控制偏差_%d",i);
a=i+17;
SetTagFloat(ch1,yy[a]);

sprintf(ch1,"阀1比例_%d",i);
a=i+26;
SetTagFloat(ch1,yy[a]);


sprintf(ch1,"阀2比例_%d",i);
a=i+35;
SetTagFloat(ch1,yy[a]);


sprintf(ch1,"1#罐段温度设定_%d",i);
a=i+44;
SetTagFloat(ch1,yy[a]);


sprintf(ch1,"温控提前量_%d",i);
a=i+53;
SetTagFloat(ch1,yy[a]);


sprintf(ch1,"压力设定_%d",i);
a=i+62;
SetTagFloat(ch1,yy[a]);


sprintf(ch1,"压力偏差_%d",i);
a=i+71;
SetTagFloat(ch1,yy[a]);

sprintf(ch1,"工艺段%d参数名",i);
a=i-1;
SetTagChar(ch1,zz[a]);


}
SetTagFloat("1#罐段温度设定_10",yy[81]);
SetTagFloat("P_1",yy[82]);
SetTagFloat("I_1",yy[83]);
SetTagFloat("D_1",yy[84]);

fclose(fp);



}
}
永远Siemens
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。