将数据存储在生成的EXCEL表中

按照例子我可以实现:
1、创建一个excel表,将变量归档的数据写进去
2、创建一个与IO域中输入日期为名称的excel表
     但是我无法将上面两个合起来,及点击一次按钮,创建一个与当前IO域值为名称的excel表,并且将数据写在这个表中。
     我现在只能创建表,然后表里面是空的。
     下面是代码


Sub OnLButtonDown(ByVal Item, ByVal Flags, ByVal x, ByVal y)                                            
Dim xlsApp
Dim sDsn
Dim sSer
Dim sCon
Dim sSql
Dim conn
Dim oRs
Dim oCom
Dim sPro
Dim m, n, s, x_f, x_n, l
Dim a, b, c
Dim TimeFrom, TimeTo
Dim patch,Day


'''''''''''''选择读取归档变量的时间区间

Set TimeFrom = HMIRuntime.Tags("DayFrom")
TimeFrom.Read

Set TimeTo = HMIRuntime.Tags("DayTo")
TimeTo.Read 


''''''''''''''创建excel表路径
Day = HMIRuntime.Tags("Day").Read

patch = "e:\" & Day & ".xls"


''''''''''''''例子内容

sPro = "Provider=WinCCOLEDBProvider.1;"
sDsn = "Catalog=CC_ceepc_cs_14_01_15_06_41_10R;"
sSer = "Data Source=CEEPC-33\WINCC"
sCon = sPro + sDsn + sSer

sSql = "Tag:R,('ProcessValueArchive\氨气流量';'ProcessValueArchive\频率反馈1';'ProcessValueArchive\频率反馈2';'ProcessValueArchive\出口气压力';'ProcessValueArchive\出口水压力';'ProcessValueArchive\储罐温度';'ProcessValueArchive\储罐液位'),'" + TimeFrom.Value + "','" + TimeTo.Value + "'" 

MsgBox "Open with:" & vbCr & sCon & vbCr & sSql & vbCr

Set conn = CreateObject("ADODB.Connection")
conn.ConnectionString = sCon
conn.CursorLocation = 3
conn.Open
Set oRs = CreateObject("ADODB.Recordset")
Set oCom = CreateObject("ADODB.Command")
oCom.CommandType = 1
Set oCom.ActiveConnection = conn
oCom.CommandText = sSql
Set oRs = oCom.Execute
m = oRs.Fields.Count
x_f = oRs.RecordCount/7
Set xlsApp = CreateObject("Excel.Application")
'xlsApp.DisplayAlerts = True
xlsApp.Visible = True
'xlsApp.Workbooks.Open "C:\Users\Auser\Desktop\ss1.xls"

'''''''''''创建新excel表    我最担心这里有问题
xlsApp.Workbooks.Add
xlsApp.Save patch
xlsApp.Workbooks.Open patch
'xlsApp.Workbooks.Open "C:\Users\Auser\Desktop\ss1.xls"


'''''''''''''''''例子内容
If (m > 0) Then
oRs.MoveFirst
n = 0
l = 1

xlsApp.Cells(1, 1).Value = "时间"
xlsApp.Cells(1, 2).Value = "氨水流量 m3/h"
xlsApp.Cells(1, 3).Value = "频率反馈1 Hz"
xlsApp.Cells(1, 4).Value = "频率反馈2 Hz"
xlsApp.Cells(1, 5).Value = "出口气压 Mpa"
xlsApp.Cells(1, 6).Value = "出口水压 Mpa"
xlsApp.Cells(1, 7).Value = "储罐液位 m"
xlsApp.Cells(1, 8).Value = "储罐温度 ℃"

Do While Not oRs.EOF

x_n = n Mod x_f
l = Int(n / x_f)

 xlsApp.Cells(x_n+2, 1).Value = oRs(1) '时间
 xlsApp.Cells(x_n+2, (l+2)).Value = oRs(2)       '值
 n = n + 1
oRs.MoveNext
Loop


'''''''''''''''''例子内容  这里是否和上面创建表的语句有冲突
xlsApp.ActiveWorkBook.Save
xlsApp.Workbooks.Close
xlsApp.Quit
Set xlsApp = Nothing
End If
oRs.Close
Set oRs = Nothing
conn.Close
Set conn = Nothing
End Sub

最佳答案

第一:请先尝试查询一个变量的值。
第二:你要保证你的时间部分的值是正确的,也就是说做个消息框看看弹出的时间是否正确,是否真的读到了你想要的时间。
第三:wincc的变量归档的时间格式不是我们的北京时间,我没有看到你的时间转换代码,而这个代码是必须的。
第四:你创建了两个excel表格,我不知道这有什么作用,通常是创建一个模板,然后把数据写进去按照你想要的名字另存即可。
第五:在你操作电子表格的时候需要指定你要操作哪一个sheet,我再代码里没有找到。
还有两点就是不太重要的,其一你的代码写的没有顺序,应该把相同功能的代码尽量放在一起,方便查找问题。其二,我怀疑你这个代码是从技术文档上找的,不要轻易相信,因为技术文档也有可能出错。
以上内容有可能有疏漏,说错了请见谅。

VBS代码读取wincc变量归档,每天保存一个电子表格。利用控件查询显示所需日期的电子表格内容,并支持在wincc界面编辑报表,更改数据等等。每天固定24条数据,如果相应小时点数没有数据,则用#填充。
请参考优酷视频
 http://v.youku.com/v_show/id_XNzA2MjY0MzEy.html
 QQ1305567706  小董

提问者对于答案的评价:
谢谢,先不弄了,忙过这阵子再说

最佳答案作者回复:
好的   有需要随时联系qq2606352062即可

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年11月18日 上午12:05
下一篇 2017年11月18日 上午12:05

相关推荐

  • WINCC 软件问题

    各位学长,请问WINCC的软件是否有免费的(不需要授权)。我问了几家PLC的代理公司。他们都说WINCC软件必须花钱买2万左右。有没有盗版的不要授权的啊?我想学学。其实只要可以用就…

    SIMATIC WinCC 2019年6月11日
  • FX3U以太网通讯

    请问WinCC支不支持三菱FX3U以太网通讯。 最佳答案 WinCC和三菱 PLC以太网通讯https://support.industry.siemens.com/cs…

    SIMATIC WinCC 2021年7月5日
  • wincc和触摸屏和plc1200

    wincc,触摸屏同时和plc以太网通讯,是不是把plc,触摸屏,电脑都插入交换机上就行了,当然设置上ip地址。有一个问题不明白,例如,在触摸屏上点一个按钮打开一个灯,然后在win…

    SIMATIC WinCC 2017年10月29日
  • 求简单wincc项目实例和S7程序

    我现在启动一个变频器,S7程序已经编好,里面就是4个变量,如,启动,频率设定,实际状态,和实际速度值,但是和wincc  具体怎么连接,还不是太熟悉,请各位老师…

    SIMATIC WinCC 2021年7月5日
  • SIMATIC_WinCC_Runtime_Professional_V13文件下载

    我下载了sp1版的,安装时提示需要V13,我就下载一个直接安装的补丁,就直接装上了,但是安装完成后不能仿真,求大神给个v13版的链接,急用!!是百度云盘的最好,若等SIEMENS的…

    SIMATIC WinCC 2017年5月31日
  • 在wincc中无法调用step7变量

    这两天才发现用wincc调用step7变量需要安装AS-OS插件,而我装的wincc没有安装这个插件,所以在wincc调用step7变量的时候,会弹出“数据输出错误”。不知道论坛的…

    SIMATIC WinCC 2019年6月11日
  • DTS数据转化

     1.P249页的第四步,组态数据传输,我想查看例如:Tag这个 变量 在某个时间段的报警消息,这个语句怎么写啊? 我用的6.0的版本,书上…

    SIMATIC WinCC 2019年6月11日
  • wincc6.0如何打开6.2项目

    请问有没有办法使wincc6.0打开6.2的项目?大家确定向下兼容一点补救办法也没有了么? 最佳答案 没有,你可以把6.2的图复制到6.0下其他的要重新做了。 提问者对于答案的评价…

    SIMATIC WinCC 2019年6月11日
  • wincc V7.3新建变量提示保存数据时发生错误?

    在用wincc V7.3创建变量时,系统提示错误,错误信息是:保存数据时发生错误,是什么原因造成的,求高手指导如何解决? 图片说明:    最佳答案 …

    2017年6月1日
  • 报表疑问解答

    两个问题1、WINCC生成的报表是按照时间保存的,我想在画面上做个查询,输入时间(日期),能自动打开对应名称的EXCEL文件2、每半个小时将画面上所显示的几个输入输出域的显示值写入…

    SIMATIC WinCC 2019年6月11日