legbaby钻石露鲍图片:dp通信读取数据

来源:百度文库 编辑:偶看新闻 时间:2024/04/27 16:35:39
做dp通信读取数据有两种办法:
1.直接访问io地址, 这种最快捷,但是无法保证数据的一致性。当然现在有一种办法也可以保证数据的一致,就是把通信的数据地址都组态在过程映像区内,由相应的ob进行刷新,程序使用sfc20,但是这种一致性有可能被其他中断所破坏。
2.使用sfc14,15,这种方法是整体的获取一致性数据,要求dp从站有这种一致性能力,并且按照一致性的长度进行组态,有一致性要求时可以使用。最大的一致性长度要看dp从站的手册和使用的主站cpu类型,例如400支持的最大一致性数据为32个字节。s7-200的em277做从站时的最大一致性数据为16个字节入,16个字节出。
前面一直提到的一致性到底是什么,请看定义:
数据一致性
定义
可以被一致性过程同时修改的数据区的大小被称为一致数据区。大于一致数据区的数据区将被认为整体失真。
也就是说,属于一组且大于一致数据区的数据区可以同时包含新的一致数据块部分和旧的一致数据块部分。
实例
如果通讯块被中断,例如,被具有更高优先级的硬件中断OB所中断,则可能会引
起数据不一致。如果此OB中的用户程序现在改变数据,而一部分数据已经由通讯
块处理过,则已传送的数据:
部分来自处理硬件中断之前的时间
部分来自处理硬件中断之后的时间
也就是说,这些数据将不一致(不连贯)。