如何实现PROFIBUS从站之间的DX通讯?
通过DX方式可以实现PROFIBUS从站之间的数据交换,无需再在主站中编写通讯和数据转移程序。系统中至少需要一台PROFIBUS 1类主站,两台PROFIBUS非智能从站才能够实现DX模式的数据交换,下面将通过图解,说明实现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等程序块。
将各个站切至运行状态,通过变量表对两个从站进行监视如下:
可以看出从站间的数据实现了交换。
没有评论:
发表评论