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日 上午2:04
下一篇 2019年6月11日 上午2:04

相关推荐

  • 上位机到底用什么样的计算机和操作系统好?

    上位机到底用什么样的计算机(服务器还是普通PC)和操作系统(哪种操作系统)好? 最佳答案 安装什么样的操作系统跟你的电脑配置和使用软件有关系,如果电脑比较老,可能不支持现在的WIN…

    SIMATIC WinCC 2019年6月11日
  • 无法运行WINCC

    双击WINCC图标时,出现一个对话框“WINCCEXPLORER.EXE-无法找到入口” 无法定位程序输入点CcGetFirstLevelProviderByName&n…

    SIMATIC WinCC 2019年6月11日
  • wincc 全局脚本 更新问题

    这个是关于Wincc软件安装后使用的问题。我在画面上调用已经调试好的模快。运行Wincc;当我再次对这个模块进行修改的时候,比如在模块的第一条执行的地方加一条 Msgbo…

    SIMATIC WinCC 2019年6月11日
  • wincc按要求归档

    有一个过程变量我想按照要求来进行归档,我做实验设置了一个二进制变量,当这个变量为1时要求开始归档,变量为0时停止归档,wincc归档变量属性里我已把采集类型设为“周期可选择”之后,…

    SIMATIC WinCC 2019年6月11日
  • 急!microsoft message queuing v5.0安装错误

    提示:消息队列客户端安装失败!      无法启动MSMQ服务    &nbsp…

    SIMATIC WinCC 2019年6月11日
  • 如何使用VBS自定义函数

    在WINCC6.2中我想使用VBS来做一个自定义的函数,然后在画面上调用。想问下在那个地方做啊?是在"全局脚本"处编写程序吗?但是好像在VBS-Editor下面…

    SIMATIC WinCC 2019年6月11日
  • WINCC报警记录的持续时间怎么设置

    WINCC,报警记录最久能看多久之前的报警记录,在什么地方可以设置这个时间点? 问题补充:SG9大侠所说的是设定扫描周期,但是我还是不能知道报警记录能记录的总的时间跨度。或者说这个…

    SIMATIC WinCC 2019年6月11日
  • 变量记录数据导出

    有一个事件触发的变量记录,现在需要把变量记录导出EXCEL文件,能不能通过脚本实现啊? 问题补充:我要每秒钟导出一次而且数据有点多,“ 飞扬的雨滴”的方法,WINCC负荷…

    SIMATIC WinCC 2019年6月11日
  • 西门子触摸屏报警问题

    1、我制作了很多离散量报警,在选择报警类别时候,不知道选择那个,报警类别有错误、警告、系统。2、这三个报警类别有什么区别,用法上面有什么讲究呢? 最佳答案 看你的报警重要不重要,如…

    SIMATIC WinCC 2017年6月7日
  • WINCC7.4与ACCESS2.3复制后无法连接

    客户两台电脑,做好项目后复制另一台上,发现ACCESS连接PLC正常,WINCC也能找到200OPC SERVER,但是单击浏览服务器时无项目条目。求助大神,是哪里的问题…

    2021年7月5日