你是否曾在网站上看到过那些实时显示薪资的计算器,看着数字一秒一秒跳动,直观感受自己的时间价值?这种设计思路其实完全可以移植到工业自动化领域!今天,我们就来探讨如何在威纶通人机界面(HMI)上制作一个功能强大的时薪计算页面。
如下图所示,就是某网站上的时薪计时器。
网址:https://salary.gcc.ac.cn/claude_v2.html
一、思路逻辑
时薪计算核心公式,如下所示:
日薪 = 月薪 / 工作天数
时薪 = 日薪 / 每日工作时长
秒薪 = 时薪 / 3600
实时薪资 = 已工作秒数 × 秒薪
二、HMI设计
1、月薪输入页面
2、实时计算画面
三、实现效果
实现效果如下图所示:
月薪不太美观的,慎用!!!!!四、宏指令程序在本示例中,小编编写了三个宏指令,分别是启动,主程序和复位,如下图所示:
1、start
macro_command main()bool ON = true,OFF = falseSetData(ON, "Local HMI", LB, 1, 1)//设定已经启动SetData(OFF, "Local HMI", LB, 2, 1)end macro_command
2、main
//R2026macro_command main()short i = 0, j = 0int inPutincomeint Totalincome,Hourincome,HourData,Minincome,Secincomeshort HourTime,Mintime,Sectimebool bStart,bPausebool ON = true,OFF = falseGetData(bStart, "Local HMI", LB, 1, 1)//获取是否启动GetData(bPause, "Local HMI", LB, 2, 1)//获取是否启动GetData(inPutincome, "Local HMI", RW, 0, 1)//获取是否启动//数据读回GetData(Totalincome, "Local HMI", LW, 0, 1)GetData(Hourincome, "Local HMI", LW, 2, 1)GetData(Minincome, "Local HMI", LW, 4, 1)GetData(Secincome, "Local HMI", LW, 6, 1)GetData(Sectime, "Local HMI", LW, 10, 1)GetData(Mintime, "Local HMI", LW, 12, 1)GetData(HourTime, "Local HMI", LW, 14, 1)if bStart and not bPause then//计算每个月的总小时数HourData = 22 * 8Hourincome = inPutincome * 100 / HourDataMinincome = Hourincome / 60Secincome = Hourincome / 36Totalincome = Secincome + TotalincomeSecincome = Secincome / 10Sectime = Sectime + 1if Sectime >= 60 thenSectime = 0Mintime = Mintime + 1end ifif Mintime >= 60 thenHourTime = HourTime + 1Mintime = 0end ifSetData(Totalincome, "Local HMI", LW, 0, 1)SetData(Hourincome, "Local HMI", LW, 2, 1)SetData(Minincome, "Local HMI", LW, 4, 1)SetData(Secincome, "Local HMI", LW, 6, 1)SetData(Sectime, "Local HMI", LW, 10, 1)SetData(Mintime, "Local HMI", LW, 12, 1)SetData(HourTime, "Local HMI", LW, 14, 1)end ifend macro_command
3、reset
macro_command main()bool OFF = false,ON = trueint Empty = 0SetData(ON, "Local HMI", LB, 2, 1)SetData(Empty, "Local HMI", LW, 0, 1)SetData(Empty, "Local HMI", LW, 2, 1)SetData(Empty, "Local HMI", LW, 4, 1)SetData(Empty, "Local HMI", LW, 6, 1)SetData(Empty, "Local HMI", LW, 10, 1)SetData(Empty, "Local HMI", LW, 12, 1)SetData(Empty, "Local HMI", LW, 14, 1)DELAY(800)SetData(OFF, "Local HMI", LB, 1, 1)end macro_command
看到这里,你也快快去尝试吧~
结语
将网页时薪计算器的设计理念移植到威纶通HMI上,不仅是一次技术实践,更是工业界面设计思路的创新。这种跨界融合让冰冷的工业设备拥有了更人性化的交互体验,让每一位操作人员都能直观感受自己的时间价值。
威纶通HMI的强大功能和易用性为这类创新应用提供了坚实基础。无论你是HMI开发新手还是经验丰富的工程师,都可以尝试在这个“工业智能画布”上创作出更多实用、有趣的应用。
时间看得见,价值算得清——这就是工业数字化带给我们的全新体验。
249
