n
问题:
如何通过 PROFIBUS 在 TELEPERM AS488/TM (IF964-DP 接口模块) 和 SIMATIC S7 之间建立 FDL 连接?n
解答:
此条目提供了关于如何在 S7 端组态一体未指定的 FDL 连接,以及如何在 AS488/TM 端组态相关的 PLC/PLC 连接数据的描述。n
在 SIMATIC S7 上组态 FDL 通讯
使用 SIMATIC 管理器打开包含 SIMATIC S7 控制器的 STEP 7 项目。n
通过“选项 > 组态网络”切换到 NetPro。
在“NetPro”中组态连接n
图 1:打开 NetPron
选中 CPU,并通过“插入 > 新连接…”插入一个新连接。n
图 2:创建新连接n
选择“未指定”作为连接伙伴,这是由于伙伴(TELEPERM AS488/TM)尚未集成到项目中。选择“FDL 连接”为连接类型。
点击“确定”关闭对话框,此时将打开连接的“属性”对话框。n
图 3:未指定的 FDL 连接n
为 FDL 连接定义名称。n
图 4:连接属性:常规信息选项卡n
切换至“地址”选项卡。对于连接伙伴,可以指定 IF964-DP 模块在 AS488/TM 中的 PROFIBUS 地址。n
定义在 S7 端(本地)唯一指定为空闲 FDL 连接的 LSAP。在这里不定义 AS488/TM 端(伙伴)。n
注意事项:
在 AS488/TM 端组态连接时,还必须考虑使用规范 (参见图 18、20)。n
图 5:属性对话框:地址n
设置属性“空闲层 2 访问”。只能通过这种方式才能在 AS488/TM 中操作固定调节的 LSAP (= 62)。在此操作模式下,通过程序控制完成通讯伙伴的寻址。n
点击“确定”接受设置。n
在选中 CPU 时,在连接表中显示已创建的连接。n
图 6:创建 FDL 连接n
此时,必须调整 PROFIBUS 配置文件中“传输速率”和“总线配置文件”等设置,使之与 AS488/TM 的 PLC/PLC Link 相匹配。
选择 PROFIBUS 子网,并通过“右键点击 > 对象属性...”打开“属性”对话框。n
图 7:PROFIBUS 的对象属性n
选择“网络设置”选项卡,在其中指定网络参数。n
注意事项:
在网络上,所有节点的网络参数和总线参数必须相同。n
对于通过 PROFIBUS 与 TELEPERM AS488/TM 的连接,可以使用“用户定义”配置文件。只有在这种方式下,总线参数 Ttr (令牌循环时间)才可以与 AS488/TM 的 PLC/PLC Link 手册中的相匹配。n
图 8:网络参数n
打开“总线参数”。n
必须根据 AS488/TM 的规范 (AGAG_KOM.INI 文件) 设定总线时间,参见图 17。如果先选择配置文件“通用 (DP/FMS)”,再选择配置文件“用户定义”,则大多数总线参数,系统都已设置正确数值。n
对于 Ttr 参数“令牌循环时间”,设置值至少为 90000。当 PLC/PLC 耦合总线上有超过 10 个活动伙伴时,必须使用下式计算 Ttr 值:Ttr = AAT * TTR,其中 AAT 是总线上的活动伙伴数 (缺省值:10),而 TTR 是波特率相关基数 (对 1,5 MBaud 是 9000)。n
图 9:网络参数n
单击“确定”(OK) 关闭对话框。n
在 NetPro 中通过“网络 > 保存和编译...”保存并编译组态。n
然后将组态加载到 S7 控制器中。n
通讯伙伴 AS488/TM 的描述
在 Netpro 中生成所有通讯伙伴的总览时,可以将 AS488/TM 也视作通讯伙伴。对此,通过 SIMATIC 管理器插入一个类型为“其它站”的对象。对此站进行命名,例如“AS488_C12”;并在 Netpro 中将此站连接到 PLC/PLC 耦合总线, 最后为它分配一个地址,例如 12。n
图 10:Netpro 中 PLC/PLC 耦合总线的通讯伙伴n
关闭 NetPro,返回到 SIMATIC 管理器。n
S7 程序的描述
在 STEP 7 项目中,必须在程序代码中添加“AG_SEND”(FC5)和“AG_RECV”(FC6)函数的调用。
在此实例中使用 S7-400。其过程与 S7-300 类似。n
编程过程如下步骤所示:n
通过“文件 > 打开 > 库”,打开“SIMATIC_NET_CP”库。n
图 11:打开库n
在“SIMATIC_NET_CP”库中,“CP400 > 块”下面,可以找到 FC5“AG_SEND”和 FC6“AG_RECV”函数。n
图 12:复制 FC5 和 FC6n
必须将此块复制到 STEP 7 项目的块容器中。
关闭库。n
在 STEP 7 项目中,打开要在其中对 FC5 和 FC6 调用进行编程的块。n
注:
此块必须一直在 OB1 循环中运行。n
在程序代码中添加 FC5 的调用:
“Call FC5”n
按“ENTER”键,确认输入的内容,将显示执行该函数所需的参数。n
图 13:FC5 的函数调用n
已经通过 NetPro 中创建的连接定义了参数“ID”和“LADDR”。n
可以通过“右键点击 > 连接...”自动输入参数。n
图 14:使用 FDL 连接链接到“AG_SEND”函数n
在下一个对话框中,选择 FDL 连接,然后点击“确定”。n
图 15:选择 FDL 连接n
如图所示,指定 FC5“AG_SEND”剩余的其它参数。n
以相同方式组态 FC6“AG_RECV”的调用n
以下为调用 FC5 / FC6 的示例程序,其中接收了 60 个 IEEE 实型值,发送了 59 个 IEEE 实型值。在进行此操作时需注意发送顺序,必须将丢失的连接参数添加到 4 字节长的顺序报头中;该顺序报头位于发送数据之前。相反,对于接收顺序,从顺序报头中读出这些参数,这样才可以确定作为接收数据来源的通讯伙伴。n
图 16:FC5 / FC6 的示例程序n
为激活发送作业,在运行 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
需确保创建的数据接收缓冲区和发送缓冲区(在实例中为 DB48 和 DB52)具有足够的长度。
在此实例中,数据长度为 60*4 = 240 字节,即 DB48 和 DB52 中的发送和接收区域长度至少为 240 + 4 字节= 120 + 2 字。n
将块加载到 S7 控制器中。n
此时,S7 的组态便已完成。n
注意事项:
从 AS488/TM 发送到 S7 站的数据报文最多可以包含 60 个 IEEE 数值。反之,从 S7 站发送到 AS488/TM 的数据报文最多可以包含 59 个 IEEE 数值,这是由于报文前面必须附加包含 4 字节的 AS488/TM 中接收源的寻址信息(在此实例中:GA = 49,offset = 0,DAAR = 4,而 reserve = 0)。n
组态 TELEPERM AS488/TM 上的 PLC/PLC-FDL 通讯
• 组态初始化文件 AGAG_KOM.INI
为了在 AS488/TM 中,使用 PROFIBUS 地址 12 和波特率 1.5 MBaud,将 PROFIBUS 接口模块 IF964-DP 作为 PLC/PLC 的成员使用,需要在初始化文件 AGAG_KOM.INI 中为总线参数设置下列数值:n
图 17:初始化文件 AGAG_KOM.INIn
此后,必须将 AGAG_KOM.INI 文件复制到 AS488/TM 存储卡上。当 AS488/TM 引导启动或新近完成 PLC/PLC 链接的发布(SYST.WART 中的命令 FR=1,AGAG-Kopplung)时,便会使用这些设置。n
注意事项:
关于组态 AGAG_KOM.INI 初始化文件的更多注意事项,请参考手册“AS488/TM 的 PLC/PLC 耦合软件包”的第 2.4 节中找到。n
• 为从 S7 站发送报文创建 SAP (接收盒)
在图 16 的 S7 程序中,在顺序报头中使用了 PROFIBUS 目标地址 12 和远程 SAP 40。因此在 AS488/TM 中,必须为 PROFIBUS 地址为 8 的 S7 站(作为发送者)预留 LSAP 40。为此,在 SYST.WART 中 PLC/PLC 链接的组态对话框内,设置 NS=40.8。最后,通过发布命令 FR=1,IF964-DP 模块再次初始化,并为 PROFIBUS 成员 8 创建 SAP (接收盒) 40。n
图 18:根据图 16 中的顺序报头,在 SYST.WART 中创建 SAP (接收盒)n
TELEPERM 块参数设置的说明
• S5KE 块
作为一个基本原则,必须在处理周期至少为 500 ms 的周期 2 中安装接收块 S5KE。对于性能足够的 CPU,保留 125 ms 的处理周期可以获得最优数据速率。n
图 19:组态 S5KE 块n
通过已组态的标准参数,S5KE 在每个块周期最多读取 12 个接收报文。为此,将接收报文中的前 4 个字节解释为接收目标地址,将字节 5 开始的数据复制到寻址的接收目标中。即,S5KE 块从 S7 站中读取接收的报文,检测到 GA 域 49、偏移量 0 (参见图 16)作为目标地址。由于存在设置 DAAR=4,将字节 5 开始的数据解释为 IEEE 实数,转换成 TELEPERM 浮点数,并将结果复制到 GA 域 49 中从偏移量 0 开始的区域内。是否必须转换和复制的数值数,则由接收报文的长度决定的。
注意事项:
如果发生通讯错误或地址错误,则参数 FBST、BGF 等会标识出有错误发生。更多信息,请参考手册“系统软件 AS235”。
• S5KS 块
例如,为了使必须从域 GA 48 中发送的数据获得 500 ms 的数据刷新周期,必须将块 S5KS 插入到具有相应缩减的周期 2 中。
要将 60 个 IEEE 格式(DAAR=4)的模拟量(即从 GA 24 开始,直到索引 10),通过空闲 FDL 连接,周期性循环传送到 PROFIBUS 地址为 8 而 SAP 为 18 的 S7 站,则必须在 S5KS 块上设置下列参数。
图 20:组态 S5KS 块
数值 PA2 = 118 = 100 + 18 实现了空闲 FDL 连接和目标 SAP 18 (参见图 5)。
注意事项:
在输出 FBST、BGF、STOE、TF1 和 TF2 上指示发生的通讯或参数错误(参见 PLC/PLC 链接手册的 2.2.1.3 一节)。如果错误号为 4002 (即 RR),则要么是 S5KS 块调用得太频繁,要么是在 S7 站中接收块“AG_RECV”调用得太少或从没调用。在这种情况下,一定要确保在 S7 站中,为组态的空闲 FDL 连接调用块“AG_RECV”的次数至少与 AS488/TM 中 S5KS 块的调用次数一样多。
基本组态注意事项:
- PLC/PLC 的模块号 BGNR 必须始终为 255。
- 与 S7 站的通讯块 AG_SEND/AG_RECV 的组态相反,TELEPERM 块 S5KS 和 S5KS 并未包含任何连接标识符;不是由块 S5KS 和 SYST.WART 中的组态分别包含明确的源地址和目标地址标识符,而是由 SAP 标识在 S7 中组态的连接。
关键字:
FDL 连接、加载 NetPro、加载 HW Config、使用入门、向导、指南、说明、逐步说明、LSAP、发送/接收、Send/Recv、FDL 协议、PLC-PLC 连接、CP343-5、CP443-5;CP342-5、IF964-DP、AS488/TM、S5KE、S5KS
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc336045.html