- {{item.name}}
对 DP 从站一致性数据读写
- 0
- 1057
对 DP 从站一致性数据读写
可以同步更改的数据称为一致性数据。
CPU 为所有基本数据类型(如Word 或 DWord)和所有系统定义的结构(例如 IEC_TIMERS 或 DTL)保持数据的一致性。数值的读/写操作不会被中断。(例如,在读写四字节的 DWord 完成之前,CPU 会防止对该 DWord 进行访问)。
S7-1200 若要通过 PROFIBUS DP 对从站进行一致性数据读写,而这些数据无法通过基本数据类型表示时,系统为 S7-1200 提供了一致性数据读写的指令,DPRD_DAT 和 DPWR_DAT。这两个指令块在 TIA Portal 指令的“扩展指令/分布式I/O/其它”中。通过 DP 一致性数据读/写指令块,S7-1200 的 DP 主站可以对从站最多 64 个字节读取,最多 64 个字节的写入。
DPRD_DAT :读取 DP 标准从站的一致性数据。
参数说明:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
LADDR | IN | HW_IO (Word) | I、Q、M、L 或常量 | 将要从中读取数据的模块的硬件 ID。 该硬件 ID 位于设备视图或系统常量的模块属性中。 |
RECORD | OUT | Variant | I、Q、M、L 或常量 | 已读取的用户数据的目标区域。此区域的大小必须与通过 STEP 7 为所选模块组态的区域大小完全相同。 |
RET_VAL | OUT | Int | I、Q、M、L 或常量 | 如果在此函数已激活情况下发生错误,则返回值中将包含一个错误代码。 |
DPWR_DAT:将一致性数据写入 DP 标准从站
参数说明:
参数 | 声明 | 数据类型 | 存储区 | 说明 |
LADDR | IN | HW_IO (Word) | I、Q、M、L 或常量 | 将写入数据的模块的硬件 ID。 该硬件 ID 位于设备视图或系统常量的模块属性中。 |
RECORD | IN | Variant | I、Q、M、L 或常量 | 要写入的用户数据的源区域。此区域的大小必须与通过 STEP 7 为所选模块组态的区域大小完全相同。 |
RET_VAL | OUT | Int | I、Q、M、L 或常量 | 如果在此函数已激活情况下发生错误,则返回值中将包含一个错误代码。 |
以两个 S7-1200 DP 通信为例介绍编程方法步骤:
(1)设备网络组态同上,传输区参数数据一致性要选择“总长度”。
(2)编写程序
在主循环程序 OB1 中执行 DPRD_DAT 和 DPWR_DAT。
调用 DPRD_DAT ,单击块参数 LADDR,将在下拉列表中选择“传输区_1”,DB3 从 0 地址开始存放接收数据。当执行指令发生错误时,可在 MW300 查询返回的错误代码。
程序执行后,DP 主站通过传输区_1 读取 DP 从站从 QB100 开始的 64 字节数据,读取结果放到 DB3 。
调用 DPWR_DAT ,单击块参数 LADDR,将在下拉列表中选择“传输区_2”,DB2 从 0 开始的地址为数据源。当执行指令发生错误时,可在 MW302 返回错误代码。
执行 DPWR_DAT, DP 主站将 DB2 中 64 字节数据通过“传输区_2”写到 DP 从站 IB200 开始的地址。
注意:DP 从站一致性数据读/写指令,只能访问无法通过基本数据类型表示的数据,比如 3 个字节或 4 个字节以上的数据区域。 否则,访问将遭到拒绝,并返回错误代码 W#16#8090。
剩余80%未阅读,请登录查看大全章节内容
- 评论
-
分享
扫码分享
- 收藏 收藏
- 点赞 点赞
- 纠错 纠错
{{item.nickName}}