如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

说明:

通过对Layer 2服务的直接访问来实现SIMATIC S5 (带 SINEC CP5431)和SIMATIC S7通过PROFIBUS进行数据交换。Layer 2服务被称做FDL(现场总路线数据连接)服务。n

SINEC L2是PROFIBUS的更早称呼。SINEC L2支持的波特率范围为9.6 kbit/s到 1.5 Mbit/s。PROFIBUS支持的波特率范围为9.6 kbit/s到12 Mbit/s。n

本条目描述了如何组态FDL连接用于SIMATIC S5 (带 SINEC CP5431)和SIMATIC S7通过PROFIBUS进行数据交换。n

在SIMATIC S7上组态FDL连接

用SIMATIC Manager打开含有SIMATIC S7控制器的STEP 7项目。n

通过“Options > Configure Network”切换到NetPro。在NetPro中组态连接。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图1:打开NetPron

标记CPU,通过“Insert > New Coection…”插入一个新的连接。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图2:创建新连接n

选择“Unspecified”为连接伙伴机,因为S5不集成在该项目中,选择“FDL coection”为连接类型。点击“OK”> 关闭对话框,并打开连接属性对话框。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图3:未定义的FDL连接n

为FDL连接指定一个名称,如“FDL-S5”。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图4:连接属性:General Information标签页n

切换到“Addresses”标签页。为伙伴机指定S5 CP5431的PROFIBUS地址。n

在S7端(本地)和S5端(伙伴机)定义LSAP, 并由它唯一地定义FDL连接。n

在S5端组态连接时,也必须考虑所用的规范(见图17)。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图5:属性对话框:Addressesn

点击“OK”按钮,确认设置。n

标记CPU时,所创建的连接显示在连接表中。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图6:创建的FDL连接n

现在可以检查PROFIBUS设置在“Transmission Rate”或者“Bus Profile”中的变化。选择PROFIBUS子网,并通过“单击右键> Object Properties...”打开“Properties”对话框.n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图7:PROFIBUS的对象属性n

选择“Network Settings”标签页,在此指定网络参数。n

警告:
对于网络中所有节点,网络参数和总线参数必须一样。n

对于SIMATIC S5的PROFIBUS连接,应该使用“User-defined”配置,因为总线参数由S5预设. 点击“Bus Parameters...”按钮,弹出“Bus Parameters”对话框。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图8:网络参数n

打开“Bus Parameters”。
警告:
必须根据S5 CP5431的规范设置总线参数(见图18)。传输速率,总线行规和总线参数必须与PROFIBUS子网中所有节点一致。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图9:总线参数n

点击“OK”关闭对话框。n

在NetPro中通过“Network > Save and Compile...”保存和编译组态。n

然后将组态加载到S7控制器中。n

关闭NetPro,返回SIMATIC Manager。n

S7程序的说明
在STEP 7项目中,必须把“AG_Send”(FC5)和“AG_RECV”( FC6)调用功能添加到程序代码。在样例中 ,使用的是S7-300。对于S7-400程序类似。n

按照以下步骤完成:n

通过“File > Open > Libraries”打开“SIMATIC_NET_CP”库。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图10:打开一个库n

在“SIMATIC_NET_CP”库中,“CP300 > Blocks”下面,可以找到FC5 “AG_SEND”和FC6 “ AG_RECV”功能。n

如果使用的是S7-400,可以在S7程序中调用通信功能FC50 "AG_LSEND"和 FC60 "AG_LRECV"。可在“CP400 > Blocks”下面“SIMATIC_NET_CP”库中找到这两个通信功能。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图11:复制FC5和FC6n

复制通信功能FC5 “AG_SEND”和FC6 “ AG_RECV”到S7-300的S7程序中。n

关闭库。n

在项目中,打开将要进行FC5和FC6调用编程的块。n

注意事项:
块必须始终在OB1循环中运行。n

把FC5调用添加到程序代码中:n

“Call FC5”

按“ENTER”确认该条目,显示执行功能所需的功能参数。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图12:FC5功能调用n

在NetPro中创建的连接已经定义了功能参数“ID”和“LADDR”。n

可以通过在输入参数“ID”上单击右键,在弹出菜单中选择“Coections...”后弹出“Block parameters for coection”对话框。参数“ID”和“LADDR”的值会被自动输入。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图13:“AG_Send”功能链接到FDL连接n

在接下来的对话框中选择FDL连接,点击“OK”。 参数“ID”和“LADDR”的值会被自动输入。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图14:选择FDL连接n

如图所示,设置FC5 “AG_SEND”剩余的参数。n

按同样方式组态FC6 “AG_RECV”的调用。n

用于FC5 / FC6调用的样例程序可能看起来类似这样:n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图15:FC5/FC6的样例程序n

为了激活Send作业,必须在运行的OB(例如OB100)中设立标志100.0,这样当CPU重启时将触发通信。n

当时钟标志10.5出现上升沿,并且没有运行“AG_SEND”作业,那么将激活“AG_SEND”作业。输出参数“DONE”( M15.0)和“ERROR”(M15.1)标志作业结束。作业完成后可以再次激活“AG_SEND”。如果出现错误,将保存状态字并用于分析错误。在评估“AG_SEND”作业之后,调用“AG_RECV”。n

确保已经创建了足够长度的接收和发送数据缓冲区(在样例DB10中)。
在样例中,数据长度为10字节,那么DB10中的发送和接收区域必须至少为5字长。n

将块加载到S7中。n

现在S7的组态完成了。n

初始化CP5431和创建PLC/PLC连接

通过“Start > SIMATIC > STEP 5 > STEP 5”启动STEP 5。n

按“F9”切换到CP5431的组态工具“SINEC NCM COM 5431”。n

注意事项:
组态工具“SINEC NCM COM 5431”是STEP 5内置的附加软件,用于组态CP5431。该软件不包含在标准软件包中,需要单独订购。n

通过菜单“Edit > CP_Init”初始化CP5431。n

输入CP5431的L2地址(PROFIBUS地址),该地址必须与NetPro中输入的PROFIBUS地址匹配(见图8: 伙伴机的PROFIBUS地址)。
Base SSNR (基本接口编号)指定了机架中CP。以后当在S5程序中调用模块时使用该接口编号。n

注意事项:
在本条目的末尾的基本组态规则中,有关于初始化CP的更多组态注意事项。n

按“F7”确认设置。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图16:初始化CP5431n

打开对话框“Edit > Coections > PLC-PLC coections”。n

注意事项:
通过PLC-PLC连接的数据传输是用于传输具有长度为最大128个字节的一致的数据块。使用直接访问第二层服务的数据传输,可以发送/接收具有长度为最大240个字节的数据块。关于直接访问第二层服务的数据传输的更多信息, 参看手册“SINEC CP 5430 TF with COM 5430 TF, CP 5431 FMS with COM 5431 FMS ”,位于条目号1804226。n

重要事项
以下规范是基于NetPro的(见图5)。n

  • 为“Remote L2 station address”添加S7(PROFIBUS地址(本地):见图5)的PROFIBUS地址。n
  • 在“PRIO”中,设置优先级为低(“L”)。n
  • 对于“SSAP”(源SAP)添加3(见图5:连接方的LSAP),对于“DSAP”( 目标SAP)添加2(见图5:本地LSAP)。n
  • 对于S5和S7之间的数据传输,必须设置“Send Parameters:” (参数发送)和“Receive Parameters:” (参数接收)。为SSNR输入CPU的偏移接口编号(对于CPU偏移总为0)。在 S5程序中调用SEND和RECEIVE时,必须考虑指定的工程号(见图20和图21,Parameter: “A-NR”) .

注意事项:
对于S7-300/400的FDL通信“PRIO (H/I/L)”,必须设置L = Low。否则,S7控制不会收到数据!n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图17:创建PLC-PLC连接n

按“F7”确认组态。n

通过“Edit > Global Network Parameters”,打开CP5431的全局总线参数和总线时间.n

对于“Data rate”选择期望传输速率,通过F1 “Calculate”可以重新计算总线时间。在样例中数据速率是1500000bps(1.5 Mbit/s)。比较网络参数和NetPro中的设置(见图9)。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图18:全局网络参数n

按“F7”确认全局总线时间组态。n

通过“Network > Network Comparison”进行网络比较。在本地总线参数中采用全局总线参数。n

通过“Transfer > FD > CP”将组态加载到CP5431。n

通过“File > Close”和“ESC”返回到STEP 5组态界面。n

S5 CPU程序的说明

S5程序的功能块依赖于所用的S5 CPU。该说明基于AG135和AG155块。n

可以付费得到用于AG135和AG155的处理模块。可以从当地西门子销售商订购这些模块(订货号:6ES5 842-7CB01单机授权)。n

注意事项:
在本条目末尾的基本组态规则中,有不同型号PLC及相关通信FB之间的比较。n

  • 通过启动OB中的SYNCHRON调用,实现CP5431与CPU的同步

在STEP 5项目中插入启动OB:OB20、OB21和OB22。n

在这些OB中,进行FB125 “SYNCHRON”调用编程,以启动CPU和CP的同步。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图19:调用SYNCHRONn

注意事项
在本条目末尾的基本组态规则中,有关于FB125(SYNCHRON)调用的更多信息。n

  • 在OB1中调用SEND/RECEIVE块

创建OB1。n

对于循环发送,使用以下两个表达式创建RLO=1(逻辑操作的返回值):n

  • O M 0.0n
  • ON M 0.0

注意事项:
如果不希望循环发送数据,则通过显示文字(“任务的错误分析”)的判断,编程锁住调用。显示文字的可能状态参见手册“SINEC CP 5430 TF with COM 5430 TF, CP 5431 FMS with COM 5431 FMS”,章节“7.1.2 使用ANZW和PAFE检查”,位于条目号1804226。n

插入对SEND块(FB120)的调用。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图20:调用SEND块(FB120)n

重要事项:
Send块的长度按字定义(参数:“QLAE: +5” > 5字)。n

使用以下两个表达式创建RLO=1:n

  • O M 0.0n
  • ON M 0.0

然后添加对RECEIVE块(FB121)的调用。n

如何通过PROFIBUS在SIMATIC S5 (CP5431)和SIMATIC S7之间建立FDL连接?

图21:调用RECEIVE块(FB121)n

  • “SEND”和“RECEIVE”块仅使用RLO=1触发。如果RLO=0,仅更新参数“ANZW”和“PAFE”。n
  • 如果接收区域的长度被预设为“-1”,将自动识别数据长度(参数 :“ZLAE: -1”)。

注意事项:
在本条目末尾的基本组态规则中,有关于调用FB120(SEND)和FB121(RECEIVE)的更多信息。n

按“F7”保存OB1。n

  • 创建发送和接收缓冲区

因为发送和接收缓冲区在DB10中,必须在项目中创建并声明具有足够的长度。在样例中数据长度是10字节,即 DB10中的发送和接收区域必须至少为5字长。n

然后将整个程序加载到S5。n

基本组态规则:

接口编号(SSNR)

  • 在CP5431的组态工具“SINEC NCM COM 5431”中规定CP的接口编号,在Edit > CP Init界面中。n
  • 在所有CPU(FB120、FB121、FB125)的通信块中,接口编号必须指定为一个参数。n
  • 接口编号必须总可以被4除(0、4、8、16、...)。

比较PLC与功能块SYNCHRON、SEND、RECEIVE

SYNCHRON

SEND

RECEIVE

AG 95U

-

FB252

FB253

AG 115

FB249

FB244

FB245

AG 135

FB125

FB120

FB121

AG 155

FB125

FB120

FB121

SEND (FB120)与RECEIVE (FB121)与SYNCHRON (FB125)

  • QLAE和ZLAE的配置为字配置(QLAE=0.10>发送10个字;ZLAE=0.10>接收10个字)
  • 参数PAFE和ANZW是输出参数。用于诊断和作业监控。在相关CP的手册中有更多信息。
  • (ANR)规定了CP中组态的连接(见图17)。
  • 这些块必须被无条件调用(例如SPA FB120)。

关键字:
硬件组态,使用入门,指导方针,向导,指导,循序渐进,LSAP,发送/接收,Send/Recv,FDL协议,PLC-PLC连接,S5兼容通信,接口连接

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc333787.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论