scl学习心得

上传人:简****9 文档编号:101783769 上传时间:2019-09-29 格式:DOC 页数:5 大小:26.50KB
返回 下载 相关 举报
scl学习心得_第1页
第1页 / 共5页
scl学习心得_第2页
第2页 / 共5页
scl学习心得_第3页
第3页 / 共5页
scl学习心得_第4页
第4页 / 共5页
scl学习心得_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《scl学习心得》由会员分享,可在线阅读,更多相关《scl学习心得(5页珍藏版)》请在金锄头文库上搜索。

1、原创:SCL学习心得,今天看见有兄弟找scl中文资料,小弟我就当是抛砖引玉吧2004.1.141、 SCL程序可以在CPU314及其以上的S7(包括400)中运行。2、 SCL程序创建在”S7 Program”Sources”下面。S7-Program Blocks(e.g. FB,OB) Sources(e.g.SCL source file) Symbols3、 程序结构FB FUNCTION_BLOCK fb_name END_FUNCTION_BLOCKFC FUNCTION fc_namefunction type END_FUNCTIONOB ORGANIZATION_BLOCK

2、ob_name END_ORGANIZATION_BLOCKDB DATA_BLOCK db_name END_DATA_BLOCKUDT TYPE udt_name END_TYPE 4、 属性定义和程序注释例如:FUNCTION_BLOCK FB10This is a block comment.TITLE = Mean_ValueVERSION 2.1KNOW_HOW_PROTECTAUTHOR AUT_15、 变量定义Data Syntax FB FC OB DB UDTConstants CONSTdeclaration listEND_CONST X X X Labels LABE

3、Ldeclaration listEND_LABEL X X X Temporary Variables VAR_TEMP declaration listEND_VAR X X X X X X Static variables VARdeclaration listEND_VAR X X X X XInput parameters VAR_INPUTdeclaration listEND_VAR X X Output parameters VAR_OUTPUTdeclaration listEND_VAR X X Inout parameters VAR_IN_OUTdeclaration

4、listEND_VAR X X 6、FC结构FUNCTION FC11 REAL如果不需要返回值,用VOID关键字VAR_INPUTx1 REAL ;x2 REAL ;x3 REAL ;x4 REAL ;END_VARVAR_OUTPUTQ2 REAL ;END_VARBEGINReturn value from functionFC11= SQRT( (x2 - x1)2 + (x4 - x3) 2 ) ;Q2= x1 ;END_FUNCTION7、自己写了一个简单的程序OB1:FC1用SCL编写:FUNCTION fc1INTVAR_INPUT aINT;END_VARbeginfc1=a

5、+10; end_FUNCTION运行后:每次m0.0从0变1,就调用FC1一次,mw18里面的数据加10。2004.1.15问题:SCL如何调用其他SCL以及用LAD等编写的程序?写一个有循环、判断等基本语句组成的程序。参数使用问题?(直接使用实际地址?参数传递问题)如何在线调试SCL程序(debug)1、 在SCL里面调用LAD或者STL写的块先用STL或者LAD创建一个FC2:定义一个输入参数:in1(int型);一个输出参数:out1(int型)语句表如下: L #in1 L #in1 +I T #out1 NOP 0在下面写的SCL里面调用FC2:FUNCTION fc1INTVAR

6、_INPUT aINT;END_VARVAR_TEMP bINT;end_var beginfc1=a+10; fc2(in1=a,out1=b);fc1=b;end_FUNCTION2、在SCL里面调用其他SCL写的块FUNCTION fc1INTVAR_INPUT aINT;END_VARVAR_TEMP bINT;end_var BEGIN fc3(in1=a,out1=b);调用fc3fc1=b;end_FUNCTIONFUNCTION fc3void无返回值VAR_INPUT in1INT;END_VARVAR_OUTPUT out1INT;end_var beginout1=in1

7、+10;end_FUNCTION3、一个带有循环、判断等基本语句的程序FUNCTION fc4VOIDVAR_INPUT in1BOOL; in2INT;END_VAR VAR_OUTPUT out1BOOL; out3BOOL; out2INT;END_VARVAR定义一个静态变量,用来存储块调用之间的数据 temp1BOOL;END_VAR VAR_TEMP temp2INT;END_VARBEGINIF in1=false AND temp1=true THEN检验下跳沿 out1=true; ELSE out1=false; END_IF; IF in1=true AND temp1=

8、false THEN检验上跳沿 out3=true;ELSE out3=false; END_IF; temp1=in1;FOR temp2=1 TO 10 BY 2 DO省略了关键字by,就默认加1 out2=in2+out2;END_FOR; END_FUNCTION4、SCL中直接使用绝对地址FUNCTION fc1VOIDBEGINin1=in1+10;in1在符号表里面已经定义为int型,存储区为mw0IF m0.0=false then这里直接引用实际地址 m0.0=true;ELSE m0.0=false;END_IF; end_FUNCTION5、如何在线调试SCL程序注:仅400可以设置断点(breakpoint)以及单步执行

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号