找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
对于模拟量输入,用PIW和IW都可以,CPU输入/输出映像区有一定范围,对于没有相应的映像缓冲区的输入地址,一定采用PIW指令,而一般外设输入地址,都是没有映像缓冲区的。对于有映像缓冲区的输入地址,用PIW和IW都可以,但用PIW,表示直接取地址内的数据而非映像缓冲区的数据,相当于立即读取。对于输出亦是如此。
PIW是实时输入,在程序的一个循环周期中是可能变化的,IW不会变化,IW和PIW输入的都是16bit数。
PIW是直接去读物理地址,可以理解为直接去模板采集信号;IW是去输入、输出映像区去读取。PIW响应是实时的,也就是说在你程序执行的时候读取当时的值,但效率低;IW稍有滞后,因为IW只是系统周期性的刷新,但是效率高。另外映像区是占用系统内存的,所以不可以无限制的开,对于大系统来说只能取一个折中的大小,对于超出映像区的I/O点只能通过Pxx来读写,而在映像区范围内的PIW/IW都可以,但区别如前所述
参考:
http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_ID=47806&cid=1029
http://jwp91.blog.163.com/blog/static/6984237020102841552806/
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!