还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
第一章必备基础CFC本章目的是介绍关于CFC的基本信息1)介绍CFC是如何结合到STEP7软件包中的;2)描述了块的概念;3)创建工程,测试工程的基本步骤CFC什么是CFC(continuous functionchart)是及STEP软件包结合运用的一个可视化图形编辑工具类似的其他的编程工具有SCL,STL,LAD,FBD等•利用已经创建好的块来为某个CPU创建整个特定功能的软件框架WatchedMore informationblock objectproperty help给块的输入输出设定参数步骤:完成默认值的输入,设置调试时须要监控的输入输出的watched属性编译和下装A chartcompile chartas programBPLC download测试程序•测试的目的:通过监控块的输入和输出,或者变更块的输入,来调整程序满意用户的要求•没法强制块的输出!替代的方法是假如某一个关键的限制量须要进行强制,只能利用Nsw来实现•测试模式相关叮嘱和选项Test modeon/off(on二激活测试模式,off二激活编辑模式)Test setting(监控画面的更新周期定义)Process mode(全部块的输入输出都不能被监控)Laboratory mode(全部块的输入输出都被监控)CFC修改程序一个chart上面的块都有特定的运行时属性•这些属性确定了这些块在CPU中什么时候以什么依次运行•在S7中,是用0B块来组织CPU中各种运行序列(run sequence)的•在TDC中,是用H~I8,以及T1~T5来组织CPU中各种运行序列(nm sequence)•的0B块就是s7的CPU的操作系统和用户程序之间的接口••ITI8,以及TPT5就是TDC的CPU的操作系统和用户程序之间的接口•当在program文件夹中插入一个CFC chart对象时,系统将自动会创建一个以该chart对象为名字的运行时间组•可以自己定义运行时间组举例实现•运行时间组包含的全部的块必需包含在一个运行序列中(run sequence)0•运行时间组可以被动态的enable/disableo举例实现•块可以不属于任何运行时间组举例实现•运行时间组可以定义扫描率scan rate和计算偏移时间phase offsetoI/O chart创建一个带的带I/O的chart可以被用来封装已经编写好的CFC chart,以作为以后调用Add4实例演示;•单独CPU,并且去掉@$1111@系统chart•新建的chart必须要定义相应得chart10•新建的chart上面全部的块必须要属于同一个T运行周期10chart chart把带的放到另外一个中Add4chart插入另外一个的实例演示;10chart把带的编译成一个块Add4编译成一个块的实例演示;•单独CPU,并且去掉@$11112系统chart•新建的chart必须要定义相应得chart10•新建的chart上面全部的块必须要属于同一个T运行周期第三章介绍虚拟连接和通讯的实现虚拟连接的概念和作用为了完成通讯过程,用来把数据打包的成虚拟连接TDC的通讯过程CFC中建立虚拟连接由各种通讯模板上的数据接口供应交换缓存机制CTV,CRV通过数据通道进行虚拟连接的传送和接收TDC的通讯方式•©LOCAL•@GLOB•@PRODP•@TCPIP•@SRACK•WinCC和TDC之间的通讯实际举例SRACK1的实际例子基本过程就是把块拖入功能图表,赋给确定参数,然后把块相互连接起来(所谓块及块的相互连接就是把某个块的输出的值通过各种通讯方式传递给其他一个或多个块的输入)•用CFC编程你不再须要自己去关注算法以及计算机资源的支配和管理(如定义变量时支配内存地址等),而只须要把留意力集中到应用程序的工艺逻辑方面(事实上这样做的坏处是把计算机资源完全及用户隔离起来,也就是开发程序必需以siemens已经供应的块为基础,其他的计算机资源用户是无法访问到的这样也就把许多原来的Plc编程时候常用的编程技术给废除了)•某个块或者一组块可以一起拷贝或者移动,而不会破环它们相互之间的连接,这可以为编程省下许多的时间(方法:选上,ctrl+鼠标拖动)名词说明ProjectCPUProgramCharts folderChartchartpartitionsSheets sheet barsOverflow pageNestedchartChart overviewsheetviewSheet1Sheet4Shoot2Sheet
5、、/Sheet3/Sheet6Sheet barsCentralworking areaCFC中的块•块--------block块类型定义规定了这个块的算法,块的名字,以及数据接口(即输入输出参数)块的名字一般是块功能的简化缩写块的数据接口,即输入输出参数的数据类型有实型,整型,布尔型等如下表示S7Abb.Keyword MeaningBitsA ANYPointer todata element80BO BOOLLogical number1BY BYTESequence of8bits8C CHARSingle character8CR COUNTERNumber of an S7counter16D DATEDate16DB BLOCK.DB Number ofaDB16DI DINTDouble integer32DT DATE_AND_TIME orDT Dateand time64DW DWORDSequence of32bits32FB BLOCKFB Numberof anFB16FC BLOCKFC Numberof anFC161INT Integer16P POINTERPointer tomemory area48R REALFloating-point number32S STRINGText stringof anylength256bytesSD BLOCK.SDB Numberof an SDB16SN STRING[n]Text stringwith maximumn characters,1n253Parenthesis forelementary datatypes andotherST STRUCTstructuresnesting depth:8T TIME_OF_DAY orTOD Timer32Tl TIME Duration32TR TIMERNumberofanS7timer16T5S5TIMEDurationin S5format16W WORDSequence of16bits16•块的实例------block instance当把某个类型的块从块的库里面拖出来放到CFC的chart里面的时候,就已经为这个类型的块创建了一个实例了有点类似于C++里面的类的概念这样做的好处是,当对某个类型的块进行了升级之后,原来程序中已经创建了的块的实例也会全部被升级到新的代码•困难的块------complex block能够利用许多的子功能组合完成困难的功能而这些子功能本身由是由许多不同的块的实例组合来完成的,把这些组合块一起按块编译就生成了自己创建的块这个技术可以灵敏的应用于应用程序的编写,相当于把许多的块组织起来完成某个功能,然后编译成自定义一个块•块的分类block family块可以依据其功能特性来进行分类成不同的类别•组织块------organization blockCPU上运行的操作系统和用户程序的接口由各种任务组成,在S7中称为组织块利用这些组织块,可以规定特定的程序在特定的时刻或者特定的状况下执行有CPU冷启动时执行的0B块,热启动时执行的0B块,有过程中断时执行的0B块,还有周期执行的0B块组织块及一般的块在概念上有很大的区分,组织块是指抽象的,而一般的块是详细的•块的运行时属性run-time propertiesof blocks参考其次章第一节第5段“修改CFC程序”the Catalog是用来放“块(blocks),chart,libraries的一个容器程序创建的基本步骤1创建工程结构CPU-program-chart folder-CFC chart2利用自己创建块,并将它们引入工程中blocks fromlibraries,other programorself-created blocks;Import3把块拖入chart中insert4为块配置必需的参数并把它们相互连接起来parameters/interconnect5调整块的运行时属性run-time properties6编译程序compile7下载程序download8调试程序commission andtesting其次章实例演示本章目的是让初学者通过演示实际的例子尽快熟识CFC的编程过程创建一个闭环限制系统模拟过程限制创建工程运用SIMATIC MANAGER的菜单叮嘱创建新的工程;运用Hwconfig配置系统的硬件,这一步必需在下载程序之前完成昨天凌智已经讲解了!步骤A;输入工程名称“CFCEXA_2”B选中工程文件夹,insert programs7program;C选中s7program文件夹,insert s7software chartfolderD选中chart文件夹,insert s7software CFC;CFC1chart就被创建了,把它命名为control;E双击control chart打开chart配置模拟过程限制,用两个块SAMP_AVE”和“CONT_C”实现关于SAMP_AVE”和“CONT_C”的信息参考在线扶植插入块的步骤A打开the CATALOGB定位到CFC LIBRARY,这个库里面就是我们编程须要的块的集C打开ELEM_400D拖入CONT_CE拖入SAMP_AVEF从sheet overviewSheet viewoption customizeblock/sheetbarwidth连接块的步骤:The*Rxiic^sesiTiulates theprecess TheQiio妹controls theprocess variableContrLMNpasses theCONT.COB35Here,an avera^value isformed fromthe last30manipulated valuetovalues of*ContfSoP AuroMtpc Puets AasVbEMN passedfrom
2.0Ccntinuajs PIDthe Processinput INtoPXroccnet3rs0sinopuutptu.PtSVOlidUINinTg averag
20210.
000.0ss—R STRRTRBPllOMGDTT」1VNEAAN1AINANTDNBOWN LMNR变更块的外观通过修改块的属性来实现,属性页1generalName:Comment:属性页2inputs/outputsInivisable。