quote:以下是引用佚名小卒在2012-12-06 11:45:28的发言:quote:以下是引用cxaction在2012-09-21 21:56:14的发言:
本程序实现将十进制值转成s5time。 仿真调试通过有需要的拿去
接口介绍:
in0 :以什么分度记时(如填 2 则以“秒”记 填 3 则以“10 秒”记)
in1 : 需要设定的时间。即分度值乘以 设定时间 (数据类型 int)
out0:转成的s5time。 直接送入定时器。(数据类型 int)
temp1 :数据类型word
temp2:数据类型word
temp3:数据类型word
L #in0 // 时间分度值
L 4096 //左移动12位
*I
T #temp1
L #in1 // 需要设定的时间
ITB
T #temp2
L #temp1
L #temp2
OW
T #temp3
L #temp3
T #OUT0 // 转成的s5time
P.S西门子自带的FC40 有这个功能。但是那个块是以毫秒分度为单位的。本例子可以自己设定时间分度值。
谢谢楼主的分享,受益匪浅。
我又改了下,仿真也能成功,貌似这样更简洁些。
L "IN0" // 时间分度值
L W#16#1000 //左移动12位
*I
L "IN1" // 需要设定的时间
ITB
OW
T "OUT0"
如有不妥,请楼主指正。
你这个程序中间变量没有确实更加简洁,我只是给个思路。