如何实现PROFIBUS从站之间的DX通讯?

 

  通过DX方式可以实现PROFIBUS从站之间的数据交换,无需再在主站中编写通讯和数据转移程序。系统中至少需要一台PROFIBUS 1类主站,两台PROFIBUS非智能从站才能够实现DX模式的数据交换。

  首先,在STEP7中创建一个Project,分别插入一个主站:CPU314C,两个从站:CPU315-2DP。

  然后分别对每个站进行硬件组态。

  首先对进行数据发送的从站态。

  组态CPU时,要创建一个PROFIBUS进行硬件组网络,并设定操作模式为DP Slave,然后选择Configuration页面,用鼠标点击New键,创建数据交换映射区。

  选择Input和Output区,设定地址和通讯字节长度,数据一致性设置为ALL。

  组态完进行数据发送的从站后,我们再组态主站,同样在插入CPU时,要创建PROFIBUS网络,设定为主站模式,并在窗口右侧的PROFIBUS DP树型图中选择已经组态的CPU31X站,把它拖到PROFIBUS总线上。

  这时会弹出链接窗口,选中已经组态的从站,点击Connect按钮。

  设定主站与从站之间的数据对应关系。

  主站的输入与从站的输出对应,主站的输出与从站的输出对应,注意将数据通讯的一致性设置为ALL。

  此时组态接收数据的从站,插入该从站CPU时创建PROFIBUS网络,并在Configuration页面中新建两个数据交换对应区,分别设置为MS模式和DX模式。

  设定DX模式下的通讯交换区时,需要设定发送数据从站的站地址,这里为2。

  组态完该从站后,再打开主站的硬件组态窗口,将第二个从站挂到PROFIBUS总线上去,点击Connect按键,建立主从站的链接。

设定主站与从站的地址对应关系,并将数据一致性选为ALL。

  到此,系统的硬件组态完成,分别将各个站的组态信息下载到PLC中。

  在数据发送从站的OB1中编写SFC15程序块,并插入发送数据区DB1,在数据接收从站中的OB1中编写SFC14程序块,插入接收数据区DB2:

  注意SFC14和SFC15的LADDR参数对应的是MS,DX模式下的Local Addr中的地址值,并且为16进制,所以W#16#64对应100,W#16#64对应30,在线监视SFC14和SFC15的RET_VAL参数值为0。

将编写好的OB1,SFC14,SFC15,DB1,DB2分别下载到两个从站当中,同时为了保证从站调电不导致主站停机,向主站下载OB1,OB82,OB86,OB122等程序块。

  将各个站切至运行状态,通过变量表对两个从站进行监视。

  可以看出从站间的数据实现了交换。

XML 地图 | Sitemap 地图