sfc14和15的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

80C2

‥‥

三、用I/O存取命令的数据通信

SIMATIC S7系统的CPU通过用STEP7程序编写的专用的I/O存取命令来寻址分散外围设备模块的I/O数据。这些命令直接调用I/O存取或通过过程映象调用I/O存取。用于读和写分散I/O 信息的数据格式可以是字节、字或双字。

图1解释用不同数据格式与DP从站的I/O通信。

然而,有些DP从站模块有更复杂的数据结构。它们的输入和输出数据区域有3个字节或大于4个字节的长度。这些数据区域也称谓连续的I/O数据区域。在使用连续的数据区域的DP从站的参数集中,参数“Consistency”必须设置为“All”。

对于连续的数据,输入和输出数据不能通过过程映象来传送,也不能用通常的I/O存取命令来调用数据交换。原因在于对DP主站上的输入/输出数据的CPU更新循环。DP输入/输出数据的更新只能由DP主站与DP 从站间的循环数据交换(总线循环)而确定(见图2)。因此,从DP主站来的数据或到DP主站的数据可能已经在寻址的DP从站I/O数据的一条STEP7存取指令与下一条I/O存取指令之间被更改了。由于这个缘故,仅对用户程序用字节、字或双字命令无任何中断地编址的I/O结构和区域才能保证数据的连续性。

必须控制复杂功能的DP从站,如闭环控制器或电气驱动等,它们通常不能用简单的数据结构来完成这些任务。这些DP从站需要更大的输入和输出区域,而且在这些I/O区域中的信息常常是相连不可分割的。因此,它们不能用字节、字和双字的结构来存贮。这样的数据区域称之为“连续的”。在一个输入/输出模块内,用组态报文可以指定长度可达64字节或字(128字节)的数据区域。为了对这些相关的模块读或写信息,必须使用DP从站的连续的输入/输出数据区域和特殊的功能。在SIMATI S7中,系统功能SFC14 DPRD_DAT和SFC15 DPWR_DAT是为此目的保留的。

图3指出系统功能SFC14和SFC15的工作原理。SFC的参数LADDR是一个指针,它指向要读出的输入数据区域或指向要写入的输出数据区域。在SFC参数中,所指定的DP从站的输入或输出模块的起始地址必须与早先用HW Config程序组态时规定的地址相同,而且这些地址用十六进制数表示。

四、用SFC14 DPRD_DAT和SFC15 DPWR_DAT交换连续的数据

下面的实例项目解释SFC14和SFC15的使用。实例中所使用的硬件与前面教程十的描述相同(S7-300/CPU315-2 DP作为I-从站),但此项目限于一个S7 DP主站(S7-400)和一个I-从站

(S7-300)。因此,必须去掉在前面实例中已组态的ET200B和ET200M节点。

用合适的PROFIBUS电缆将S7-300的DP接口与S7-400控制器彼此连接,并接通设备的电源。此项目基于假定两个可编程控制器均已复位,即它们的工作内存、装载内存和系统内存均被完全清零。两个PLC都处在RUN状态(开关位置RUN-P)。

I- 从站的两个连续的输入/输出数据区域每个都有10字节长,且参数“Consistency”设置为“All”。这就是说,在I-从站上和DP主站的输入/输出数据通信必须使用系统功能SFC14和SFC15。

用于I-从站(带CPU315-2 DP的S7-300)的用户程序

本实例项目中的I-从站具有大于4字节的连续的输入/输出区域。因此,正如使用S7 DP主站一样,必须使用系统功能SFC14和SFC15来传送I/O数据。切记,由DP主站用SFC15发送的输出数据被I-从站用SFC14来读出并作为其输入数据,反之也适用于从I-从站来的作为DP主站的输入数据。图4对此作了解释。

SIMATIC S7-300控制器的CPU不识别编址错误。因此,对于CPU315-2 DP,可以将用SFC发送的I/O数据放在另外的未被占用的过程映象区域中,例如可以用IB100~IB109和QB100~QB109。因此在用户程序中,就可以用简单的位、字节、字和双字指令来编址这个数据。

现在,让我们来生成用于I-从站所需的用户程序。

在SIMATIC Manager中,打开项目S7-PROFIBUS-DP,双击文件夹SIMATIC 300,再通过文件夹CPU315-2DP和S7-Program进入Blocks文件夹(图5)。

双击Blocks文件打开它,由HW Config生成的组织块OB1和系统数据块(SDBs)已经设置在此文件夹中。注意,必须节省并符合HW Config中配置的硬件,否则HW Config不能生成系统数据,此时将看到无系统数据文件夹。

·双击OB1打开它,自动打开STEP7程序LAD/STL/FBD。用STL视图为OB1编程。

·在程序编辑器中,键入命令“CALL SFC14”,并用RETURN键确认。SF14 DPRD_DAT显示出

输入和输出参数。如图6所示定义这些输入和输出参数。输入装载和发送指令,然后调用SFC15,再为此系统功能定义输入和输出参数。当这两个SFC被调用时,用于这些标准功能的相关块的外形就自动地从STEP7标准库(…\SIE-MENS\STEP7\S7Libs\STDLIB30)中拷贝给命名为Blocks

的文件夹。

图5 带有打开的Blocks文件夹的SIMATIC Manager

图6 带OB1(用于CPU315-2 DP的实例程序)的STEP7中的STL

程序编辑器

·为了能容易地监视DP主站上的数据通信,用适当的装载和传送指令(见图6)将所接收的第1个数据字节(IB100)转送到要被发送的第1个数据字节(QB100)。此后,将拷贝来自I-从站输入数据区域的由DP主站发送的第1个数据字节立刻返回到I-从站的输出数据区域,然后返回DP主站。

·用Save保留OB1,并关闭用于OB1的程序编辑器(在本例中,即STL编辑器)。在Windows95/NT的工具条中,转换到SIMATIC Manager。现在,这Blocks文件夹应包含块对象System data、OB1、SFC14和SFC15。当DP主站改变它的运行模式或崩溃时,操作系统通过调用I-从站上的某个OB作出反应。如果在I-从站上这些OB丢失,则CPU立即自动地切换到STOP。因此,下一步是在I-从站上建立相关的出错OB,以防止CPU在此情况下进入STOP。

·当DP主站的CPU从RUN转换到STOP时,在I-从站上的组织块OB82(诊断中断)被调用。

相关文档
最新文档