WinCC如何按系统设定时间工作

有一个污水处理项目S7-300,自控要求早8:00开始打开特定阀门排泥,8:25打开出水阀,8:30关闭排泥阀;10:00关闭出水阀,打开进水阀,达到要求液位时关闭进水阀。在WinCC界面中上面的时间是可设定的,但这必须是系统的北京时间。小弟刚入行,很多都不懂,请各位老大多多帮忙,谢谢

最佳答案

最终的处理肯定是在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

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc275452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午11:35
下一篇 2019年6月11日 上午11:35

相关推荐

  • wincc7.3静态文本无法组态内部文本变量

    看视频,别人静态文本在 字体文本里面 可以组态变量  可以关联文本库 我7.3里面没有老版本有的 问题补充:我对比6.2版本&nb…

    2021年7月5日
  • 在报表编辑器中如何制作实时表格

    我想在报表编辑器布局的动态部分做一个表格。可以显示实时数据。并且可以打印。怎么实现。 最佳答案 1、在布局里建立表格,并且连接上变量,然后根据你需求的格式去调整下,也可以在静态部分…

    SIMATIC WinCC 2019年6月11日
  • 组态登路框

    看别人做过的登路框时是用下边的方法实现的 在按钮鼠标C脚本中加上 char ch; PASSLonginDialog(ch); 自…

    SIMATIC WinCC 2019年6月11日
  • WINCC7.4画面卡住

    我电脑用的WIN10系统,WINCC用的7.4版本,在运行wincc画面的时候,有时候会卡住不动, 过几分钟自己就又好了,也有时候就卡一下就恢复了,电脑没有杀毒软件,并且…

    2020年11月1日
  • wincc登录密码怎么找?

    我的wincc登录密码忘记了,怎么找回来? 问题补充:PWRTLogin(”c”),中C是什么意思? 最佳答案 打开用户管理器,单击你忘记密码的用户,记录下他具有的权限。然后删…

    SIMATIC WinCC 2021年7月5日
  • wincc报表怎样按照日期分开显示?

    wincc怎样将报表按照日期分开显示?而不是所有时间的数据都连着显示。有没有方法可以将表格导出到excel表格或者其它办公软件中,以方便修改? 最佳答案 wincc怎样将报表按照日…

    SIMATIC WinCC 2019年6月11日
  • 向记事本文件写入变量,求助?

    我弄了一段程序添加在鼠标点击左键里面,编译正常,FILE *fpFile;   char *strTag[5] =&nb…

    SIMATIC WinCC 2018年12月5日
  • 用户归档ID

    在用户归档中如果删除某一段配方表数据后,该段内ID会消失,如果此时再建立一个新的数据,则ID会顺延,请问:1.如果ID继续变大,当达到最大值后会重新走ID=1开始吗?2.如何再次走…

    SIMATIC WinCC 2019年6月11日
  • 画面转换问题

    各位大师,本人刚学习触摸屏,tp177A的屏如何利用变量如vw100中的值的变化来切换画面。谢谢各位 最佳答案 参考:利用变量的变化切换画面可以不用编写脚本。 &nbsp…

    SIMATIC WinCC 2019年6月11日
  • 关于WINCC flexible按钮

    我的屏是TP177A,我想做个登录和退出的 登录在启动画面时候要输入密码,点退出时候也要输入密码,怎么做?谢谢! 最佳答案 TP177A好像和TP170A/TP170&n…

    SIMATIC WinCC 2019年6月11日