有关威纶通weinview触摸屏HMI 定时器的那些事

最近在用威纶通HMI做上位机,主要涉及到时间控制问题,其中这个定时器的问题困扰了我两个星期。

我也是看了很多资料,再解决了自己遇到的问题,在这里分享给大家。

1 切换页面时 定时器自动重置

“发现威纶的计时器,当开始计时时,累加时间不断的增加,但是切换到别的窗口再切换回来时,已经计时的时间就被清了零了,然后又再从0往上计时,这样用起来相当不便,请问有知道原因的前辈没有?”

附件 1.jpg

我在工控网上找到了解决方案,这其实是局部变量还是全局变量的问题,如果把定时器放到公共界面04,就可以解决这个问题

附件 4.jpg

2  累加式定时器 无法重置   这个是系统自带的定时器,他的重置功能只能在定时器计满之后才可以重置,也就是已计时间和预设时间一样之后才可以重置,这很不方便,而且这个定时器在配合弹出窗口的时候会莫名其妙的自动触发,我折腾了一个星期都没有搞定。

说明书上可看到,这个重置必须在计满之后才可以。

于是我觉得自己用宏定义写一个定时器,在工控编程吧上找到了写好的demo,


macro_command main()
bool b=false
//启动按钮未按下,不计时
GetData(b, "Local HMI", LB, 0, 1)
if b==false then
return
end if
//1小时内秒数据循环递增
short nSecondS=0
GetData(nSecondS, "Local HMI", RW, 0, 1)
nSecondS = nSecondS+1
if nSecondS>=36000 then
nSecondS = 0
end if
SetData(nSecondS, "Local HMI", RW, 0, 1)
//
short nSecond=0,nMinute=0
//换算成秒。
nSeconds = nSeconds
//换算成分
nMinute  = nSeconds/60
//换算成秒
nSecond  = nSeconds%60
//显示分与秒
SetData(nMinute, "Local HMI", LW, 0, 1)
SetData(nSecond, "Local HMI", LW, 1, 1)
end macro_command

以上是自定义的timer宏定义,我再试验之后,发现了一个问题,这个定时器走的不准,每分钟竟然差了6秒,无法接受。

解决方案,把时间间隔直接改成1s,这样就解决了这个问题。

需要源码可以给我留邮箱。只做了一点微小的工作,谢谢大家。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
Weinview系统文件是一种用于HMI人机界面的操作系统文件。它提供了运行和管理HMI设备所需的功能和资源。 Weinview系统文件包括系统内核、驱动程序、配置文件、图形界面库、多媒体资源等。系统内核是整个操作系统的核心部分,负责管理硬件资源、任务调度和内存管理等。驱动程序是用于与外部设备进行通信和控制的软件模块,如通讯接口驱动程序、IO驱动程序等。配置文件用于设置和调整系统的各项参数和选项,如屏幕分辨率、数据库连接等。图形界面库是用于绘制和管理HMI界面元素的软件库,可以实现按钮、文本框、图表等界面控件的显示和操作。多媒体资源是用于显示和播放图像、声音、视频等多媒体内容的文件。 Weinview系统文件的作用是使HMI设备能够正常运行和提供人机交互功能。它们可以协调各个软硬件组件的工作,实现触摸屏操作、动画显示、数据采集和处理等功能。通过配置文件,可以根据实际需求进行设置和调整,例如界面布局、报警设置、通讯协议等。通过驱动程序,可以与各种外部设备进行通信和控制,如PLC、传感器、执行器等。 总之,Weinview系统文件是HMI设备的基础软件部分,通过它们可以实现HMI设备的功能和性能。它们的设计和部署需要根据具体应用的需求进行调整和配置,以达到最佳的用户体验和功能实现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值