恭喜,你发布的帖子
发布于 2018-02-14 00:40:17
25楼
我觉得,还是对FM350-1的工作特性不了解,即使FM350-1真的有固件问题,就目前楼主的措施,我认为也是不甚妥当的。
首先,FM350-1的计数功能是独立于CPU工作的,CPU只是控制和读取;说白了,FM的功能块是与FM350-1进行数据交互用的; 流程是这样的,硬件计数--》刷新的数据交互区--》FM功能块读取或发送指令,前一个过程的延时可忽略不计,后一个过程的延时就是FM功能块的调用间隔。
其次,LATCH也是个硬件功能,其响应必定是最快的,等到FM功能块读取到当前值,其误差取决于脉冲的频率及LATCH时刻与功能块调用时刻的时间差。
LATCH是可以产生中断的,楼主可以在LATCH产生的中断里直接读取FM350-1在数据交互区PID的值,这个值应该与LATCH值误差很小了(可能是0),而且固定不变。
FM功能块是可以在中断里调用的,但我认为没有必要在3ms的定时中断里调用,楼主大可在刀位信号后分别在OB1里读取两个FM350-1的LATCH值,减法得出材料的剪切长度(这个误差值应该也是很小的)。
即使在中断内,由于FM功能块的调用是有先后的,因此延时也不同,至少是那个0.85ms,所以在楼主的程序里,后调用的比前调用的读取的当前值与LATCH值的误差要大,楼主可以尝试在现有程序中倒换一下FM功能块的调用次序,看看又是什么结果呢?
请填写推广理由:
分享
只看
楼主