wincc按钮C语言(fp=fopen)(w+b)(w+t)(r+w)请教?

请教:下面两个按钮属性含义?先谢谢!
下面的C语句其中:
“T_RECORD_1","day_1","time_hour_1","time_min_1","time_sec_1","T_CODE_1","T_VALVE_1",
共记100条(因为字数限制没有写全)

《数据保存》按钮鼠标动作

#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static  int recode=101;
float a[700];
static  float  v_record=0;
char *aa[700]={
"T_RECORD_1","day_1","time_hour_1","time_min_1","time_sec_1","T_CODE_1","T_VALVE_1",
};
int i;
int  record;
time_t t;
struct tm tblock;
FILE  *fp;
SetTagBit("ad1a1_1",1);
while(i<700)
   {    a[i]=GetTagFloat(aa[i]);     i++;      }  
fp = fopen("D:\\thj.txt","w+b");
if (fp==NULL) 
{fclose(fp);
return ;}
for(i=0;i<700;i++)
   { if(fwrite(&a[i],sizeof(float),1,fp)!=1)
       {fclose(fp);
          return ;
        }           
    }
fclose(fp);
fp = fopen("D:\\thj.bak","w+t");
for(i=0;i<700;i++)
fprintf(fp,"%f,",a[i]);
fclose(fp);
SetTagBit("ad1a1_1",0); 
return ;
}

《数据输入》按钮鼠标动作
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static  int recode=101;
float a[700];
static  float  v_record=0;
char *aa[700]={
"T_RECORD_1","day_1","time_hour_1","time_min_1","time_sec_1","T_CODE_1","T_VALVE_1",
};
int i;
int  record;
time_t t;
struct tm tblock;
FILE  *fp; 
SetTagBit("ad1a2_1",1); 
 fp = fopen("d:\\thj.txt","r+w");
if (fp==NULL) 
{
fclose(fp);
return;
}
   for(i=0;i<700;i++)
       { fread(&a[i],sizeof(float),1,fp);
       SetTagFloat(aa[i],a[i]);         }
fclose(fp);
SetTagBit("ad1a2_1",0); 
return ;
}

最佳答案

数据保存按钮
把700个浮点数变量aa[i]的数据保存到文本文件D:\\thj.txt中,同时保存个D:\\thj.bak备份
数据输入按钮
把文本文件D:\\thj.txt的记录取出并写的变量浮点数变量aa[i]中(700个数据)

说白了数据配方的保存和取出功能

提问者对于答案的评价:
您的提示,我明白了,问题解决了,谢谢

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

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

相关推荐

  • 怎么样才能看到WINCC操作员机的画面

    单位有两个DCS系统,一个是DCS->交换机->WINCC5.1服务器->交换机->WINCC5.1操作员机, 另外一个是DCS->交换机-…

    SIMATIC WinCC 2017年11月6日
  • Wincc flexible问题

    Siemens  Automation在那个文件夹里,怎样安装? 最佳答案 一般在CD2文件夹里面, flexible 2008\flexi…

    SIMATIC WinCC 2019年6月11日
  • 利用VBA脚本通过OPC DA 访问Winc中MyOPCGroup_DataChange时间戳的问题

    利用VBA脚本通过OPC DA 访问Winc,使用MyOPCGroup_DataChange:Private Sub MyOPCGroup_…

    SIMATIC WinCC 2017年8月24日
  • SIAMTIC MANAGER 无法归档

    小弟在wincc中增加了一些工艺流程图,保存后,运行没有问题,就用simatic manager进行归档,打开归档后的流程图发现增加的部分没有,和增加前的流程图一样。不知…

    SIMATIC WinCC 2017年12月2日
  • 关于触发器

    请问触发中:标准周期,    触发器:“用户周期5”      周期:“用户周期…

    SIMATIC WinCC 2019年6月11日
  • WinCC中遇到的问题

    2.SQL语句:Tag,R,1,’2009-03-12 13:00:00.000′,’0000-00-00 00:10:00…

    SIMATIC WinCC 2019年6月11日
  • vbs脚本

    wincc 中2个字符串变量如:(A变量和B变量),当第一次A变量和B变量不等于的时候,把A变量写入D:/dd.xls中的第一行并显示日期时间保存记录,第二次不相等的时候…

    SIMATIC WinCC 2017年6月11日
  • WINCC图形编辑问题

    先控制系统中有一个状态显示,现重新制作了一个,想把原来的覆盖,该怎么实现。试过置于顶层,无法实现,请指教 最佳答案 原来的状态显示 可否有属性设置为显示/隐藏呢?再或,画…

    SIMATIC WinCC 2021年7月5日
  • PC-ACCESS兼容WIN7

    系统购买的电脑安装win7系统,打算用PC-ACCESS实现winccc 7.0 sp3和装有CP241卡的S7-200系列PLC(两套)通信,想问,现在有支持…

    SIMATIC WinCC 2018年12月5日
  • 如何在我需要的时刻保存数据?

    要求在几个不确定的时间内对两个数据进行保存,既有两个变量,我需要在某些时刻的值保存下来,譬如当我按下一个按钮时保存当前值,下一次再按一下时再保存一次新值,最后要做成一个表,可以查看…

    SIMATIC WinCC 2019年6月11日