恭喜,你发布的帖子
发布于 2024-04-17 21:42:31
23楼
怎么写错开扫描周期的程序?
我们知道,所有(上升/下降)沿的指令,仅“生存”(=1;True)于该指令之后的本扫描周期。
功能块的DONE/ERROR也同样仅“生存”一个周期;因此,DONE=1(功能完成);MOVE 缓冲区数据到指定位置;ERROR=1;根据STATUS 处理错误;
检测(DONE或ERROR)的下降沿,一定是下一个周期获得的。用它间隔标志位(仅“生存”一个周期)修改(MOVE)功能块地址、或读写参数等;若是连续读,也可以用它启动下一个功能块的REQ(请求);
否则,用间隔标志位的下降沿,触发功能块的REQ。
这样完成DONE和下一个触发中间就隔了一个扫描周期。
通常PN/IO控制程序扫描周期不应该超过10ms。
请填写推广理由:
分享
只看
楼主