|
在做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程序中实现到期提醒的一个小功能的实现步骤, 任何到期提醒都可以参考此样例实现,还是挺实用的,顶多根据项目实际情况稍微调整就能用得上。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |