正在进行安全检测...

发布时间:2024-01-09 19:05:56

我在网上看了好多,好几个都说IW是数字量输入,PIW是模拟量输入,而且IW是通过映像区读取,PIW直接读取什么的,越看越糊涂了,但是我看我以前的老师(同事)就是用IW通过FC105读取模拟量的啊。有点疑惑了,来个老师解释下吧,真的很纳闷。S7-300/400I/Q区称为过程映像输入区(PII/过程映像输出区PIQ),“映像”表示它们就像镜中花、水中月,访问它们并不是访问输入/输出模块,而是访问CPU存储器中的区域。只是在过程映像区刷新的时刻,I区和Q区的内容才与输入/输出模块中的实际值相同,因此它们并不能直接反映输入/输出的实际状态。S7-300/400I/Q区与PI/PQ区(外设输入/外设输出区)的关系如下:1)访问PI/PQ区时,直接读写输入/输出模块,而I/Q区是输入/出模块在CPU的存储区中的映像”使用外设地址可以实现用户程序与I/O模块之间的快速数据传送,因此被称为“立即读”和“立即写”。在每次扫描循环开始时对P/Q区采用批量读/写的方式,因此造成了输入/输出的滞后。2I/Q区可以按位、字节、字和双字访问,PI/PQ区只能按字PIB/PQB、字PIW/PQW和双字PID/PQD访问。I/Q区和PI/PQ区可以使用相同的字节地址。3I/Q区的地址范围比PI/PQ区的小,有的S7-300CPUI/Q区只有128B,有的CPU可以在组态时修改I/Q区的大小。4如果地址超出了I/Q区允许的范围,必须使用PI/PQ区来访问。
例如如果I/Q区只有128B,在访问S7-300的模拟量模块时(其地址区从256号字节开始),则必须使用PI/PQ区的地址。CPUI区如果较大(大于256B),就可以用IW读模拟量。于模拟量输入,用PIWIW都可以,CPU输入/输出映像区有一定范围,对于没有相应的映像缓冲区的输入地址,一定采用PIW令,而一般外设输入地址,都是没有映像缓冲区的。对于有映像缓冲的输入地址,用PIWIW都可以,但用PIW,表示直接取地址内的数据而非映像缓冲区的数据,相当于立即读取。对于输出亦是如此。PIW是实时输入,在程序的一个循环周期中是可能变化的,IW不会化,IWPIW输入的都是16bit数。PIW是直接去读物理地址,可以理解为直接去模板采集信号;IW去输入、输出映像区去读取。PIW响应是实时的,也就是说在你程序执行的时候读取当时的值,但效率低;IW稍有滞后,因为IW只是系统周期性的刷新,但是效率高。另外映像区是占用系统内存的,所以不可以无限制的开,对于大系统来说只能取一个折中的大小,对于超出映像区的I/O点只能通过Pxx来读写,而在映像区范围内的PIW/IW都可以,但区别如前所述。元件名称:IQ输入继电器输出继电器

正在进行安全检测...

相关推荐