哈喽,你好啊,我是雷工!
在做SCADA项目时,难免需要显示日期星期时间,如何通过系统变量转换为客户要求的格式显示。
下面以“YYYY-MM-DD 星期* 时:分:秒”的格式为例,介绍如何实现任意格式显示。
(一)效果演示
以下为以“YYYY-MM-DD 星期* 时:分:秒”的格式显示日期,星期,时间的演示效果:
(二)实现思路
KingSCADA具有以下系统变量可以使用:
$Year:16位无符号整型,返回系统当前日期的年份。
$Month:16位无符号整型,返回1到12之间的整型,表示当前日期的月份。
$Day:16位无符号整型,返回1到31之间的整型,表示当前日期的日。
$DayofWeek:返回0-6之间的整数,表示当天是星期几,0表示星期天。
$Time:返回系统当前时间字符串,最长32个字符。
以上为本例应用到的系统变量,KingSCADA还有其他系统变量可供使用。
根据以上系统变量实现字符串的拼接可实现要求的格式显示。
(三)实现步骤
1、创建画面
在KingSCADA中的视图-画面中创建一个测试画面,在测试画面中添加文本显示标签。
2、文本设置
将添加的文本的Text属性设置为###。
3、创建页面变量
创建页面变量week,字符串类型,用来显示星期几的字符串。
4、页面脚本
在界面脚本,存在时,添加星期几的转换脚本。
脚本内容:
if(\\local\$DayofWeek==0){week="星期日";}
if(\\local\$DayofWeek==1){week="星期一";}
if(\\local\$DayofWeek==2){week="星期二";}
if(\\local\$DayofWeek==3){week="星期三";}
if(\\local\$DayofWeek==4){week="星期四";}
if(\\local\$DayofWeek==5){week="星期五";}
if(\\local\$DayofWeek==6){week="星期六";}
5、文本表达式
选中要显示的文本,添加字符串输出动画,在表达式中添加要显示的表达式。
表达式内容:
StrFromInt(\\local\$Year, 10)+"-"+StrFromInt(\\local\$Month, 10)+"-"+StrFromInt(\\local\$Day, 10)+" "+week+" "+\\local\$Time
6、测试运行
然后一路保存,然后点击运行按钮,查看运行效果,是否和要求格式一致。
(四)后记
以上为用KingSCADA实现要求格式的日期、星期、时间显示的小功能的样例,方法都是一样的,了解了其方法,无论客户要求用什么格式的展示,都能随时调整出想要的显示格式。
有用的到的小伙伴可以借鉴,有更好实现方式或更多应用问题欢迎留言或私信讨论。