《西门子S7SCL编程与应用.pptx》由会员分享,可在线阅读,更多相关《西门子S7SCL编程与应用.pptx(92页珍藏版)》请在第壹文秘上搜索。
1、西门子西门子S7-SCLS7-SCL编程与应用编程与应用第一章第一章 SCLSCL语言概述语言概述-2-文件操作文件操作程序结构程序结构S7-SCL与与SIMATIC Manager软件安装软件安装SCL语言语言1.1 SCL1.1 SCL语言语言-3-概述 SCL SCL(结构化控制语言)是一种用于(结构化控制语言)是一种用于S7-300/400S7-300/400和和 C7 C7等自动化等自动化系统的高级文本编程语言。系统的高级文本编程语言。 借助借助SCLSCL,可以简化控制技术领域复杂的计算、算法、数据管理,可以简化控制技术领域复杂的计算、算法、数据管理和数据组织等编程工作。和数据组织
2、等编程工作。 IF New_valueOld_value THEN index:=(index mod max_values)+1; measurement_valuesindex:=INT_TO_REAL(measurement); END IF;SCL编程语言编程语言1.1 SCL1.1 SCL语言语言-4-编程标准 SCL SCL符合语言标准符合语言标准DIN EN-61131 Part3DIN EN-61131 Part3(国际标准(国际标准IEC 1131-3IEC 1131-3)。)。 DIN EN-61131 Part3 DIN EN-61131 Part3(国际标准(国际标准I
3、EC 1131-3IEC 1131-3)对可编程控制器)对可编程控制器的编程语言实现了标准化。的编程语言实现了标准化。SCLSCL的基础是该标准中的的基础是该标准中的STST“结构化文本结构化文本”部分。部分。 SCL SCL类似于类似于PascalPascal,具备高级标称语言的所有优势。,具备高级标称语言的所有优势。SCLSCL除了有除了有清晰的控制结构和丰富的数据概念,还拥有例如过程和函数等重要清晰的控制结构和丰富的数据概念,还拥有例如过程和函数等重要内容。因此采用了内容。因此采用了SCLSCL,可以编制结构清洗,易读性好的程序。,可以编制结构清洗,易读性好的程序。1.1 SCL1.1
4、SCL语言语言-5-应用领域 复杂的数学函数功能,例如:调节器复杂的数学函数功能,例如:调节器 数据管理数据管理 配方管理配方管理 具有大量分支和循环结构的程序具有大量分支和循环结构的程序特点 易于掌握易于掌握 可短时间开发易读性更好的程序可短时间开发易读性更好的程序 可间接地描述复杂的算法可间接地描述复杂的算法 支持支持S7S7中的块和数据类型等概念中的块和数据类型等概念 与与S7S7语言(语言(LADLAD、FBDFBD、STLSTL)实现系统集成)实现系统集成 1.2 1.2 软件安装软件安装-6-概述 S7-SCL S7-SCL选件包需单独进行安装。将选件包存放在英文目录下,选件包需单
5、独进行安装。将选件包存放在英文目录下,双节双节setup.exesetup.exe,即可开始执行安装程序。,即可开始执行安装程序。1.2 1.2 软件安装软件安装-7-软件验证 当当S7-SCLS7-SCL选件包安装后,可以在选件包安装后,可以在STEP 7 ManagerSTEP 7 Manager中插入中插入 SCLSCL源源文件。文件。 源文件插入源文件插入1.3 S7-SCL1.3 S7-SCL与与SIMATIC ManagerSIMATIC Manager-8-软件架构 S7-SCL S7-SCL的程序以源文件的格式出现在的程序以源文件的格式出现在SourceSource文件夹中,通
6、过编文件夹中,通过编译器将程序块编译,生成执行块并保存在译器将程序块编译,生成执行块并保存在BlockBlock文件夹内。文件夹内。源文件存源文件存放位置放位置执行程序执行程序存放位置存放位置共用符号表共用符号表1.3 S7-SCL1.3 S7-SCL与与SIMATIC ManagerSIMATIC Manager-9-设置 在使用在使用SCLSCL之前,需要检查并调整某些个性化设置。在之前,需要检查并调整某些个性化设置。在SCLSCL编程编程界面中,通过点击界面中,通过点击Option-CustomizeOption-Customize进行软件设置。进行软件设置。1.3 S7-SCL1.3
7、S7-SCL与与SIMATIC ManagerSIMATIC Manager-10-设置 生成块设置生成块设置编译设置编译设置编辑设置编辑设置必选必选1.4 1.4 程序结构程序结构-11-概述 一个一个SCLSCL程序可以由程序可以由一个或多个一个或多个SCLSCL源文件源文件构成。采用构成。采用SCLSCL编辑器编辑器可以编辑这些源文件。采用一个还是多个源文件取决于具体目标。可以编辑这些源文件。采用一个还是多个源文件取决于具体目标。 若需要多个独立的块,则应选用每个块一个源文件的方式。若需要多个独立的块,则应选用每个块一个源文件的方式。 如果需要创建一个完整的程序或者某个程序的一个组成部分
8、,如果需要创建一个完整的程序或者某个程序的一个组成部分,则可以在一个源文件中包含多个块。则可以在一个源文件中包含多个块。OB1FC2背景背景DBFB9程序调用顺序:程序调用顺序:OB1FC2 FB91.4 1.4 程序结构程序结构-12-结构图 .FB9.FC2.OB1.SCL源文件源文件一个源文件构成一个源文件构成一个完成程序一个完成程序OB1、FC2、FB9与背景与背景DBOB1源文件源文件FC2源文件源文件FB9源文件源文件多个源文件构成多个源文件构成一个完成程序一个完成程序1.4 1.4 程序结构程序结构-13-调用顺序 在在SCLSCL程序编写时,必须要注意源程序的块调用顺序。程序编
9、写时,必须要注意源程序的块调用顺序。 例如:在例如:在OB1OB1先调用先调用FC2FC2,再调用,再调用FB9FB9,则必须先编译,则必须先编译FB9FB9,再编,再编译译FC2FC2,最后编译,最后编译OB1OB1。这意味着,在源文件中,。这意味着,在源文件中,FB9FB9必须在必须在FC2FC2之前,之前,FC2FC2必须在必须在OB1OB1之前之前OB1FC2背景背景DBFB9程序调用顺序:程序调用顺序:OB1FC2 FB9.FB9.FC2.OB1.SCL源文件源文件OB1、FC2、FB9与背景与背景DB同一个源文件中同一个源文件中的程序编写次序,的程序编写次序,注意先后注意先后编译次
10、序:编译次序:FB9FC2 OB11.4 1.4 程序结构程序结构-14-SCL控制文件 一个一个SCLSCL程序可以由多个程序可以由多个SCLSCL源文件组成。源文件组成。SCLSCL控制文件根据调用控制文件根据调用编译时各个源文件的编译顺序依次编译各文件。编译时各个源文件的编译顺序依次编译各文件。OB1FC3FC5OB32FC17FB22DB2DB3FC771.4 1.4 程序结构程序结构-15-SCL控制文件 SCL源文件源文件3SCL源文件源文件2SCL源文件源文件1SCL控制文件控制文件用于用于SCL编译器编译器的控制文件的控制文件如果在如果在SCL源文件源文件2中调用中调用SCL源
11、文件源文件3内包含的块,则在内包含的块,则在SCL控制文件中,控制文件中,SCL源文件源文件3必须在必须在SCL源文件源文件2的前面。的前面。源文件源文件1源文件源文件2源文件源文件2多个源文件构成多个源文件构成一个完成程序一个完成程序1.4 1.4 程序结构程序结构-16-块库 在源文件中将需要调用库中的块复制到在源文件中将需要调用库中的块复制到BlockBlock程序块中。程序块中。程序库程序库程序库文件程序库文件1.5 1.5 文件操作文件操作-17-导入源文件右击插入新对象右击插入新对象-外部源文件用外部源文件用于外部程序导入于外部程序导入1.5 1.5 文件操作文件操作-18-导出源
12、文件右击源文件右击源文件-导导出源文件用于源出源文件用于源文件导出操作文件导出操作1.5 1.5 文件操作文件操作-19-编译源文件编译按键编译按键1.5 1.5 文件操作文件操作-20-下载与帮助编译结果出错编译结果出错E:错误:错误W:警告:警告按按F1进入帮助进入帮助下载按键下载按键第二第二章章 创建和调用块创建和调用块-21-数据块的结构数据块的结构功能块(功能块(FB/SFB)的结构)的结构函数(函数(FC/SFC)的结构)的结构组织块(组织块(OB)的结构)的结构源文件结构源文件结构第二第二章章 创建和调用块创建和调用块-22-数据块结构与用户自定义数据类型结构数据块结构与用户自定
13、义数据类型结构功能块(功能块(FB/SFB)的结构)的结构函数(函数(FC/SFC)的结构)的结构组织块(组织块(OB)的结构)的结构用户自定义数据类型结构用户自定义数据类型结构2.1 2.1 源文件结构源文件结构-23-概述 一个一个SCLSCL源文件可以包含任意个块:如源文件可以包含任意个块:如OBOB块、块、FBFB块、块、FCFC块、块、DBDB块块和和UDTUDT块。块。 SCL SCL源文件中的每一个独立的块,都有一个用于构建该块的标准源文件中的每一个独立的块,都有一个用于构建该块的标准描述符(表示块开始和块结束)。标准描述符取决于块类型,块本描述符(表示块开始和块结束)。标准描述
14、符取决于块类型,块本身则由一个声明部分和一个指令部分组成。身则由一个声明部分和一个指令部分组成。2.1 2.1 源文件结构源文件结构-24-文件结构 DB5FB10FC62FC61OB1FUNCTION_BOLCK FB10属属 性性声明部分声明部分指令部分指令部分END_FUNCTION_BLOCK2.1 2.1 源文件结构源文件结构-25-源文件编译顺序 为了使为了使SCLSCL源文件可以顺利地编译成功,涉及编译顺序,需注意:源文件可以顺利地编译成功,涉及编译顺序,需注意: 被调用块必须始终先于调用他们的块完成声明;被调用块必须始终先于调用他们的块完成声明; 用户自定义数据类型(用户自定义
15、数据类型(UDTUDT)必须先于使用该数据类型的所有)必须先于使用该数据类型的所有块之前完成声明;块之前完成声明; 全局数据块必须先于访问该全局数据块的所有块之前完成声明全局数据块必须先于访问该全局数据块的所有块之前完成声明 如果源文件创建了如果源文件创建了OB1OB1块,则该块通常位于顺序的末尾;块,则该块通常位于顺序的末尾; 背景数据块由编译器自动创建。背景数据块由编译器自动创建。 2.1 2.1 源文件结构源文件结构-26-块的开始和结束 块的各种源文本,根据具体的块类型,由表示块的开始和结束块的各种源文本,根据具体的块类型,由表示块的开始和结束的标准描述符和块描述符引入。的标准描述符和
16、块描述符引入。 块名称可以采用块名称可以采用绝对方式绝对方式(例如(例如FB10FB10),也可以采用),也可以采用符号方式符号方式(例如(例如motormotor)进行声明。使用符号声明时,符号表中必须有一个相)进行声明。使用符号声明时,符号表中必须有一个相应的条目。应的条目。UDTUDTDBDBFBFBTYPE udt_name:END_TYPEDATA_BLOCK db_name:END_DATA_BLOCKFUNCTION_BLOCK fb_name:END_FUNCTION_BLOCKFCFCOBOBFUNCTION fc_name:function_type:END_FUNCTIONORGAINZATION_BOLCK ob_name :END_ORGAINZATION_BOLCK块的开始和结束定义块的开始和结束定义2.1 2.1 源文件结构源文件结构-27-块模块 块模块包含块的开始和结束部分。在块模块包含块的开始和结束部分。在SCLSCL编辑器中,通过菜单项编辑器中,通过菜单项insert-BOLCK Template-OB、FB、FC、DB和和UDT,对源文件中的,对