S7SCL编程与应用课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《S7SCL编程与应用课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7SCL 编程 应用 课件
- 资源描述:
-
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_FUNCTIO
17、NORGAINZATION_BOLCK ob_name :END_ORGAINZATION_BOLCK块的开始和结束定义块的开始和结束定义2.1 2.1 源文件结构源文件结构-27-块模块 块模块包含块的开始和结束部分。在块模块包含块的开始和结束部分。在SCLSCL编辑器中,通过菜单项编辑器中,通过菜单项insert-BOLCK Template-OB、FB、FC、DB和和UDT,对源文件中的,对源文件中的块进行插入。块进行插入。 块模块插入块模块插入2.1 2.1 源文件结构源文件结构-28-块属性 块属性包含标题、版本、块保护属性、作者等块信息。块属性包含标题、版本、块保护属性、作者等块信
18、息。FUNCTION_BOLCK FB10属属 性性声明部分声明部分指令部分指令部分END_FUNCTION_BLOCK标题=Controller版本:2.1KNOW_HOW_PROTECT作者:Training名字:Motor2.1 2.1 源文件结构源文件结构-29-声明部分 声明部分用于定义局部和全局变量、块参数、常量和跳转标志。声明部分用于定义局部和全局变量、块参数、常量和跳转标志。声明部分可分成各个声明块,每个声明块有自己的关键字作为标志。声明部分可分成各个声明块,每个声明块有自己的关键字作为标志。常量常量跳转标志跳转标志临时变量临时变量静态变量静态变量CONST 声明表END_CO
19、NSTLABEL 声明表END_LABELVAR_TEMP 声明表END_VARVAR 声明表END_VAR输入参数输入参数输出参数输出参数输入输入/ /输出参数输出参数结构体结构体VAR_INPUT 声明表END_VARVAR_OUTPUT 声明表END_VARVAR_IN_OUT 声明表END_VARSTRUCT 生明表END_STRUCT块的声明格式块的声明格式2.1 2.1 源文件结构源文件结构-30-声明部分 FUNCTION_BOLCK FB10属属 性性声明部分声明部分指令部分指令部分END_FUNCTION_BLOCKCONST FIX_VALUE:=5; P_Part:=0.
20、8;END_CONSTVAR Value1,Value2:INT;END_VARVAR_INPUT IN1,IN2:BOOL;END_VARVAR_OUTPUT Q01:BOOL; Display:INT;END_VAR2.1 2.1 源文件结构源文件结构-31-声明数据 声明数据可以通过声明数据可以通过insert-Block Template-Constant、Parameter进行插入模板。进行插入模板。 声明数据插入声明数据插入2.1 2.1 源文件结构源文件结构-32-指令部分 程序段(程序段(OBOB、FBFB、FCFC)被调用后,块的指令部分包含的指令将)被调用后,块的指令部分包
21、含的指令将被执行。这些指令的作用是处理数据和地址。对于数据块,指令还被执行。这些指令的作用是处理数据和地址。对于数据块,指令还可以将某些值保存在数据块中。可以将某些值保存在数据块中。 各种指令可以归纳为各种指令可以归纳为赋值、控制指令、子程序处理赋值、控制指令、子程序处理三类:三类: 赋值:用来将某个表达式或某个值赋给某个变量;赋值:用来将某个表达式或某个值赋给某个变量; 控制指令:用来在程序中实现分支或重复执行指令;控制指令:用来在程序中实现分支或重复执行指令; 子程序处理:用来调用函数和功能。子程序处理:用来调用函数和功能。2.1 2.1 源文件结构源文件结构-33-指令部分 FUNCTI
22、ON_BOLCK FB10属属 性性声明部分声明部分指令部分指令部分END_FUNCTION_BLOCKBEGIN/位运算、算法实例 Q0.0:=I0.0 AND I0.1; MW20:=MW22+MW24;/赋值实例 Measured_Value:=0;/控制指令 IF I1.1 THEN N:=0; SUM:=0.0; ELSEIF START=TRUE THEN N:=N+1; SUM:=SUM+IN; ELSE OK:=FALSE; END_IF;/子程序调用实例 FB10.DB2(Pa:=10,Pa2:=MW2) Result:=DB2.MVAL8;2.1 2.1 源文件结构源文件结
23、构-34-指令部分注意事项 采用指令进行编程时,需要注意:采用指令进行编程时,需要注意: 指令部分以关键词指令部分以关键词BEGINBEGIN为开始,以块结束关键词为结束;为开始,以块结束关键词为结束; 每一个指令都以一个分号为结束;每一个指令都以一个分号为结束; 指令部分中使用的全部标识符都必须在声明部分定义或在符号指令部分中使用的全部标识符都必须在声明部分定义或在符号表中定义。表中定义。 2.1 2.1 源文件结构源文件结构-35-指令插入 可以通过可以通过insert-Control structure-IF,CASE,FOR,WHILE,REPEAT对控制结构模块进行插入。对控制结构模
24、块进行插入。 控制结构插入控制结构插入2.2 2.2 组织块(组织块(OBOB)的结构)的结构-36-概述 组织块只能由操作系统调用,循环调用或在出现特定事件时调组织块只能由操作系统调用,循环调用或在出现特定事件时调用。通常在组织中调用含有实际程序代码的用。通常在组织中调用含有实际程序代码的FCFC和和FBFB。 为了能够正常地运行,每一个组织块基本上都要求有为了能够正常地运行,每一个组织块基本上都要求有2020字节的字节的局部数据。需要指出的是,也可以声明其他更多的局部数据局部数据。需要指出的是,也可以声明其他更多的局部数据 。OBOB编号编号用途用途OBOB编号编号用途用途OB1OB1循环
25、程序循环程序OB83OB83插入插入/ /删除中断删除中断OB10-17OB10-17时钟中断时钟中断OB84OB84CPUCPU硬件故障硬件故障OB20-23OB20-23延迟中断延迟中断OB85OB85程序顺序错误程序顺序错误OB30-38OB30-38循环中断循环中断OB86OB86DPDP故障故障OB40-47OB40-47硬件中断硬件中断OB87OB87通信错误通信错误OB80OB80时间错误时间错误OB100-102OB100-102启动组织块启动组织块OB81OB81电源故障电源故障OB121OB121编程错误编程错误OB82OB82诊断中断诊断中断OB122OB122IOIO访
展开阅读全文