wincc 画面输入定时器设定时间

我要在画面中给一个定时器设定延时时间,地址mw0,在wincc中对应变量为'bl',我连wincc画面输入输出域,运行后想设定定时时间,一直没成功,哪位帮我下,而且定时时间单位默认为秒,只要输入数字就行

最佳答案

1、变量管理器->创建SYSTEM INFO通道,创建字符串内部变量,选择对应的日期格式以及时间格式即可。
2、文本对象->属性->文本,使用C脚本,触发周期1S:
#pragma code("kernel32.dll")
BOOL GetLocalTime(LPSYSTEMTIME);
#pragma code()
char szReturn[255];
SYSTEMTIME sysTime;
GetLocalTime(&sysTime);
//sprintf(szReturn,"%d年%d月%d日",sysTime.wYear,sysTime.wMonth,sysTime.wDay); //日期
sprintf(szReturn,"%d:%d:%d",sysTime.wHour,sysTime.wMinute,sysTime.wSecond); //时间
return szReturn;
3、文本对象->属性->文本,使用VBS脚本,触发周期1S:
Dim tNow
tNow = Now()
'Text_Trigger = CStr(Year(tNow)) & "年" & CStr(Month(tNow)) & "月"  & CStr(Day(tNow)) & "日" '#日期
Text_Trigger = CStr(Hour(tNow)) & ":" & CStr(Minute(tNow)) & ":"  & CStr(Second(tNow))  '#时间 
回答者: dcount107 - 顶级工程师  第12级  2009-3-2 15:07

参考资料:http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=32293&cid=1032

4.程序中的运行时间应该是一个变量,把这个变量连到WINCC中,程序中需要进行时间换算,比如:
L     MW     0      // WINCC中设定时间(单位:秒)
ITB   
L     W#16#FFF
AW    
L     W#16#2000    // 时基W#16#2000:1S 
OW    
T     MW   2      // 给PLC的定时器的时间变量。
 你在PLC中时间设定应该连接MW2,而画面上连接MW0这个变量。
 参考:http://www2.ad.siemens.com.cn/download/Upload/AS/application/A0335.pdf 
《如何根据WinCC设置S7控制器的时间?》
http://support.automation.siemens.com/CN/view/zh/7802886

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

专家置评

WinCC监控PLC的定时器,请参考文档:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=A0335+

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

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

相关推荐