回复:TP1200屏幕初始化数据记录

已锁定

学到怀疑人生

  • 帖子

    10
  • 精华

    0
  • 被关注

    0

论坛等级:游民

注册时间:2021-11-24

普通 普通 如何晋级?

发布于 2022-03-21 10:07:30

3楼

展开查看
以下是引用学到怀疑人生在2022-03-18 08:38:30的发言 >2楼

感谢回复,我查看了手册和链接1里面的说明,80026是OpenAllLogs的正常输出事件。

CloseAllLogs:函数成功执行完成,将产生编号为80019的系统报警

ArchiveLogFile:函数成功执行完成,将产生编号为80048的系统报警

OpenAllLogs: 函数成功执行完成,将产生编号为80026的系统报警

所以哪个函数可以输出80028这个记录初始化开始事件了?或者说有初始化函数么?


以下是引用RENHQ在2022-03-17 18:53:16的发言 >1楼:80026 初始化所有日...

引用1楼详细内容:

80026 初始化所有日志后,输出该报警。从此时起将值写入日志。在此时间结束之前,不会将任何条目写入日志,而与 WinCC Runtime 的激活状态无关。

80028 报警用来回传状态信息,指示当前正在初始化日志。在输出报警 80026 前不会记录任何值


手册上说这个是初始化日志的功能

本意是想使用初始化函数来判断U盘是否正常,找了好几天没有找到相关的函数。

最近用了一个笨方法来解决,触摸屏每次启动与PLC连接成功会产生编号140000事件,在这个事件到达里面添加CloseAllLogs,如果U盘正常则会产生80019事件;如果U盘不正常会产生80015事件报警,在80015事件到达里面添加一个变量来用于报错。

同时这里我需要间隔性的拔掉U盘去归档,我参考了二代精简HMI数据记录U盘如何插拔,才能保证数据记录的延续性,在触摸屏上放置了Start和Stop两个按钮。

Stop功能简单只需依次执行StopLogging和CloseAllLogs函数即可。

Start相对复杂点,因为涉及U盘检测,需要在StartAllLogs和StartLogging中间判断U是否正常。正常来说OpenAllLogs函数成功执行完成,将产生编号为80026的系统报警,所以在这个事件到达下面添加变量置位和StartLogging。如果执行成功则开始记录,如果未成功则变量未置位,利用这个变量去报警。变量报警的同时需要CloseAllLogs,这样下次Start才能正常执行StartAllLogs。

大概路线已经明确,但是实际执行时,发现StartAllLogs这个函数执行速度较慢,没有执行完就CloseAllLogs了。本来用脚本做个延迟,等待若干秒后判断变量是否置位,这里借鉴在 WinCC flexible 中如何使用 VBS 脚本实现等待功能(延时)。但是在网页提示中写道,注意只要脚本在延时循环中所有组态的脚本都会被中断。在屏幕运行中,StartAllLogs函数被中断了,做了个寂寞。最后只能借道PLC延迟来实现,StartAllLogs运行若干秒后,判断变量是否置位来确认U盘。

耗费好几天,实现了触摸屏的数据记录启动停止和U盘检测功能,抛砖引玉,看看大家有没有别的思路来实现。(PS:触摸屏做数采真的拉)



评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32566条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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