哈喽,你好,我是雷工!
在做SCADA项目的过程中经常会遇到需要到期提醒的情况,
比如未结尾款,做一个到期提醒;
设备管理,对该维保的设备做到期提醒,提醒进行维保;
在KingSCADA系统中该如何实现这个小功能呢?
接下来测试下该功能,并记录如下:
01 效果演示实现功能,当维保的时间超过12个月时,弹出提醒:“注意:设备维保到期,请及时维保!!!”。
演示通过修改维保日期,查看弹出提示状态。

①每次维保后会更新记录维保的日期;
②根据维保日期与当前系统日期作对比;
③当差值超过设定时间时,这里演示是超过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程序中实现到期提醒的一个小功能的实现步骤,
任何到期提醒都可以参考此样例实现,还是挺实用的,顶多根据项目实际情况稍微调整就能用得上。