工控编程吧
标题:
求教,威纶通触摸屏如何制作计时器?
[打印本页]
作者:
qq263946146
时间:
2019-11-17 20:43
标题:
求教,威纶通触摸屏如何制作计时器?
刚刚开始使用,请教各位大大,如何在屏上制作计时器 (不用EB8000中那个计时器元件),只是起到记录一个工作流程所用时间的作用,不与PLC连接。
按下计时键(切换开关),开始计时,再按下计时键,停止计时,计时的过程中可以清零。
请教各位大大,如何去制作?谢谢,界面如下:
(, 下载次数: 2)
上传
点击文件名下载附件
回答:
在威纶通触摸屏编程时,我们可以有多种方法来表示时间。
第一个就是 时间相关元件,
(, 下载次数: 1)
上传
点击文件名下载附件
第二个就是系统的时间相关寄存器。
(, 下载次数: 2)
上传
点击文件名下载附件
第三个就是宏指令定时触发功能。
相对来说宏指令来实现问题所提出的功能会简单些。
这里就编写一个例程来实现定时器功能。
例程界面如下图:
(, 下载次数: 1)
上传
点击文件名下载附件
例程是通过编写两个宏来时间计时器功能。
如上图,界面有一个切换按钮,控制地址为LB0.
点击启,开始计时,启动后,点击停,停止计时。
对应调用的宏为count,
宏代码如下:
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/10
//换算成分
nMinute = nSeconds/60
//换算成秒
nSecond = nSeconds%60
//显示分与秒
SetData(nMinute, "Local HMI", LW, 0, 1)
SetData(nSecond, "Local HMI", LW, 1, 1)
end macro_command
同样在宏编程界面里,也设置了一些调用条件:
(, 下载次数: 6)
上传
点击文件名下载附件
宏每隔100毫秒调用一次,LB0为OFF时禁止调用宏。
对应是另一个按钮为功能键,调用clear宏,清除计时时间。
宏代码如下:
macro_command main()
bool b=false
SetData(b, "Local HMI", LB, 0, 1)
short n=0
SetData(n, "Local HMI", RW, 0, 1)
SetData(n, "Local HMI", LW, 0, 1)
SetData(n, "Local HMI", LW, 1, 1)
end macro_command
两个宏内计时时间是通过配方寄存器RW0来累加。
实际中可以更换为普通寄存器来实现。
例程下载地址:
(, 下载次数: 1)
上传
点击文件名下载附件
这样就简单方便的实现的计时器的功能。
当然方法肯定是不止一种的,可以根据自己对触摸屏的熟悉来选择使用。
如果接触不久的话,也可以下载我录制的威纶通触摸屏视频教程101集为快速熟悉。
[weilun]1[/weilun]
[weixinlianxi]1[/weixinlianxi]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4