西门子S7-300入门级教程07-进阶通讯篇01-SFC14、SFC15的应用

S7-300样图

实验一SFC14、SFC15的应用

1)目的

掌握SFC14/SFC15

2)实验内容

利用标准库\系统功能块中的SFC14"DPRD_DAT"和标准库\系统功能块中的SFC15"DPWR_DAT"实现主站和智能从站之间的数据双向交换,从指定的发送区发送到指定的接收区

3)实验流程

新建项目,根据上述实验步骤完成主站和智能从站的硬件组态,使其处于同一Ethernet(1)中。

图1-完成硬件组态

其中一个站点模式选择为DPSalve,一个站点模式选择为DPMaster。

在主站中新建PROFIBUS(1),从站也选择这个PROFIBUS(1),在DP_Master的HWConfig中将已组态的DP_Salve拖放至PROFIBUS(1)网络,如下图所示。

图2-DP_Salve拖放至PROFIBUS(1)网络

将DP_Salve1拖放至PROFIBUS(1)网络时,需将该站与主站进行Couple,和上述实验相同操作,如下图所示。

图3-将该站与主站进行Couple

双击挂在PROFIBUS(1)上的DP_Salve,在Configuration中新建映像区,模式为MS,Master的Output对应Slave的Input,长度为32Byte,一致性为ALL,如下图所示。

图4-新建映像区

Master的Input对应Slave的Output,长度为32Byte,一致性为ALL,如下图所示。

图5-Master的Input对应Slave的Output

Master和Slave之间的映像区创建完成后,如下图所示。

图6-映像区创建完成后

注意:当我们需要保证所传递数据的一致性时,需要选择ALL(在有些运用场合,如果同一批数据无法保证数据一致性会导致一个数据前半部分和后半部分的时间不一致,会导致出现一些错误),想要保证数据一致性有两种方法:

①在设置中选择ALL,如果不想编程,就需要保证传输的数据段在过程映像区内,如果数据量大,那么也可以分别双击两个CPU,在设置中修改过程映像区大小(最大为2048),如下图所示:

图7-修改过程映像区大小

②在设置中选择ALL,然后使用SFC14/SFC15来传输数据(一般用于传输超过过程映像区的数据,超过过程映像区,有需要保证数据的一致性,那么就需要编程来实现要求),需要在主站从站分别调用。

③OB1PI和PIP都是过程映像区,300只能用OB1PI,400两种都能用。

图8-过程映像区

Master站编程

在Master站点中新建DB2,创建包含两个数组,一个对应IN,一个对应OUT,如下图所示。

图9-新建DB2

在OB1中调用准库\系统功能块中的SFC14"DPRD_DAT"和标准库\系统功能块中的SFC15"DPWR_DAT"实现主站和智能从站之间的数据双向交换,从指定的发送区发送到指定的接收区,编程如下图所示。

图10-调用SFC14/SFC15

Salve站编程

在Salve站点中新建DB1,创建两个数组,一个IN,一个OUT,如下图所示。

图11-新建DB1

在OB1中调用准库\系统功能块中的SFC14"DPRD_DAT"和标准库\系统功能块中的SFC15"DPWR_DAT"实现主站和智能从站之间的数据双向交换,从指定的发送区发送到指定的接收区,编程如下图所示。

图12-调用SFC14/SFC15

注意:对于SFC14/15,有多少条数据传递,在各自CPU的中就需要有多少个SFC14/15,一条对应一个,因为不是IN就是OUT,每条对应一个SFC14或者SFC15。(最好在两个CPU中编程对应起来按每条顺序编写,每个都需要写那一条对应的起始位)

分别选中主站和从站,编译下载,使CPU正确运行。新建变量表来监控主站和从站DB块数据的变化。

改变主站的DB2和从站的DB1的DBD32-DBD60共32个字节的数值,主站相应地址的也作出改变,如下图所示。

图13-新建变量表

注意:前面我们定义了过程映像区大小为128,在此处我们是在201中传输,所以ID是不会显示出来的,但是128是人为设定,实际的过程映像区是有2K的,所以在实际过程映像区中PID中还是能观察到数据,如下所示:

图14-实际过程映像区

4)总结

1.对于SFC14/15,有多少条数据传递,在各自CPU的中就需要有多少个SFC14/15,一条对应一个,因为不是IN就是OUT,每条对应一个SFC14或者SFC15。(最好在两个CPU中编程对应起来按每条顺序编写,每个都需要写那一条对应的起始位)

2.OB1PI和PIP都是过程映像区,300只能用OB1PI,400两种都能用。

3.当需要保证所传递数据的一致性时,需要选择ALL,想要保证数据一致性有两种方法:

①在设置中选择ALL,保证传输的数据段在过程映像区内,如果数据量大,分别双击两个CPU,在设置中修改过程映像区大小(最大为2048):

②在设置中选择ALL,然后使用SFC14/SFC15来传输数据(一般用于传输超过过程映像区的数据,又需要保证数据的一致性),需要在主站从站分别调用。

敬请期待下一篇-通讯进阶篇—CP342-5作为主站和FC1、FC2的应用

谭俊豪:重庆大学机械工程学院学士,西门子中国公司培训生

免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系