我想做一个报表,举个例子说就是停机原因A吧,开始停机的时候我点A,然后记下这时停机的时间,当停机问题解除后我点复位,再记下这时停机解除的时间,每次停机都要记录这两项,原因还要记上,导到EXcEL上,最后还要算出每次停机的时间,这个我到会,用excel做就行,但是记录开始和结束的时间怎么记呢,用什么来做呢?恳请师傅们给出详细步骤!
谢谢!
最佳答案
这个时间还是在你的PLC程序里面做比较方便.然后把开始和结束的时间传到wincc中来,再导至EXCEL表中作处理.如果你只想在wincc中做就要写一段脚本,采停机状态变量和wincc的系统时间,然
后根据停机状态提取停机开始和停机结束的时间即可.
wincc中获取系统时间的代码如下:
读取时间并将其存入 Word 类型变量中
#pragma code("kernel32.dll")
VOID GetLocalTime(SYSTEMTIME *lpst);
#pragma code();
SYSTEMTIME zeit;
GetLocalTime(&zeit);
SetTagWord("varname",zeit.wYear);
SetTagWord("varname",zeit.wMonth);
SetTagWord("varname",zeit.wDayOfWeek);
SetTagWord("varname",zeit.wDay);
SetTagWord("varname",zeit.wHour);
SetTagWord("varname",zeit.wMinute);
SetTagWord("varname",zeit.wSecond);
SetTagWord("varname",zeit.wMilliseconds);
楼主最好先做一下wincc与PLC的时间同步,不知你用的PLC是哪一
款,如果是西门子S7300,请参考:
WinCC如何与PLC实现时钟同步,请参考文档
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0445
<如何在 WinCC 运行系统中读出,显示或者设置本地或者协调世界时间?>连接:
http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&objid=24202491&nodeid0=10805585&caller=view&lang=zh&siteid=cseus&aktprim=0&objaction=csopen&extranet=standard&viewreg=CN
提问者对于答案的评价:
晚了,谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc266740.html