针对S7-300/400的PLC,有如下理解:1)Q与I指向CPU的映像存储区,随程序的扫描执行而刷新数据,PQ与PI则指向终端模块的映像存储区,如果希望模块快速响应,就直接对例如“PQW0”进行MOV给值(这样理解对吗?)。2)在仿真PLC中,偿试将MW0直接MOV给IW0后CPU会出停机出错,但MOV给PIW0则无问题,这又要如何理解?3)Q与PQ,I与PI按道理是:先有Q后有PQ输出,先有PI后有I输入,两组各自的数据是直接完全对应输出/入交换的吧,是这样理解的吧?
最佳答案
理解不完全正确。
1、PIW(PQW)表示是立即数,实时输入,需要CPU立刻采集输入模块的数据,不需要经过输入输出映像区(模拟量都是以这种方式访问),IW(QW)遵循CPU扫描周期对输入输出映像区的刷新规则,即:I存储区如果加上P就不经过映像区实时输入,不加P则是在扫描周期开始采到输入映像区,Q存储区如果加上P就不经过映像区实时输出,不加P则是扫描周期写过程映像区完成之后才输出的。
2、 开关量也可以通过在前面加P进行立即输入输出;
3、 在硬件组态时,如果将I/O地址组态到过程映像区外,还只能用加P的方式访问,不加P你就读写不到数据。
4、加P的方式会,因为要实时读写I/O模块,所以会增加扫描周期的时间;
5、参考资料
何时何处需要外设地址?
https://support.industry.siemens.com/cs/document/18325417
STEP 7 Professional V11如何访问S7-300 外设I/O地址
https://support.industry.siemens.com/cs/document/76779589
以及前面回答的一个类似的问题。
http://www.ad.siemens.com.cn/club/bbs/post_elite.aspx?a_id=1449206&b_id=4
提问者对于答案的评价:
感谢及时回复及其它详细指导,谢谢!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc289746.html