当前位置:文档之家› 810D840DPLC

810D840DPLC

810D840DPLC
810D840DPLC

基于810D/840D的STEP7应用

一.上传用户程序

在维护中首先要将用户的程序上传至电脑以便查看和分析。上传方法有两种。

1.将连线的NCU或CCU中的硬件组态和PLC程序全部上传至电脑。操作方法:在新建空项目下选PLC—Upload Station to PG。

包括硬件组态和PLC程序的项目结构

2.也可以仅上传PLC程序。操作方法:在新建的空项目下Insert—Program—S7Program。点击online后能看到在线程序。选PLC—Upload to PG即可把在线程序上传至电脑。注意上传完毕后点击offline,不要直接修改在线程序。

仅包括PLC程序的项目结构

二.硬件组态

在包括硬件组态的项目中双击Hardware可以进入硬件组态画面。

在硬件组态中使用导轨号和插槽号确定一个模块的位置。

同一导轨上的模块用背部总线连接器连成一排,各导轨间用IM模块通讯,所有模块由同一CPU控制。PLC CPU所在导轨被称为导轨0,扩展导轨依次编号,最高到导轨3。一个导轨上安装的模块按从左到右的顺序编号为插槽1、插槽2,最高到插槽11。插槽1-3只能安装

特定的模块。

插槽1,电源,即使没有电源也要空出这个位置。

插槽2,CPU模块,只有导轨0需要CPU,但其他导轨也要空出此位置。

插槽3,IM(接口)模块,各导轨间通讯用,导轨0上使用IM360模块,其他导轨上使用IM361模块。

插槽4-插槽11,可以安装输入输出模块和功能模块。

NCU和CCU相当于PLC CPU、IM360、FM-NCU的集成,它占用了整个导轨0。

可以自己进行硬件组态也可以从连线设备中上传。上传得到的硬件组态中有些模块因不能识别出具体型号会显示为问号。如果自己进行硬件组态,NCU和CCU在硬件列表中的位置:SIMATIC300—SINUMERIK(安装Toolbox后才会有)—810D/840D目录下。NCU、CCU 对应何种PLC CPU型号可以参看产品目录和硬件列表下方信息。

NCU和CCU经常会连接一些扩展IO模块。常见的有以下几种:

连接到Single IO(6FC5411-0AA00-0AA0)

连接到输入输出模块

连接到ET200S分布式IO

在硬件组态中也为IO模块分配了地址。注意,有时地址分配不是连续的,这是因为每个插槽有其固定的起始地址,不论上个插槽安装的是几位的输入输出模块。如导轨1插槽4起始地址为32,插槽5起始地址为36,虽然插槽4中安装的是一个16位输入模块,只使用了I32.0到I33.7,但插槽5的起始地址仍为36。

项目中Blocks下的System data也包含了硬件组态信息,它是硬件组态画面编译后生成的。下载时如果包括System data,也就包括了硬件组态。

三.PLC程序结构

STEP7项目中S7Program下包括Sources、Blocks、Symbols三部分。设备中存储的PLC程序不包括Sources和Symbols,因此上传得到的项目中Sources和Symbols是空的。

1.Sources源文件

标准程序库中的源文件gpob840d

打开源文件后点击Compile就能按照源文件中的内容修改原有的程序块(Blocks中的内容)。例如,标准程序库中包括gpob810d和gpob840d两个源文件,编译gpob810d,程序块OB100中的参数就会修改为适用于810D系统,编译gpob840d,程序块OB100中的参数就会修改为适用于840D系统。

注意,由于标准程序库中的源文件使用的是德语编程语言,所以要先把编程语言修改为德语,否则会编译出错,编译成功后可以再修改回英语。

修改方法:Options—Customize,在Language标签下,把Mnemonics修改为German。修改后要重新启动STEP7才能生效。

2.Symblos符号表

标准程序库中的符号表

在符号表中可以为变量或程序块命名,这样在程序中该变量或程序块就会显示为符号名,使得程序比较容易理解。符号表不会随程序下载到设备中,因此上传得到的项目中符号表是空

的。

3.Blocks程序块

程序块主要有OB、FC、FB、DB这几类。

1)OB Organization Block组织块

OB相当于主程序,不同的OB有不同的启动条件,当符合条件时系统就会调用该OB。一般程序中有OB1、OB40和OB100,它们的启动条件分别是:

OB1,循环调用。OB1中的程序执行完毕后,刷新映像区,然后再次从第一条语句开始执行。需要连续执行的程序应该编写在OB1中。

OB40,事件中断。由某些NC功能触发(换刀、定位控制、某些辅助功能),也可以由指定的IO点触发。触发后立刻中断OB1并执行OB40,执行完毕后从中断处恢复执行OB1。发生事件后需要立刻处理的程序应该编写在OB40中。

OB100,启动。系统上电或PLC状态由停止变为启动时执行OB100,执行完毕后再循环执行OB1。只需要启动时执行一次的程序应该编写在OB100中。

除OB1、OB40、OB100,还可以编写其他需要的OB,其他OB的启动条件和优先级见STEP7帮助文档,优先级数字大的OB优先执行。

PLC执行过程:启动后执行一次OB100,然后循环执行OB1,遇中断事件时执行OB40,执行完毕回到中断点继续执行OB1。

PLC CPU型号不同可以使用的资源不同,连线后选PLC—Diagnostic/Setting—Module Information,在Performance Data标签下可以看到连线设备可用的资源。

CPU315-2DP可用资源

2)FC Function功能

FC相当于子程序,通过OB中的语句调用。

在OB1中调用FC2和FC19

从上图可以看到,调用FC19时对参数进行了赋值,而调用FC2时没有。这是因为FC19中

声明了参数,而FC2没有。

编写FC时可以声明的参数共有四种类型。

FC19变量声明表

IN,输入。此类参数对于FC为输入,FC对它只进行读取操作。

OUT,输出。此类参数对于FC为输出,FC对它只进行修改操作。

IN_OUT,输入输出。此类参数对于FC既是输入又是输出,FC对它既进行读取操作又进行修改操作。

TEMP,临时变量。此类参数是不与FC外部进行数据交换的临时变量。

另外RETURN是一个特殊OUT参数。

调用声明参数的FC时必须给IN、OUT、IN_OUT类参数赋值。

注意,参数名不会下载到设备中保存,从设备上传得到的程序中参数名会按声明顺序显示为IN0、IN1,如下图所示。

FC19变量声明表

标准程序库中的FC大多被加密,打开后看不到程序,但可以看到变量声明。虽然不知道这些FC是如何编写的,但只要知道接口参数的作用,就可以通过调用时给接口参数赋值使FC 发挥相应的作用。

3)FB Function Block功能块

FB与FC相似,不同之处在于FB使用一个背景数据块来存储参数,这些参数值在执行完该FB后仍然保留在背景数据块中,而FC执行完参数值即丢失。

可以在调用FB时指定它的背景数据块,背景数据块的内容根据FB变量声明表的内容生成。一个背景数据块专属于一个FB,其他逻辑块不能使用其中数据,但同一个FB每次调用可以指定不同的背景数据块。如编写一个用来控制电机的FB,用多个背景数据块存储不同电机的参数,多次调用该FB,每次指定不同的背景数据块,就可以达到控制多台电机的目的。

在OB100中调用FB1背景数据块为DB7

调用FB时如果给参数赋值则使用所赋值,如果没有给参数赋值则使用背景数据块中此地址的实际值。

FB声明参数除IN、OUT、IN_OUT、TEMP,还有STAT类型。STAT是静态变量,与TEMP 一样不与FB外部进行数据交换,与TEMP的区别在于执行完该FB数据仍保留在背景数据块中。

FB声明参数除参数名,数据类型,还有地址和默认值,这和生成的背景数据块是一致的。

FB1变量声明表

DB7,FB1的背景数据块

4)DB Data Block数据块

DB用于存储数据,从而提供给逻辑块(OB、FC、FB)使用。DB分为全局数据块和背景数据块。全局数据块包含的数据可以被所有逻辑块访问。背景数据块只能由它对应的那个FB访问。

全局数据块DB8

新建的数据块实际值等于默认值,执行程序会使得实际值改变,如果要恢复默认值,打开DB后,选择Edit—Initialize Data Block,然后将修改后的DB下载到设备。

以上四种程序块的关系可以表达为:OB可以调用FB和FC,FB和FC还可以互相调用,全局DB为所有逻辑块提供数据,背景DB仅为对应的FB提供数据。

另外在标准数据库中还包括UDT、SFC、SFB这三种程序块,而从设备上传得到的程序中不包括这些程序块。

UDT,用户定义数据类型。在此作为生成更多数据块的模板使用。

SFC,系统功能。SFB,系统功能块。同FC和FB,为系统文件,不能自己编辑。

相关主题
文本预览
相关文档 最新文档