首页 理论教育 西门子工业通信网络组态编程及故障诊断FDL通信

西门子工业通信网络组态编程及故障诊断FDL通信

时间:2023-11-16 理论教育 版权反馈
【摘要】:图4-49 3号站FDL连接的地址信息图4-50 5号站FDL连接的地址信息4.自由第二层FDL通信的编程自由第二层FDL通信仍然通过调用通信功能块AG_SEND和AG_RECV来实现。自由第二层FDL通信方式报文头的第3个字节如果设置为带确认的数据发送方式,只有收到接收方的应答信号才能建立起通信连接,因此其安全级别较高。

西门子工业通信网络组态编程及故障诊断FDL通信

1.自由第二层FDL通信

自由第二层FDL通信在组态期间不指定连接伙伴的地址,不是在两个主站之间建立固定的连接,而是通过用户程序中4B的报文头(Job Header),指定同一物理PROFIBUS网络上某个主站的站地址和LSAP(连接服务访问点),进行数据发送。这种方式比较灵活,通过修改报文头就可以改变数据的接收方,最多可以访问126个支持FDL的站点。连接伙伴既可以在STEP7项目之内,也可以在STEP 7项目之外。

FDL服务允许发送和接收最多240B的数据,如果使用自由第二层、广播方式和多点传送方式,由于报文头的原因,最大的数据传输量为236B。

2.组态硬件

打开SIMATIC管理器,用新建项目向导建立一个新的项目,CPU为CPU 315-2DP,项目名称为“FDLfree2”(见随书光盘中的同名例程)。

在HW Config中,将电源模块信号模块和CP 342-5插入机架。采用默认的设置,CPU的MPI接口和集成DP接口的地址均为2,未使用集成的DP接口。

将CP342-5插入机架,设置其DP站地址和MPI地址均为3。生成一个PROFIBUS网络,设置网络的传输速率为1.5Mbit/s,配置文件为“标准”,将CP 342-5连接到网络上。在“工作模式”选项卡,设置CP的工作模式为“无DP”。

在SIMATIC管理器中生成另一个S7-300站。在HW Config中,将CPU 315-2DP和电源模块、信号模块插入机架,设置CPU的MPI地址和集成的DP接口的地址均为4。将CP 342-5插入机架,设置其DP地址和MPI地址均为5。将CP342-5连接到网络上,设置CP的工作模式为“无DP”。组态结束后,点击工具栏上的978-7-111-28256-3-Chapter04-109.jpg按钮,编译并保存两个站的组态信息。

3.组态FDL连接

组态好两个S7-300站后,关闭HW Config,点击SIMATIC管理器工具栏上的978-7-111-28256-3-Chapter04-110.jpg按钮,打开网络组态工具NetPro,看到连接到PROFIBUS网络上的两个站(见图4-48)。

978-7-111-28256-3-Chapter04-111.jpg

图4-48 网络与连接组态

选中图4-48中CPU 315-2DP所在的小方框,在下面的窗口出现连接表,双击连接表第一行的空白处,建立一个新的连接。在弹出的“插入新连接”对话框(见图4-48的右图)中,将“连接伙伴”中的连接对象设为“未指定”,连接类型设为“FDL连接”。

点击“确定”按钮,在出现的FDL连接属性对话框的“地址”选项卡中,选中复选框“空闲第二层访问”(见图4-49)。设置本地站的LSAP的值为18,远程站的地址和LSAP在报文头中给出,不能在组态时设置。

选中图4-48的站点SIMATIC 300(2)中的CPU 315-2DP,双击下面的连接表中的“FDL连接”,在出现的FDL连接属性对话框的“地址”选项卡中,选中复选框“空闲第二层访问”(见图4-50)。设置本地站的LSAP的值为10。

978-7-111-28256-3-Chapter04-112.jpg

图4-49 3号站FDL连接的地址信息

978-7-111-28256-3-Chapter04-113.jpg

图4-50 5号站FDL连接的地址信息

4.自由第二层FDL通信的编程

自由第二层FDL通信仍然通过调用通信功能块AG_SEND和AG_RECV来实现。(www.xing528.com)

在自由第二层方式下,用发送数据区和接收数据区的前4个字节作为报文头。报文头的第1、2个字节分别是通信伙伴的站地址(0~126)和连接服务访问点LSAP(1~62),第3个字节是发送数据的方式,00H为SDA(Send Data with Acknowledge,带确认的数据发送),01H为SDN(Send Data with no Acknowledge,无确认的数据发送)。第4个字节未用,从第5个字节开始,才是实际接收和发送的数据。

自由第二层FDL通信方式报文头的第3个字节如果设置为带确认的数据发送方式(SDA),只有收到接收方的应答信号才能建立起通信连接,因此其安全级别较高。

因为参数ACT一直为1(true),为了避免发送过于频繁,将发送程序放在循环周期为100ms的中断组织块OB35中。在FDL连接属性对话框的“地址”选项卡中(见图4-49和图4-50),可以找到通信伙伴CP 342-5的站地址和LSAP。下面是站点“SIMATIC 300(1)”OB35中的程序:

程序段1:

978-7-111-28256-3-Chapter04-114.jpg

程序段2:发送数据

978-7-111-28256-3-Chapter04-115.jpg

978-7-111-28256-3-Chapter04-116.jpg

下面是站点“SIMATIC 300(1)”的OB1中的接收程序。实际的系统中,可能有多个站向该站发送数据,接收到的前两个字节的数据分别是发送方的站地址和LSAP,根据它们可以判别是哪个站发送的,然后将接收到的数据分别保存到不同的数据区中。

程序段1:

978-7-111-28256-3-Chapter04-117.jpg

程序段2:

978-7-111-28256-3-Chapter04-118.jpg

初始化程序OB100中,调用SFC 21,将DB1的数据发送区中的各个字预置为16#1111。将DB2的数据接收区中的各字节清零。

两台CPU 315-2DP的程序基本上相同,其区别在于站点“SIMATIC 300(2)”的程序中CP地址为W#16#150,通信伙伴的站地址为3,LSAP为18。在它的OB100中,调用SFC 21将DB1的数据发送区中的各个字预置为16#2222。

图4-51和图4-52是在运行时复制的通信双方的变量表。图4-51中的DB2.DBD0是3号站接收到的报文头,可以看出,发送方的站地址(第1个字节)为5,LSAP(第2个字节)为10(16#A),第3个字节16#00表示是带确认的数据发送(SDA),第4个字节16#FF没有什么意义。

978-7-111-28256-3-Chapter04-119.jpg

图4-51 SIMATIC300(1)的变量表

978-7-111-28256-3-Chapter04-120.jpg

图4-52 SIMATIC300(2)的变量表

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

我要反馈