首页 理论教育 PROFIBUS-FDL通信技术详解

PROFIBUS-FDL通信技术详解

时间:2023-06-17 理论教育 版权反馈
【摘要】:只有PROFIBUS通信处理器CP支持FDL的数据传输,CP342-5、CP343-5用于S7-300系列PLC;两种型号的CP443-5用于S7-400系列PLC;上位机系统中可以插入PROFI-BUS网卡,如CP5512、CP5611、CP5613实现FDL通信。FDL通信不占用CPU的“S7 Connection”通信资源,也是S7-300系列PLC在PROFI-BUS上实现主站通信的常用方式。图10-15 FDL连接属性“Addresses”标签4)在“Addresses”标签中,按双方协定设置本方的LSAP和对方的PROFIBUS地址以及LSAP地址,LSAP地址范围与通信方式有关,在下拉菜单中显示允许的范围。

PROFIBUS-FDL通信技术详解

FDL(Fieldbus Data Link)主-主通信方式,每个站点具有传送令牌的能力,适合于单元级主站间的数据交换,通信双方使用发送和接收函数进行通信,每个通信数据包最大为240个字节,两个站点间可以发送和接收多个数据包。FDL通信还支持多播和广播等多种通信方式。只有PROFIBUS通信处理器CP支持FDL的数据传输,CP342-5、CP343-5用于S7-300系列PLC;两种型号的CP443-5用于S7-400系列PLC;上位机系统中可以插入PROFI-BUS网卡,如CP5512、CP5611、CP5613实现FDL通信。每一个通信处理器可以同时与多个主站建立通信连接,例如CP342-5的连接数为16个,其他通信处理器的连接个数参考样本手册。

FDL通信不占用CPU的“S7 Connection”通信资源,也是S7-300系列PLC在PROFI-BUS上实现主站通信的常用方式。下面以S7-300系列PLC在相同的项目下为例介绍实现FDL通信的步骤:

1)在一个项目下建立两个S7-300系列PLC站。分别进行硬件配置,插入CPU和CP342-5,创建PROFIBUS网络,分配PROFIBUS站号,使两个站点在相同的网络上。

2)在“SIMATIC Manager”界面中,使用菜单命令“Options”➝“Configuring Network”进入网络配置界面“NETPRO”。

3)点击其中一个S7-300 CPU,后在下方出现连接表,双击连接表中任意一空白行弹出对话框,选择需要连接的对象(与之通信的S7-300系列PLC站),在“Type”中选择“FDL”,点击“Apply”键确认并进入FDL连接属性界面,如图10-14所示。在连接属性中自动列出连接ID、连接名和块参数(编程时需要使用)。

978-7-111-28718-6-Chapter10-29.jpg

图10-14 FDL连接属性界面

4)在被连接CPU的连接表中自动生成一个连接,该连接同样表示本地CPU的连接信息。双击打开连接,记录本方的块参数,用于编程时使用。

5)在一个CPU OB35(间隔发送)中调用发送函数FC5 AG_SEND(“Libraries”➝“Standard Library”➝“SIMATIC_NET_CP”➝“CP300”,如果是S7-400系列PLC CPU,在“CP400”目录下),示例程序如下:

978-7-111-28718-6-Chapter10-30.jpg

978-7-111-28718-6-Chapter10-31.jpg

通信函数FC5的参数含义:

ACT:沿触发信号

ID:参考本地CPU连接表中的块参数。

LADDR:参考本地CPU连接表中的块参数。

SEND:发送区,最大通信数据为240字节。

LEN:实际发送数据长度

DONE:每次发送成功,产生一个上升沿。

ERROR:错误位。

STATUS:通信状态字,如果错误位为1,通过状态字查找错误原因。

示例程序中S7-300系列PLC发送DB1中前60字节。

6)在通信方CPU OB1中调用接收函数FC6 AG_RECV(“Libraries”➝“Standard Li-brary”➝“SIMATIC_NET_CP”➝“CP300”,如果是S7-400 CPU,在“CP400”目录下),示例程序如下:(www.xing528.com)

978-7-111-28718-6-Chapter10-32.jpg

通信函数FC6的参数含义:

ID:参考本地CPU连接表中的块参数。

LADDR:参考本地CPU连接表中的块参数。

RECV:接收区。接收区应大于等于发送区。

NDR:每次接收到新数据,产生一个上升沿。

ERROR:错误位。

STATUS:通信状态字。

LEN:实际接收数据长度。

将配置信息和通信程序下载到相应的CPU中,通信建立。示例程序中S7-300系列PLC将接收的数据存储于本地数据区DB2的前60字节中。两个站点通过一个连接可以同时进行发送和接收任务。

7)如果通信不能建立,双击CP模块,在属性对话框中选择“Diagnostics”标签,联机后点击“Run..”键进入诊断界面,可以诊断连接状态、发送成功的数据包和实际接收的数据包。诊断功能在这里不作详细介绍。

在实际应用中,通信的站点往往不在同一项目下,由于程序保密不可能复制对方程序,这样需要通信双方相互提交通信长度、PROFIBUS站地址、LSAP地址及选择的PROFIBUS参数组(通常选择“Standard”)等信息。下面以S7-300系列PLC在不同的项目下为例介绍实现FDL通信的步骤:

1)在项目下建立S7-300系列PLC站。进行硬件配置,插入CPU和CP342-5,创建PROFIBUS网络,按双方协定分配PROFIBUS站号、选择PROFIBUS参数组。

2)在“SIMATIC Manager”视窗中,使用菜单命令“Options”➝“Configuring Net-work”进入网络配置界面“NETPRO”。

3)点击S7-300系列PLC CPU后在下方出现连接表,双击连接表中任意一空白行弹出对话框,选择连接的对象为“Unspecified”,在“Type”中选择“FDL”,点击“Apply”键确认,进入FDL连接属性界面,如图10-15所示。在“General Information”标签中,自动列出连接ID、连接名和块参数(编程时需要使用)。

978-7-111-28718-6-Chapter10-33.jpg

图10-15 FDL连接属性“Addresses”标签

4)在“Addresses”标签中,按双方协定设置本方的LSAP和对方的PROFIBUS地址以及LSAP地址,LSAP地址范围与通信方式有关,在下拉菜单中显示允许的范围。

5)通信方按相同的方法进行配置。

6)编写通信程序(与在相同项目下建立FDL连接的通信程序相同),将配置信息和通信程序下载到CPU中,通信建立。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈