技术论坛

winccflexible的vbs脚本编程——以质保金到期提醒为例

作者 主题
至圣

经验值: 19408
发帖数: 2077
精华帖: 73
主题:【分享】winccflexible的vbs脚本编程——以质保金到期提醒为例
推荐帖


只看楼主 只看精华 楼主 2017-10-13 15:35:54
标签:
质保金这个话题,如果不是老板,可能真的不会太关心,如果老板提出质保金到期停机一类的要求,技术人员处理得不好,即便是超过了质保期,强制停机影响到客户的正常生产,还是会惹上官司的。
但是警告和提示是无碍于用户使用的,本例子就是定时弹出警告信息,并用语音提示用户。

本例子使用WCF Advanced版本,设备为PC,windows中文操作系统并含有语音合成引擎(有些深度、雨林木风、玫瑰花园什么的已经精简掉这个引擎了,不具有讲述人功能)。操作时,可设置“质保期到期时间”、“倒计时终止时间”,当前时间大于“质保期到期时间”时,启动警报,每分钟复述一次倒计时(也可以设为每天,这里设置每分钟是便于观察调试)

文本转语音测试.part01.rar

文本转语音测试.part02.rar



大道至简,知易行难
以下网友喜欢您的帖子:

  
重要声明:

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1430010&b_id=5&s_id=0&num=15

至圣

经验值: 19408
发帖数: 2077
精华帖: 73
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例
精华帖精华帖星级3级 推荐帖


只看楼主 只看精华 楼主 1楼 2017-10-13 16:48:25

Dim Text

If Now > SmartTags("DateTime_Set") Then
    SmartTags("倒计时警告")=True
    ResidueDecimal=SmartTags("FinalCountddown")-Now
    ResidueInt=Int(ResidueDecimal)
    SmartTags("DateTime_Current")=ResidueDecimal
    SmartTags("整数")=ResidueInt
    SmartTags("总数")=Int(SmartTags("FinalCountddown")-SmartTags("DateTime_Set"))
    Text = "距质保有效期还有  "  &  CStr(ResidueInt) & "天"& CStr(Hour(ResidueDecimal)) & "小时" & CStr(Minute(ResidueDecimal)) & "分 时间在流逝,内心很纠结.勿谓言之不预也"

    CreateObject("SAPI.SpVoice").Speak Text

End If


以上脚本,可以在调度器中定时调用,也可以根据外部变量触发调用。最后的语音输出部分只有一条语句,你可以试着单独调用它作为报时工具,当你可以控制机器的语音输出时,便会自然想到“我能不能将语音变成文本,让机器明白我的指令?”——可以的!




大道至简,知易行难
精华帖版主置评: 思路不错。
以下网友喜欢您的帖子:

  
版主

经验值: 43587
发帖数: 15780
精华帖: 61
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例
推荐帖


只看楼主 只看精华 2楼 2017-10-13 19:28:34

如果只是这个没有多大意义。给你的置评是对你的脚本的肯定。具体要如何做,我就不教了


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
至圣

经验值: 19408
发帖数: 2077
精华帖: 73
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例
推荐帖


只看楼主 只看精华 楼主 3楼 2017-10-13 20:20:38
以下是引用zhangli0在2017-10-13 19:28:34的发言 >2楼

如果只是这个没有多大意义。给你的置评是对你的脚本的肯定。具体要如何做,我就不教了

不要托大!

“只有这个"是什么意思?我估计你都没有打开附件进行测试。


大道至简,知易行难
以下网友喜欢您的帖子:

  
版主

经验值: 43587
发帖数: 15780
精华帖: 61
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例
推荐帖


只看楼主 只看精华 4楼 2017-10-14 19:52:12
以下是引用看雪001在2017-10-13 20:20:38的发言 >

不要托大!

“只有这个"是什么意思?我估计你都没有打开附件进行测试。

不大,你做的这种工作我在十年前就做过了!劝你还是不要用这个的好,留下把柄,吃不了兜着走,有些话只能说不能做,有些事只能做不能说!


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
版主

经验值: 43587
发帖数: 15780
精华帖: 61
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 5楼 2017-10-14 19:54:45

我置评你的这个,就是因为语音的使用,如果用在质保金上,劝你还是省了吧!


活到老,学到老!为了生活学习吧!
以下网友喜欢您的帖子:

  
至圣

经验值: 19408
发帖数: 2077
精华帖: 73
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 楼主 6楼 2017-10-15 14:12:59

质保金本来就不应该是技术上来解决的问题,技术上能做的就只能是提醒,不应该设置停机或者功能缺失。所以,这个例子就是“只说不做”,压根就没有想过“做”,即便倒计时到达了,也不会影响正常功能的使用,但系统会一直提醒下去。

这个题目不是为了“解决”质保金的问题,而是“提醒”。


大道至简,知易行难
以下网友喜欢您的帖子:

  
侠圣

经验值: 2210
发帖数: 263
精华帖: 6
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 7楼 2017-10-15 14:34:45

只聊技术,别吵吵,班主也是肯定了技术的使用……


wincc报表全套教材书+视频教程+实例:2606352062
以下网友喜欢您的帖子:

  
侠圣

经验值: 3162
发帖数: 522
精华帖: 9
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例
精华帖精华帖星级1级


只看楼主 只看精华 8楼 2017-10-16 15:31:37

挺好的,wincc报警,在后台运行VBS脚本播放报警音我也做过的。

这个东西本来出现也就是规避业主违约,对于信誉明知有问题要赖你进度款的上这个系统不无不可,至于纠纷也不是你该考虑的事情。

工程师该操心的是,把这个策略做的更完善。提前多少时间作为警告预警,多级权限,停机了在更高权限的界面内可以修改到期时间,简单的通过按钮组合开放临时使用许可等等。



 
精华帖版主置评: 有见解。
以下网友喜欢您的帖子:

  
至圣

经验值: 19408
发帖数: 2077
精华帖: 73
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 楼主 9楼 2017-10-19 21:03:36

这个脚本纯碎是我用来当做VBS练习的,结合了两个练习点:

1,编程中对于日期和时间的理解,一句话概括就是“日期和时间的原型是浮点数”,它是相对于计算机“原点时间”的一个相对值,计算机系统以1900-1-1 0:00:00为元年,比如1900-1-2 0:00:00,它刚好经过了1天,那么这个时间用浮点数记作1.000000;这个时间再往后推10分钟,该记作什么数值呢?小数部分加上

10分钟/(24小时*60分钟)=0.00694444,也就是1.00694444。可以在vbs中试验一下Now+0.0069444,看看结果是否是当前时间往后推10分钟?

2,就是语音输出了。WinCC OA那个版块给了一个VBS语音调用系统讲述人的例子,让系统讲中国话,虽然照着做没有问题,但总觉得太复杂了!本来一条语句可以搞定的,繁复地写了很多语句,让人不明觉厉。

时间和语音结合起来,刚好就做了一个到期提醒的例子。

VBS脚本用起来真是很方便,习惯了它的语法之后,我好多功能都不用在PLC中编程了,除非是有实时性要求的,多用用vbs和C,将PC和PLC各自的长处都能发挥出来。


大道至简,知易行难
以下网友喜欢您的帖子:

  
版主

经验值: 17319
发帖数: 8473
精华帖: 18
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 10楼 2017-10-20 08:46:34

两个话题:文本朗读和质保金。

前者已经实现了,后者不是程序员能解决的。

关于质保金这块,我自己的做法是,使用硬件狗(可不是学西门子啊,我们已经用了15年了)。

在狗的存储介质里,事先设置好软件使用权限:比如:到期后,提醒(30分钟提醒一次),1个月之后关闭数据采集功能;另一种就是终身用户,没有限制随便用。

第一种情况下,给钱了,换狗(换成终身用户的),呵呵。


无论成与败,无论甜与苦,我还是我。
以下网友喜欢您的帖子:

  
至圣

经验值: 18079
发帖数: 1524
精华帖: 2
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 11楼 2017-10-20 09:08:28

分享不错,谢谢了。


我回来了!继续努力!
以下网友喜欢您的帖子:

  
游士

经验值: 166
发帖数: 5
精华帖: 0
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 12楼 2017-10-24 15:53:57

能看见提醒文本的人,也决定不了你的质保金给不给。


 
以下网友喜欢您的帖子:

  
游士

经验值: 258
发帖数: 33
精华帖: 0
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 13楼 2017-11-01 21:40:39

 

是个好方法


QQ群:573379491
以下网友喜欢您的帖子:

  
新手

经验值: 22
发帖数: 1
精华帖: 0
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 14楼 2017-11-24 09:15:02

会可以不用,做了可以不说


 
以下网友喜欢您的帖子:

  
至圣

经验值: 18415
发帖数: 2409
精华帖: 1
回复:winccflexible的vbs脚本编程——以质保金到期提醒为例


只看楼主 只看精华 15楼 2018-01-09 10:27:19


感谢分享!


 
以下网友喜欢您的帖子:

  
  • 上一页
  • 1
  • 下一页
收起
winccflexible的vbs脚本编程——以质保金到期提醒为例
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。