说明:
通过对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
图1:打开NetPron
标记CPU,通过“Insert > New Coection…”插入一个新的连接。n
图2:创建新连接n
选择“Unspecified”为连接伙伴机,因为S5不集成在该项目中,选择“FDL coection”为连接类型。点击“OK”> 关闭对话框,并打开连接属性对话框。n
图3:未定义的FDL连接n
为FDL连接指定一个名称,如“FDL-S5”。n
图4:连接属性:General Information标签页n
切换到“Addresses”标签页。为伙伴机指定S5 CP5431的PROFIBUS地址。n
在S7端(本地)和S5端(伙伴机)定义LSAP, 并由它唯一地定义FDL连接。n
在S5端组态连接时,也必须考虑所用的规范(见图17)。n
图5:属性对话框:Addressesn
点击“OK”按钮,确认设置。n
标记CPU时,所创建的连接显示在连接表中。n
图6:创建的FDL连接n
现在可以检查PROFIBUS设置在“Transmission Rate”或者“Bus Profile”中的变化。选择PROFIBUS子网,并通过“单击右键> Object Properties...”打开“Properties”对话框.n
图7:PROFIBUS的对象属性n
选择“Network Settings”标签页,在此指定网络参数。n
警告:
对于网络中所有节点,网络参数和总线参数必须一样。n
对于SIMATIC S5的PROFIBUS连接,应该使用“User-defined”配置,因为总线参数由S5预设. 点击“Bus Parameters...”按钮,弹出“Bus Parameters”对话框。n
图8:网络参数n
打开“Bus Parameters”。
警告:
必须根据S5 CP5431的规范设置总线参数(见图18)。传输速率,总线行规和总线参数必须与PROFIBUS子网中所有节点一致。n
图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
图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
图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
图12:FC5功能调用n
在NetPro中创建的连接已经定义了功能参数“ID”和“LADDR”。n
可以通过在输入参数“ID”上单击右键,在弹出菜单中选择“Coections...”后弹出“Block parameters for coection”对话框。参数“ID”和“LADDR”的值会被自动输入。n
图13:“AG_Send”功能链接到FDL连接n
在接下来的对话框中选择FDL连接,点击“OK”。 参数“ID”和“LADDR”的值会被自动输入。n
图14:选择FDL连接n
如图所示,设置FC5 “AG_SEND”剩余的参数。n
按同样方式组态FC6 “AG_RECV”的调用。n
用于FC5 / FC6调用的样例程序可能看起来类似这样:n
图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
图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
图17:创建PLC-PLC连接n
按“F7”确认组态。n
通过“Edit > Global Network Parameters”,打开CP5431的全局总线参数和总线时间.n
对于“Data rate”选择期望传输速率,通过F1 “Calculate”可以重新计算总线时间。在样例中数据速率是1500000bps(1.5 Mbit/s)。比较网络参数和NetPro中的设置(见图9)。n
图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
图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
图20:调用SEND块(FB120)n
重要事项:
Send块的长度按字定义(参数:“QLAE: +5” > 5字)。n
使用以下两个表达式创建RLO=1:n
- O M 0.0n
- ON M 0.0
然后添加对RECEIVE块(FB121)的调用。n
图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