组态直接数据交换的实例

2021-08-31 浏览次数:152
组态直接数据交换的实例

简介

在本例中,会在主站-从站组态中组态三个用于直接数据交换的 CPU。 然后将分配有意义的名称并组态地址区。

使用下面的 CPU,应按如下所述对其进行组态:

CPU

任务

地址

数据

317-2 PN/DP

DP 主站

I 200

来自发送方的 8 个字

315-2 DP

发送方

Q 100

发送到主站的 8 个字

317-2 DP

接收方

I 120

来自发送方的 8 个字中的前 2 个字节

要求

必须处于网络视图中。

硬件目录已打开。

建立 PROFIBUS DP 主站系统

要建立 PROFIBUS DP 主站系统,请按以下步骤操作:

    将以下 CPU 从硬件目录拖放到网络视图中: 315-2 DP、317-2 DP 和 317-2 PN/DP。

    为各 CPU 分配有意义的名称:

    - 选择 CPU 317-2 PN/DP。

    - 在巡视窗口的“属性 > 常规”(Properties > General) 下,为该 CPU 分配名称“DP 主站”。

    现在对另两个 CPU 重复执行该命名过程,将它们分别称作“Sender”和“Receiver”。

    选择 CPU 317-2 PN/DP,如有必要,随后在巡视窗口的“属性 > MPI/DP 接口 > MPI 地址”(Properties > MPI/DP interface > MPI address) 下,将该接口类型从“MPI”更改为“PROFIBUS”。

    注: 如果将 MPI/DP 接口设置为“PROFIBUS”类型,则该条目不再是“MPI 地址”,而是“PROFIBUS 地址”。

    依次选择 CPU 315-2 DP 和 317-2 DP,在这两种情况下,在巡视窗口中的“属性 > DP 接口 > 模式” (Properties > DP interface > Mode) 下选择“从站” (Slave) 模式。

    315-2 DP“发送方”和 317-2“接收方”两个 CPU 此时作为智能从站运行。

    按住鼠标按钮的同时,在主站 CPU 和两个从站 CPU 间绘制 PROFIBUS 连接。

此时已成功将 PROFIBUS 主站系统中的 CPU 317-2 PN/DP 设置为 DP 主站并将 315-2 DP“发送方”和 317-2 DP“接收方”设置为智能从站。 将会在涉及这些 CPU 的 I/O 通信表格中为通信伙伴创建新行。 “智能从站”(I-slave) 将显示在“模式”(Mode) 列中。

建立直接数据交换

要在 PROFIBUS 主站系统中建立直接数据交换,请按以下步骤操作:

    选择“发送方”(Sender)。

    按住鼠标左键,然后将“接收方”(Receiver) 拖动到“将设备置于此处”(Place device here) 域,该域位于 I/O 通信表格的“伙伴 2”(Partner 2) 列中。

    注: 也可以打开“伙伴 2”(Partner 2) 列中“将设备置于此处”(Place device here) 域的下拉列表框,然后从列表中选择“接收方”(Receiver)。

此时已成功在这两个智能从站间建立直接数据交换。 将会在涉及这两个智能从站的 I/O 通信表格中创建新行。 “直接数据交换”(Direct data exchange) 将显示在“模式”(Mode) 列中。


提示

“对等端 1” (Peer 1) 和“对等端 2” (Peer 2) 列之间的 I/O 通信表中的箭头符号,将指示通信关系中的方向。 箭头将指出主站到从站和从站到智能从站之间的两个方向。 在智能从站之间进行通信时或进行直接数据交换期间,箭头由发送方指向接收方。



组态主站-从站通信

要选择主站-从站通信,请按以下步骤操作:

    在主站-从站通信的两个通信伙伴中选择一个(DP 主站 CPU 317-2 PN/DP 或智能从站 CPU 315-2 DP“发送方”)

    在 I/O 通信表格中,单击具有相应的*二个伙伴和“智能从站”(I-slave) 模式的行。

    在巡视窗口中选择“属性 > 智能从站通信”(Properties > I-slave communication)。

或:

    选择 CPU 315-2 DP 作为“发送方”智能从站。

    在巡视窗口中选择“属性 > DP 接口 > 模式 > 智能从站通信”(Properties > DP interface > Mode > I-slave communication)。

要组态主站-从站通信,请按以下步骤操作:

    在传送区表格的“智能从站通信”(I-slave communication) 下创建新的传送区:
    在“传送区”列中,单击“<新增>”(<Add new>) 并在“类型”(Type) 下拉列表框中选择“MS”作为主站-从站通信的通信类型。 也可以通过仅在新列中的“类型”(Type) 下建立通信类型来创建新传送区。 随后将自动创建传送区。

    在“智能从站通信”(I-slave communication) 下,单击新创建的传送区。

    随即打开传送区的详细视图。

    输入下列内容:

    对于“DP 主站”:

    - 地址类型 I

    - 起始地址 200

    - 长度 8

    - 单位 WORD

    - 总长度相同

    对于“发送方”:

    - 地址类型 Q

    - 起始地址 100

*数据长度后,也就完成了所需数据空间的从站和主站地址。 如果在巡视窗口中单击“智能从站通信”(I-slave communication),则可以看到已更新的主站-从站通信组态的概览。

组态直接数据交换

要组态直接数据交换,请按以下步骤操作:

    在进行直接数据交换的两个通信伙伴中选择一个(智能从站 CPU 315-2 DP“发送方”或智能从站 CPU 317-2 DP“接收方”)

    在 I/O 通信表格中,单击显示“直接数据交换”(Direct data exchange) 模式的行。

    在巡视窗口中选择“属性 > 直接数据交换”(Properties > Direct data exchange)。

要组态直接数据交换,请按以下步骤操作:

    在传送区表格的“直接数据交换”(Direct data exchange) 下创建新的传送区:
    在“传送区”(Transfer area) 列中,单击“<新增>”(<Add new>) 并在“类型”(Type) 下拉列表框中选择“DX”作为直接数据交换的通信类型。 也可以通过仅在新列中的“类型”(Type) 下建立通信类型来创建新传送区。 随后将自动创建传送区。

    在“直接数据交换”(Direct data exchange) 下,单击新创建的传送区。

    随即打开传送区的详细视图。

    输入下列内容:

    对于“发送方”:

    - 地址 100

    - 数据长度 1

    - 单位 WORD

    对于“接收方”:

    - 地址 120


提示

如果直接数据交换中的发送方为普通 DP 从站,则不会组态传送区。 而是将输入模块添加到发送方。



特殊性

理论上,也可以设置** 200 的起始地址(例如,202)。 将自动调整一致性数据的长度。 而且,还可以设置比发送方*长度短的长度(例如,1 个字节)。


提示

如果为发送方设置了固定长度 3 字节或长度大于 4 字节,且通过系统函数“DPWR_DAT” (SFC 15) 的扩展指令来进行数据传送,那么接收方将始终需要使用扩展指令“DPRD_DAT” (SFC 14),即便实际上只读取了 1 字节!

如果使用一个装载操作 (L IB..) 而不是通过 DPRD_DAT 来读取 1 字节,则会读入“0”(错误值)。



发送方 (CPU 315-2 DP) 上进行 DPWR_DAT 调用

STL
CALL "DPWR_DAT"
LADDR :=W#16#64 //起始地址 Q 100
RECORD :=P#M 10.0 BYTE 16 //用户数据源区域
RET_VAL:=MW100 //返回值

接收方(CPU 317-2 DP) 上进行 DPRD_DAT 调用

STL
CALL "DPRD_DAT"
LADDR :=W#16#78 //起始地址 I 120
RET_VAL:=MW100 //返回值
RECORD :=P#M 10.0 BYTE 2 //用户数据目标区


shtxjd.cn.b2b168.com/m/
top