找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
最终的处理肯定是在PLC中进行,由SFC1读出系统时间,再使用FC8(DT_TO_TOD)转换得到时间(TOD格式,及Time格式),TOD格式占用双字,可用GT_D、LE_D等比较指令,根据比较结果即可控制相关阀门。
剩下要解决的问题就是如何在WinCC中将TOD显示为北京时间以及如何设定。
-----------------------------
显示问题:可以用静态文本来显示所设定的时间,以下的VBS脚本用于转换并获得类似20:01:05的时间字符串:
Dim szTime,TodValue,iHour,iMinute,iSecond
TodValue = HMIRuntime.Tags("你的时间设定变量").Read
iHour =Fix(TodValue / 3600000)
iMinute =Fix( (TodValue - iHour*3600000)/60000)
iSecond = Fix( (TodValue - iHour*3600000 -iMinute* 60000)/1000)
szTime = CStr(iHour) & ":" & CStr(iMinute)&":" & CStr(iSecond)
Dim szOutPut
szOutPut=FormatDateTime(szTime,vbLongTime)
-----------------------------
设定问题:可以使用DateTimePicker控件来做,对象选项板->标准->控件->Microsoft Date and Time Picker Control,将控件拖入画面,设置Format为dtpTime,以下的脚本用于获取设定时间转换为TOD格式并写入变量:
Dim DTValue,iTod
DTValue = ScreenItems("DTPicker").value
iTod = Hour(DTValue)*3600000 + Minute(DTValue)*60000 + Second(DTValue)*1000
HMIRuntime.Tags("你的时间设定变量").Write iTod '#将时间设定值写入TAG
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城