西玛仪表 028-66505957 13808018567
有一个项目。采用214的cpu。在编程过程中,需要定时精度为1ms的时间。比如ton定时器,采用t32.时基1ms,当定时为3ms时t32为on,触发Q0.0
但是实际编程发现3ms太短了,经常发生t32=13时才触发Q0.0输出。从表现来看是扫描周期时间远大于1ms照成的。
不知到有谁有解决办法??或者我这样有什么不对的地方???用中断???但是假如扫描时间远大于1ms,只有t32为on时才能触发中断。。。。。
箫海岳
用中断在PLC内部可以实现1mS精度,但输出到Q点要受扫描周期影响,如果是周期性输出,可用高速脉冲输出功能。
nike717
应该用终端,楼上的也有道理,不知用立即输出指令(I)行不,我没试过
芳季
可以使用定时器中断。中断中使用立即输出线圈可以得到你要的结果。立即输出就是在中断中用的。但是要着重注意双线圈的问题。
因为在中断中执行了线圈输出,Q点会一直保持接通而无法断开。要再一次中断使线圈断开,然后又一直保持断开。不中断就不刷新。
因为上面的“因为”而你想省略一次中断而采用其他扫描的方法使Q点断开的话,那么就是双线圈了。
S7-200有四个定时中断定时器,两个特殊寄存器(SMB34/SMB35)和两个定时器( T32/T96)中断。
现在特殊寄存器smb34和35已经被使用了。现在正就是打算用T32和T96的中断。但是这个中断的触发条件就是T32的CT=PT。表现是由于时间太短,所以导致CT=PT的瞬间已经跳过去了。中断没有发生。
由于smb34和35的定时是不固定的,所以没有办法采用最大公约数的方法。。。
引用<表现是由于时间太短,所以导致CT=PT的瞬间已经跳过去了。中断没有发生。>真有此理!
T32的刷新是由PLC自己组织的。怎么会自己喊“1 2 3 跑”的时候还会偷步呢?
再检查程序。
所以我不明白的地方就是:
t32时间的刷新跟PLC扫描有没有关系。smb34的定时中断,其定时中断的刷新是与PLC的扫描时间脱离的。不知道t32是不是。
看看我的部分程序:
老愚者
t32时间的刷新跟PLC扫描没有关系....S7的定时器是硬件定时器.
但是,LZ的程序没有采用中断,当T96定时到了的时刻,PLC执行程序有可能处于任何地方,甚至要到下1个扫描周期才能执行上面所表示的那些程序.
如果对定时要求很严格,表示使用中断.
王秀
T96=1,可能不好使。
我用T32=1试过,输出有时有,有时无,可能太快了,反应不过来。
没办法,改成T32>=1了。
LDI T96·=T96 8
LD= T96 7
原则性错误。
程序中那里体现了你要执行中断?
引导错误。难怪你说中断不执行。
感谢先~~~
似乎明白了。。。非常感谢。我再去试试。。。。。
周福岗
支持芳季,很有道理,讲的明白!