怎样在定时器运行中改变定时时间
2个回答
展开全部
定时器在运行时是不允许更改定时时间的,否则会造成定时器不工作
当定时器不运行的时候只需要更改将tv端设置成db地址或者其他的变量地址,改变该地址内的值就可以了
方法如下:
1:在db块里设置dint数据,time数据和s5time数据;
2:使用mov转换dint数据转为time数据;
3:使用fc40系统function将time数据转换为s5time数据;
使用结果:可以即时改变s5time计时器设置值,但是在s5t计时器重新启动以前不会生效。不过可以将新设定值和s5t计时器的bcd值做减法运算,作为设定值给入s5t计时器,并重新启动s5t,这样就可获得s5t计时器的计时移植和接续计时。
3.
1.建立db6数据块,其中time变量time1
_time为wincc设定值,s5time变
量time1
_s5t为定时器使用值;
2.wincc中建一个32位有符号浮点数,改变格式:longtosigneddword,连接db6,双字,地址dbd16(db6中time1
_time的地址)
3.调用libraries-iec
function
blocks-fc40(tim_s5ti),将时间值time(毫秒单位,即1000=1s)数据格式变量time1
_time转换成s5time数据格式的变量time1
_s5t;
4.程序中使用time1
_s5t变量作为定时器的时间设定值。
当定时器不运行的时候只需要更改将tv端设置成db地址或者其他的变量地址,改变该地址内的值就可以了
方法如下:
1:在db块里设置dint数据,time数据和s5time数据;
2:使用mov转换dint数据转为time数据;
3:使用fc40系统function将time数据转换为s5time数据;
使用结果:可以即时改变s5time计时器设置值,但是在s5t计时器重新启动以前不会生效。不过可以将新设定值和s5t计时器的bcd值做减法运算,作为设定值给入s5t计时器,并重新启动s5t,这样就可获得s5t计时器的计时移植和接续计时。
3.
1.建立db6数据块,其中time变量time1
_time为wincc设定值,s5time变
量time1
_s5t为定时器使用值;
2.wincc中建一个32位有符号浮点数,改变格式:longtosigneddword,连接db6,双字,地址dbd16(db6中time1
_time的地址)
3.调用libraries-iec
function
blocks-fc40(tim_s5ti),将时间值time(毫秒单位,即1000=1s)数据格式变量time1
_time转换成s5time数据格式的变量time1
_s5t;
4.程序中使用time1
_s5t变量作为定时器的时间设定值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定时器在运行时是不允许更改定时时间的,否则会造成定时器不工作
当定时器不运行的时候只需要更改将TV端设置成DB地址或者其他的变量地址,改变该地址内的值就可以了
方法如下:
1:在DB块里设置DINT数据,TIME数据和S5TIME数据;
2:使用MOV转换DINT数据转为TIME数据;
3:使用FC40系统Function将TIME数据转换为S5TIME数据;
使用结果:可以即时改变S5TIME计时器设置值,但是在S5T计时器重新启动以前不会生效。不过可以将新设定值和S5T计时器的BCD值做减法运算,作为设定值给入S5T计时器,并重新启动S5T,这样就可获得S5T计时器的计时移植和接续计时。
3.
1.建立DB6数据块,其中TIME变量TIME1
_TIME为WINCC设定值,S5TIME变
量TIME1
_S5T为定时器使用值;
2.WINCC中建一个32位有符号浮点数,改变格式:LongToSignedDWord,连接DB6,双字,地址DBD16(DB6中TIME1
_TIME的地址)
当定时器不运行的时候只需要更改将TV端设置成DB地址或者其他的变量地址,改变该地址内的值就可以了
方法如下:
1:在DB块里设置DINT数据,TIME数据和S5TIME数据;
2:使用MOV转换DINT数据转为TIME数据;
3:使用FC40系统Function将TIME数据转换为S5TIME数据;
使用结果:可以即时改变S5TIME计时器设置值,但是在S5T计时器重新启动以前不会生效。不过可以将新设定值和S5T计时器的BCD值做减法运算,作为设定值给入S5T计时器,并重新启动S5T,这样就可获得S5T计时器的计时移植和接续计时。
3.
1.建立DB6数据块,其中TIME变量TIME1
_TIME为WINCC设定值,S5TIME变
量TIME1
_S5T为定时器使用值;
2.WINCC中建一个32位有符号浮点数,改变格式:LongToSignedDWord,连接DB6,双字,地址DBD16(DB6中TIME1
_TIME的地址)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询