我要在画面中给一个定时器设定延时时间,地址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