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

相关推荐

  • WINCC在线趋势控件属性设置问题

    对该控件属性里的几个量的设置不是很清楚,如Index,按什么设置,我看有时候是0,有时候是1;Name,是什么的名字呢;还有Tagname,按意思就是变量名称,跟前面的Name是什…

    SIMATIC WinCC 2019年6月11日
  • Simatic NET 是如何安装的?

    我现在已经在PC机上安装了wincc6.0+SP3,是不是安装了wincc6.0+SP3后就自动安装了Simatic NET,还是另外需要单独安装Simatic&nbsp…

    SIMATIC WinCC 2019年6月11日
  • WinCC闪退怎么解决!

    安装WinCC后,闪退。卸载重装也不管事。修复runtime后,不闪退了,但是出现了服务器不可用。在不重做系统的情况下如何解决? 钻石用户推荐最佳答案 1确定系统兼容性。2关闭杀毒…

    SIMATIC WinCC 2020年11月1日
  • 如何在博图WinCC中脚本使用

    1)如何在博图WinCC中通过脚本程序实现,I/O域中的PLC过程值数更改,从而取反一个PLC中BOOL量?谢谢2)博图WinCC 中变量的事件中,为什么显示 …

    2021年7月5日
  • 关于wincc多用户项目服务器客户机问题

    我现在在做wincc服务器-客户机的通讯,我在服务器上设置好后,到客户机上装载服务器上的数据包选择服务器端的起始画面,并在客户机上激活运行,却显示“启动画面未找到,请在控制中心内定…

    SIMATIC WinCC 2019年6月10日
  • WINCC 用户管理 权限

    在WINCC用户管理下,之前 我勾的第一列里对应的所有画面的 几个权限,后来 几个画面需要关闭,便给一用户几个画面的操作权限,然后其中一个画面不能操作…

    SIMATIC WinCC 2021年7月5日
  • 西门子wincc 提示画面

    为避免误操作,当鼠标放在一个按钮上时,就弹出一个提示对话框“请确认**设备无误”,该如何实现呢 问题补充:具体要怎么做呢?能不能说的详细一点  十分感谢! 最佳…

    SIMATIC WinCC 2019年6月11日
  • wincc7.3如何实现声音报警

    对wincc还不够熟悉,现在想用7.3版本的实现声音报警,这个具体怎么实现,C脚本我也没操作过,小白一个,需要傻瓜操作 钻石用户推荐最佳答案 WinCC跟我做:WinCC实现声音报…

    SIMATIC WinCC 2021年7月5日
  • wincc 如何点击按钮让画面关闭或者打开

    现在有两个画面,一个画面a,一个画面b,画面a上面有个按钮1,想点击按钮1,打开画面2,点击按钮2,如果画面2打开,就关闭画面2,我想用vbs脚本编写实现如上的功能。请问应该怎么样…

    SIMATIC WinCC 2021年7月5日
  • wincc v5的microsoft access怎么设置

    这个导数据是怎么设置的?之前导数据都是好的,最近按照之前的设置,数据导不出去了,而且里面有些变量点开显示为0。 最佳答案 哇,版本好老了如果不能导出到ACCESS,检查是不是ACC…

    SIMATIC WinCC 2021年7月5日