您的位置:控制工程论坛网论坛 » 仪器仪表 » 读取I/O数据,使用IW与PIW区别

zhangyue

zhangyue   |   当前状态:在线

总积分:720  2025年可用积分:0

注册时间: 2010-03-22

最后登录时间: 2017-06-13

空间 发短消息加为好友

读取I/O数据,使用IW与PIW区别

zhangyue  发表于 2010/4/22 16:09:55      1623 查看 1 回复  [上一主题]  [下一主题]

手机阅读

S7读取外设数据有的用IW,有的用PIW,有何区别?何时用IW?何时用PIW?
1楼 0 0 回复
  • wangchen

    wangchen   |   当前状态:在线

    总积分:9915  2025年可用积分:0

    注册时间: 2010-03-25

    最后登录时间: 2024-05-22

    空间 发短消息加为好友

    wangchen   发表于 2010/4/22 16:09:55

    对于模拟量输入,用PIW和IW都可以,CPU输入/输出映像区有一定范围,对于没有相应的映像缓冲区的输入地址,一定采用PIW指令,而一般外设输入地址,都是没有映像缓冲区的。对于有映像缓冲区的输入地址,用PIW和IW都可以,但用PIW,表示直接取地址内的数据而非映像缓冲区的数据,相当于立即读取。对于输出亦是如此。 


    PIW是实时输入,在程序的一个循环周期中是可能变化的,IW不会变化,IW和PIW输入的都是16bit数。


    PIW是直接去读物理地址,可以理解为直接去模板采集信号;IW是去输入、输出映像区去读取。PIW响应是实时的,也就是说在你程序执行的时候读取当时的值,但效率低;IW稍有滞后,因为IW只是系统周期性的刷新,但是效率高。另外映像区是占用系统内存的,所以不可以无限制的开,对于大系统来说只能取一个折中的大小,对于超出映像区的I/O点只能通过Pxx来读写,而在映像区范围内的PIW/IW都可以,

    2楼 回复本楼

    引用 wangchen 2010/4/22 16:09:55 发表于2楼的内容

总共 , 当前 /