SCADA|KingSCADA中如何实现到期提醒?

雅轩聊科技 2025-01-17 20:16:45

哈喽,你好,我是雷工!

在做SCADA项目的过程中经常会遇到需要到期提醒的情况,

比如未结尾款,做一个到期提醒;

设备管理,对该维保的设备做到期提醒,提醒进行维保;

在KingSCADA系统中该如何实现这个小功能呢?

接下来测试下该功能,并记录如下:

01 效果演示

实现功能,当维保的时间超过12个月时,弹出提醒:“注意:设备维保到期,请及时维保!!!”。

演示通过修改维保日期,查看弹出提示状态。

02 实现思路

①每次维保后会更新记录维保的日期;

②根据维保日期与当前系统日期作对比;

③当差值超过设定时间时,这里演示是超过12个月时会提醒;

03 实现步骤

3.1、创建点位

创建三个点位,分别用于设置维保日期,目前距上次维保间隔几个月,已到期点位用于到时间后触发维保提醒。

3.2、新建画面

新建一个Main界面,添加文本标签,分别标识显示当前系统的日期,维保日期,已维保时常几个月,

3.3、当前系统日期

当前系统日期添加字符串输出,以“2025-1-17”的格式显示,当前系统日期;

添加表达式如下:

\\local\$Year+"-"+\\local\$Month+"-"+\\local\$Day

3.4、维保日期

维保日期连接字符串变量【上次维保日期】动画编辑添加字符串输出,字符串输入。

3.5、维保时长

维保时长连接整数类型的变量【间隔月份】,便于明显的演示当前距上次维保间隔几个月了。

3.6、维保提示

添加一个图片,添加文本用于,当超过规定时长时弹出提醒操作人员该维保了。

3.7、脚本

在自定义脚本中,新建一个条件事件脚本。

为了便于演示这里设置的间隔10秒运行一次,条件为:

\\local\$Second==30||\\local\$Second==0||\\local\$Second==10||\\local\$Second==20||\\local\$Second==40||\\local\$Second==50

实际项目中可以使用小时的某个点来触发,比如7点,每天的7点运行一次脚本,判断是否该运维了。

这里在【进入】中编写判断脚本,脚本如下:

//获取当前系统的日期string Date2=GetSystemtimeDateString();//比较上次维保日期与当前系统日期\\local\间隔月份=DateDiff ("M",\\local\上次维保日期,Date2);//如果日期相差大于12个月则报警if(\\local\间隔月份>12){\\local\已到期=1;}else{\\local\已到期=0;}Trace("a="+\\local\间隔月份);Trace("Date2="+Date2);

3.8、编译启动

然后编译,启动,就可以看到演示中的效果了。

04 后记

以上为在KingSCADA程序中实现到期提醒的一个小功能的实现步骤,

任何到期提醒都可以参考此样例实现,还是挺实用的,顶多根据项目实际情况稍微调整就能用得上。

0 阅读:1
雅轩聊科技

雅轩聊科技

感谢大家的关注