wincc报表到excel

本人做了个wincc的报表,使用的copy的别人的脚本,把变量输出到txt文件还可以。现在想把变量输出到excel中,请各位看一下下面的这段脚本该如何修改?脚本中的一段如下(在定义的10点42分把两个变量的值写到名字是report的txt记事本中)
if(hour_int==10&&minute_int==42)
{
ml1=GetTagFloat(

问题补充:
本人做了个wincc的报表,使用的copy的别人的脚本,把变量输出到txt文件还可以。现在想把变量输出到excel中,请各位看一下下面的这段脚本该如何修改?脚本中的一段如下(在定义的10点42分把两个变量的值写到名字是report的txt记事本中)
if(hour_int==10&&minute_int==42)
{
ml1=GetTagFloat("1PDC_ML_ACC");
ml2=GetTagFloat("2PDC_ML_ACC");

pFile=fopen("e:\\report.txt","a+");
fprintf(pFile,"\n%04dÄê%02dÔÂ%02dÈÕ%02d:%02d:%02d\t",sysTime.wYear,sysTime.wMonth,sysTime.wDay,sysTime.wHour,sysTime.wMinute,sysTime.wSecond);
fprintf(pFile,"%f\t     ",ml1);
fprintf(pFile,"%f\t",ml2);

fclose(pFile); 
SetTagFloat("1PDC_ML_ACC",0);
SetTagFloat("2PDC_ML_ACC",0);
现在我想把变量输出到excel中,请问该如何修改这段脚本?如果能输出到excel的话,如何定义两个变量写到excel中的哪行哪列呢?非常感谢!!

最佳答案

这是我做的vb读写excel的脚本做在一个按钮里面的,你可以修改一下就用了:
Sub OnClick(ByVal Item)                                     
Dim fso,myfile
Set fso = CreateObject("scripting.FileSystemObject")
Set MyFile = fso.GetFile("d:\\data.xlsx")
Dim ObjExcelApp
Set objExcelApp = CreateObject("Excel.Application")
'objExcelApp.Visible = True
objExcelApp.Workbooks.Open MyFile
'上面的程序段是为了打开d盘excel文件
Dim aa_data
objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue = HMIRuntime.Tags("aa").read
Dim i,j
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>1.0 Then
i=2
j=6
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.8 And  objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<1.0 Then
i=7
j=11
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue>0.6 And  objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.8 Then
i=12
j=16
End If
If objExcelApp.worksheets ("sheet1").Cells(2, 9).VAlue<0.6Then
i=17
j=21
End If
'判断数据保存位置
Do While i<j
objExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =objExcelApp.worksheets ("sheet1").Cells(i+1, 1).VAlue
objExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue = objExcelApp.worksheets ("sheet1").Cells(i+1, 2).VAlue
i=i+1 
Loop 
objExcelApp.worksheets ("sheet1").Cells(i, 1).VAlue =HMIRuntime.Tags("yy").read
objExcelApp.worksheets ("sheet1").Cells(i, 2).VAlue =HMIRuntime.Tags("xx").read

'写数据到excel表格
objExcelApp.ActiveWorkbook.Save
'保存表格
Dim cons_data,ax1_data,ax2_data,ax3_data,ax4_data,ax5_data,ax6_data
Set cons_data=HMIRuntime.Tags("cons")
Set ax1_data=HMIRuntime.Tags("ax1")
Set ax2_data=HMIRuntime.Tags("ax2")
Set ax3_data=HMIRuntime.Tags("ax3")
Set ax4_data=HMIRuntime.Tags("ax4")
Set ax5_data=HMIRuntime.Tags("ax5")
Set ax6_data=HMIRuntime.Tags("ax6")


cons_data.Value = objExcelApp.worksheets ("sheet1").Cells(23,7).value
ax1_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 6).value
ax2_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 5).value
ax3_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 4).value
ax4_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 3).value
ax5_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 2).value
ax6_data.Value = objExcelApp.worksheets ("sheet1").Cells(23, 1).value
'上面的作用是将Excel表格中的数据读到wincc,存到临时变量里面
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set ObjEXceLapp = Nothing
'到这里为止,关闭刚才打开的excel程序了
cons_data.Write 
ax1_data.Write 
ax2_data.Write 
ax3_data.Write 
ax4_data.Write 
ax5_data.Write 
ax6_data.Write 
'最后是把读到的excel值从临时变量中写入它对应的wincc变量中


End Sub

提问者对于答案的评价:
谢谢

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

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

相关推荐

  • 怎样在WINCC上实现数据仿真?

    比如我想实现温度数据的变量从0递增到100,或者是其它的变化规律, 怎么实现? 问题补充:不是使用WinCC自带的变量模拟器 最佳答案 有以下几种方法: 1、将…

    SIMATIC WinCC 2019年6月11日
  • WINCC VBS帮助文件中文版

    求Wincc帮助文件里关于VBS的 附图 图片说明:    最佳答案 你可以百度《vbs语言参考》。https://www.jb51.net/shou…

    2020年11月1日
  • 数据格式

    PLC中定义个FC,共31个二进制点,对应地址:M120~M123.6(双字差一位M123.7),再在WinCC中定义个无符号的32位数:地址MD120,连接画面上的IO域,在PL…

    SIMATIC WinCC 2019年6月11日
  • Wincc如何获取通过RS485采集到的数据

    公司最近搞了个什么数据采集模块来采集温度信号,用的是RS485通讯协议。偶想问哈WINCC怎么利用OPC获取到通过RS485采集到的数据哟。最好详细点哈,我脑壳打铁。呵呵,谢谢! …

    SIMATIC WinCC 2019年6月11日
  • 数据库软件的作用及选择

    请教各位老师:1、比如说水厂项目,上位机采用WINCC。是否还需要再另行购买数据库软件?2、如果需要再另行购买数据库软件,数据库软件怎么选?谢谢。 钻石用户推荐最佳答案 不需要另外…

    SIMATIC WinCC 2021年7月5日
  • GE Fanuc与s7-300或Wincc通讯

    现有一个项目需要改造,原系统全是用的GE产品,现在要在原基础上扩充改造。曾问过Siemens和GE的技术支持,都说自己支持常见的Profibus-DP、Ethernet,但是两家的…

    SIMATIC WinCC 2019年6月11日
  • WINCC界面按钮操作

    如何按钮按钮权限,我使用的TP-178MICRO触摸屏,我的同事在进入下一个页面时,设置了权限,也不知道秘密口令,我想删除用户权限,不需要秘密口令就进入下一个页面,如何操作,望执教…

    SIMATIC WinCC 2019年6月11日
  • VB编程求教

    由于西门子组态软件WINCC中经常用到VB等编程,本人想学习,不知有没这方面的网站或QQ群或别的什么资料之类的?谢谢了。 问题补充:我想在碰到弄不懂的地方可以找个老师咨询一下。 最…

    SIMATIC WinCC 2019年6月11日
  • 将WINCC通过TCP/IP收到的DB数据,转到OPC通讯下,通过OPC上传给JAVA使用

    将WINCC通过TCP/IP收到的DB数据,转到OPC通讯下,通过OPC上传给JAVA使用,这个怎么使用?另外,在同一台服务器上,怎么做WINCC与JAVA软件的OPC通讯 问题补…

    SIMATIC WinCC 2019年6月11日
  • wincc安装重启计算机

    大家好,我的wincc安装怎么老让我重启计算机啊?怎么回事啊,以前安装没出现这种情况啊?应该怎么办啊? 问题补充:能告诉我为什么要删除那个东西吗? 最佳答案 开始–运行–输入r…

    SIMATIC WinCC 2019年6月11日