分享:用excel定期抄录wincc实时数据

已锁定

hnldzxl

  • 帖子

    65
  • 精华

    0
  • 被关注

    0

论坛等级:游侠

注册时间:2022-01-20

普通 普通 如何晋级?

分享:用excel定期抄录wincc实时数据

3906

2

2023-04-14 16:52:04

最近生产现场有一个这样的需求:操作人员需要定期抄录系统运行过程中多个特定数据的实时值,目前采用的是人工从WinCC上眼看笔抄。如此原始落后肯定不能忍,于是做了一个excel的值班记录表,通过OPC服务器获取在线数据并记录到表格中,见下图:


表格中,点击“手动记录”,记录一次实时值,不点击按钮,wincc数据变化并不会触发表格进行任何记录动作。点击“自动记录”,表格每小时记录一次实时值,每次读取的新值填写在表格的第一个空白行中。点击“停止记录”,表格退出自动记录。(表格中标黄部分实际使用时隐藏,操作人员不需要看到,未写入脚本中是为了方便修改需记录的参数)

按键的宏代码如下:

“自动记录”宏:

Sub run()

Dim stopF As String

stopF = GetSetting("ab", "cd", "ef", "")     

If stopF = "1" Then    

SaveSetting "ab", "cd", "ef", "False"

Exit Sub

End If

Sheet1.Manual

Application.OnTime Now() + TimeValue("1:" + "0:" + "0"), "run"

End Sub

“停止记录”宏:

Sub stp()

SaveSetting "ab", "cd", "ef", "1"

End Sub

说明:“自动记录”其实就是定时(1小时)反复调用“手动记录”,实现每1小时记录一次实时数据。“停止记录”用于中断反复调用。

“自动记录”宏和“停止记录”宏的关键之处在于用到了GetSetting 和SaveSetting。当时为了实现定时+循环+停止,用了很多方法,都不正常。这是参照老外的一段代码,用GetSetting 和SaveSetting就完全正常了。

“手动记录”宏的代码比较长,就不贴了,大家可参照wincc在线帮助或我以前的一个帖子:

 

我2004年在西门子论坛发了个《wincc和excel实现报表》的帖子,当时用的用户名是“zxl-net”,后来好多年没有登录过论坛,密码就忘记了,尝试用手机和邮箱找回密码都失败了,可能当时还不流行手机注册,而邮箱也不记得是哪一个了,且有些邮箱的密码也忘了。见下图:


链接是:https://www.ad.siemens.com.cn/club/bbs/post_one_floor.aspx?b_id=5&a_id=57928

(这种情况还有没有办法找回用户名和密码?)


分享:用excel定期抄录wincc实时数据 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32951条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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