SCL培训.pdf
- 文档编号:3210301
- 上传时间:2022-11-20
- 格式:PDF
- 页数:32
- 大小:1.66MB
SCL培训.pdf
《SCL培训.pdf》由会员分享,可在线阅读,更多相关《SCL培训.pdf(32页珍藏版)》请在冰豆网上搜索。
RALSCL功能培训何纯玉功能培训何纯玉东北大学轧制技术及连轧自动化国家重点实验室2014.1.10RAL1、SCL介绍2、SCL安装与程序建立过程3、SCL程序结构定义4、SCL程序结构控制5、SCL变量访问6、SCL变量类型转换7、SCL语句与梯形图对照8、SCL示例1温度滤波处理9、SCL示例2阀门按次序延迟打开1、SCL介绍2、SCL安装与程序建立过程3、SCL程序结构定义4、SCL程序结构控制5、SCL变量访问6、SCL变量类型转换7、SCL语句与梯形图对照8、SCL示例1温度滤波处理9、SCL示例2阀门按次序延迟打开主要内容主要内容RAL1、SCL介绍1、SCL介绍SCL(结构化文本编程)(结构化文本编程)结构化文本是一种类似于计算机高级语言的编程方式,它的语法规范接近计算机中的PASCAL语言。
Step7默认情况下只支持梯形图和指令表编程,但通过安装“S7-SCL”软件包和“S7-Graph”软件包可实现结构化文本和流程图编程。
可以简化传统的梯形图编程方式难于实现复杂的控制要求。
SCL程序编写完成后,编译生成FC、FB或DB,与梯形图配合使用。
系统的总体结构可以由梯形图建立,对一些复杂逻辑可以用SCL编写,编译后得到FC、FB,用梯形图来调用,简化系统的维护难度。
结构化文本是一种类似于计算机高级语言的编程方式,它的语法规范接近计算机中的PASCAL语言。
Step7默认情况下只支持梯形图和指令表编程,但通过安装“S7-SCL”软件包和“S7-Graph”软件包可实现结构化文本和流程图编程。
可以简化传统的梯形图编程方式难于实现复杂的控制要求。
SCL程序编写完成后,编译生成FC、FB或DB,与梯形图配合使用。
系统的总体结构可以由梯形图建立,对一些复杂逻辑可以用SCL编写,编译后得到FC、FB,用梯形图来调用,简化系统的维护难度。
RAL2、SCL安装与程序建立过程2、SCL安装与程序建立过程在Step7中,结构化文本编程被称为结构化控制语言(StructuredControlLanguage),缩写为SCL.Step7V5.3的软件包中已包含了S7-SCL软件包,在安装Step7V5.3时,系统会提示是否要安装S7-SCL,把复选框打钩即可。
RAL2、SCL安装与程序建立过程2、SCL安装与程序建立过程SCL软件包用于以“源文件”的方式编写功能块、函数块。
步骤如下:
第一步:
当Step7中已正确安装SCL软件包后,会有如下界面:
RAL2、SCL安装与程序建立过程2、SCL安装与程序建立过程第二步:
进入SCL编程界面,并选择准备编写的程序块的类别RAL2、SCL安装与程序建立过程2、SCL安装与程序建立过程第三步:
编写程序并编译RAL2、SCL安装与程序建立过程2、SCL安装与程序建立过程用SCL编写的功能块,与普通梯形图编写的一样,可以被别的梯形图调用;SCL源程序,保存在“Sources”文件夹中,随时打开进行修改。
RAL3、SCL程序结构定义3、SCL程序结构定义1、常见数据类型、常见数据类型布尔型:
布尔型:
bool,1位字节:
位字节:
byte,1个字节整数:
个字节整数:
int,2个字节长整数:
个字节长整数:
dint,4个字节字:
个字节字:
word,2个字节长字:
个字节长字:
dword,4个字节浮点数:
个字节浮点数:
real,4个字节字符:
个字节字符:
char,1个字节字符串:
个字节字符串:
stringXX,XX+2个字节数组定义:
个字节数组定义:
arrayX.Xof类型变量定义方法:
变量名类型变量定义方法:
变量名:
变量类型变量类型;例如:
例如:
i:
int;r:
real;arr_int:
array1.10ofint;RAL3、SCL程序结构定义3、SCL程序结构定义2、数据块定义、数据块定义DATA_BLOCKDBxxx/BlockComment./STRUCTEND_STRUCTBEGINEND_DATA_BLOCKDATA_BLOCKDB150/这是测试的数据块这是测试的数据块/STRUCTi:
INT;r:
REAL;c:
CHAR;s:
STRING30;arr_r:
ARRAY1.10OFREAL;END_STRUCTBEGINEND_DATA_BLOCKRAL3、SCL程序结构定义3、SCL程序结构定义2、数据块定义、数据块定义DATA_BLOCKDB150/这是测试的数据块这是测试的数据块/STRUCTi:
INT;r:
REAL;c:
CHAR;s:
STRING30;arr_r:
ARRAY1.10OFREAL;END_STRUCTBEGINEND_DATA_BLOCK注意:
数据块中变量访问:
注意:
数据块中变量访问:
DBXXX.变量名变量名RAL3、SCL程序结构定义3、SCL程序结构定义3、FC定义定义FUNCTIONFCxxx:
INTVAR_TEMP/TemporaryVariablesEND_VAR/StatementSection;FCxxx:
=100;END_FUNCTIONFUNCTIONFC150:
INTVAR_TEMPi:
int;END_VARi:
=10;FC150:
=i;END_FUNCTION注意:
程序每行以“注意:
程序每行以“;”结尾;变量赋值以“”结尾;变量赋值以“:
=”表示”表示RAL3、SCL程序结构定义3、SCL程序结构定义3、FC定义定义FUNCTIONFC150:
VOIDVAR_INPUTi1:
int;i2:
int;END_VARVAR_OUTPUTout:
int;END_VARout:
=i1+i2;END_FUNCTION定义输入、输出变量定义输入、输出变量VAR_INPUTEND_VARVAR_OUTPUTEND_VARVAR_IN_OUTEND_VARRAL3、SCL程序结构定义3、SCL程序结构定义3、FB定义定义FUNCTION_BLOCKFBxxxVAR_TEMP/TemporaryVariablesEND_VARVAR/StaticVariablesEND_VAR/StatementSection;END_FUNCTION_BLOCKFUNCTION_BLOCKFB150VAR_TEMPi:
int;END_VARVARv1:
int;v2:
real;END_VARv1:
=v1+1;v2:
=v2+2;END_FUNCTION_BLOCKRAL3、SCL程序结构定义3、SCL程序结构定义3、FB定义定义FUNCTION_BLOCKFB150VAR_TEMPi:
int;END_VARVARv1:
int;v2:
real;END_VARv1:
=v1+1;v2:
=v2+2;END_FUNCTION_BLOCKRAL4、SCL程序结构控制4、SCL程序结构控制1、条件控制、条件控制IFa=bTHEN/StatementSection_IF;ELSIFa=cTHEN/StatementSection_ELSIF;ELSE/StatementSection_ELSE;END_IF;CASEvalueOF0.3:
/Statements_0.3;8:
/Statements_8;ELSE:
/Statements_ELSE;END_CASE;变量比较:
变量比较:
,=,=,=逻辑符号:
逻辑符号:
and,or,notRAL4、SCL程序结构控制4、SCL程序结构控制1、循环控制、循环控制FORControlVariable:
=StartTOEndBYIncrementDO/StatementSection;END_FOR;WHILEa=bDO/StatementSection;END_WHILE;REPEAT/StatementSection;UNTILa=bEND_REPEAT;RAL5、SCL变量访问5、SCL变量访问1、内存变量与、内存变量与IO变量变量直接访问:
直接访问:
M0.0,MW100,MD200I0.0,IW100q0.0,qw100寻址访问:
寻址访问:
Mi,j,MBi,IWi,QBi,MDi以上类型缺省为以上类型缺省为BYTE,WORD,DWORD类型,如果需要类型,如果需要INT,DINT,REAL需要提前在符号表中定义,定义后可直接访问。
需要提前在符号表中定义,定义后可直接访问。
RAL5、SCL变量访问5、SCL变量访问2、数据块变量、数据块变量直接访问:
直接访问:
db100.dbx0.0,db100.dbw100,db100.dbd200db100.dbxi,j,db100.dbwi,db100.dbdi使用变量名访问:
使用变量名访问:
db100.b,db100.i,db100.r,db100.arri建议使用建议使用SCL定义数据库,再用变量名访问,程序易读。
内存变量和数据块中的变量属于全局变量,即赋值后如果不改变会一直保留原来的值。
定义数据库,再用变量名访问,程序易读。
内存变量和数据块中的变量属于全局变量,即赋值后如果不改变会一直保留原来的值。
RAL6、SCL变量类型转换6、SCL变量类型转换SCL要求类型相同才能赋值要求类型相同才能赋值word_to_int(word_var),int_to_word(int_var)word_to_dword(word_var),dword_to_word(dword_var)int_to_dint(int_var),dint_to_int(dint_var)int_to_real(int_var),real_to_int(real_var)dint_to_real(dint_var),real_to_dint(real_var)byte_to_word(byte_var),word_to_byte(word_var)byte_to_int(byte_var),int_to_byte(int_var)变量类型转换函数属于系统关键字,系统关键字与普通程序会有颜色区别,转换函数如果颜色未发生变化,仔细检查拼写或查询帮助。
变量类型转换函数属于系统关键字,系统关键字与普通程序会有颜色区别,转换函数如果颜色未发生变化,仔细检查拼写或查询帮助。
RAL7、SCL语句与梯形图对照7、SCL语句与梯形图对照M400.1:
=m400.0灵活运用变量类型转换函数,一条语句替代多个梯形图命令。
灵活运用变量类型转换函数,一条语句替代多个梯形图命令。
Temp_real:
=int_to_real(word_to_int(iw40);变量赋值变量赋值Temp_int:
=real_to_int(Temperature)M100.1:
=notm100.0RAL7、SCL语句与梯形图对照7、SCL语句与梯形图对照if(M100.0)thenM100.1:
=true;End_if变量赋值变量赋值if(M100.0)thenM100.1:
=false;End_ifRAL7、SCL语句与梯形图对照7、SCL语句与梯形图对照FUNCTIONFC150:
BOOLVAR_INPUTin_bit:
BOOL;END_VARVAR_IN_OUTtmp_bit:
BOOL;END_VARIF(in_bitAND(NOTtmp_bit)THENFC150:
=true;ELSEFC150:
=false;END_IF;tmp_bit:
=in_bit;END_FUNCTION上升沿上升沿RAL7、SCL语句与梯形图对照7、SCL语句与梯形图对照FUNCTIONFC151:
BOOLVAR_INPUTin_bit:
BOOL;END_VARVAR_IN_OUTtmp_bit:
BOOL;END_VARIF(NOTin_bit)ANDtmp_bit)THENFC151:
=true;ELSEFC151:
=false;END_IF;tmp_bit:
=in_bit;END_FUNCTION下降沿下降沿RAL7、SCL语句与梯形图对照7、SCL语句与梯形图对照IF(m10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SCL 培训