按要求设计一个定时器,时间可以自由在wincc设定。西门子自己有FC40 IEC_S5TIME 块。但是这个快时间基是定死的是毫秒级别的。自己做一个快在如下地址时基可以自由设定。
http://www.ad.siemens.com.cn/club/bbs/post.aspx?b_id=4&a_id=1022375&s_id=23&num=1#anch
但是奇怪的问题来了,我自己做的FC公共块可以自由设定。但是我做的梯形图无法设置将设定值超过100,,超过100就CPU报错。我的思路如下:(无法传图只能用语言表达)
按照西门子时基的定义第12位开始才是时基准定义,首先将时基乘以4096(左移12位)然后和设定值字相或,也就是说将 “3(时基)x4096 然后和字逻辑 WOR 相或 ,输出到定时器的pv值。”
如图 当设定值为100时可以运行.

如图 当设定值为200时cpu报错 无法运行.

奇怪的是按照word类型的数据类型溢出值为-32767-32768 当设定值为200并没有溢出