在S7300400型PLC中使用高级语言编程Word文档格式.docx

上传人:b****2 文档编号:14308440 上传时间:2022-10-22 格式:DOCX 页数:17 大小:183.06KB
下载 相关 举报
在S7300400型PLC中使用高级语言编程Word文档格式.docx_第1页
第1页 / 共17页
在S7300400型PLC中使用高级语言编程Word文档格式.docx_第2页
第2页 / 共17页
在S7300400型PLC中使用高级语言编程Word文档格式.docx_第3页
第3页 / 共17页
在S7300400型PLC中使用高级语言编程Word文档格式.docx_第4页
第4页 / 共17页
在S7300400型PLC中使用高级语言编程Word文档格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

在S7300400型PLC中使用高级语言编程Word文档格式.docx

《在S7300400型PLC中使用高级语言编程Word文档格式.docx》由会员分享,可在线阅读,更多相关《在S7300400型PLC中使用高级语言编程Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。

在S7300400型PLC中使用高级语言编程Word文档格式.docx

1、编写SCLSource文件的一般规则

●FB,FC,OB,DB以及用户定义的UDT,它们使用的任意数字号均可以在SCLSource中编辑。

●每种块类型都有它自己的结构。

●每段落或者每个变量的声明以符号”;

”标志结束。

●不区分大小写。

●注释仅存在于程序文档中,它不影响程序运行。

●当一个功能块被调用时,其背景数据块被自动创建,因此它们不需要被编辑。

●DB0有特定用途,因此在程序中不能创建DB0.

2、编写块的先后次序

●被调用的块必须位于调用块之前。

●UDT的定义必须位于其被使用的位置之前。

●共享数据块必须位于那些使用它的所有块之前。

三、数据类型

1、数据类型预览

Ⅰ、基本数据类型

2、补充

<

1>

、DATE_AND_TIMEDataType

其值的范围:

DT#1990-01-01-0:

0:

0.0---------DT#2089-12-31-23:

59:

59.999

该类型以BCD码形式存储。

例如20/Oct./199512:

20:

30and10milliseconds显示如下:

DATE_AND_TIME#1995-10-20-12:

30.10

DT#1995-10-20-12:

30.10

2>

STRING

e.g.声明

VAR

Text1:

String[123];

//该字符串的最大容量为123个字符

Text2:

String;

//该字符串的默认容量为254个字符

END_VAR

初始化:

x:

STRING[7]:

='

Address'

;

//在使用STRING前,必须对它赋值。

FUNCTIONTest:

STRING[45]

VAR_TEMP

STRING[45];

END_VAR

='

a'

=concat(in1:

=x,in2:

=x);

Test:

=x;

//返回值

END_FUNCTION

3>

数组类型

e.g.

CONTROLLER1:

//声明3行、4列的二位整数数组,并对其初始化

ARRAY[1..3,1..4]OFINT:

=-54,736,-83,77,

-1289,10362,385,2,

60,-37,-7,103;

CONTROLLER2:

ARRAY[1..10]OFREAL;

//声明10个数的一维实数数组

注:

数组的最大维数为6维,数组的索引范围为-32768---32767之间的任意整数。

所有的基本数据类型均可用于数组。

数组可以使用变量进行索引,例如:

arrname_1[i]:

=arrname_2[j];

4>

STRUCT类型

e.g.声明一个结构MOTOR中包含另一个结构DATA。

对结构声明时,可以初始化元素,也可以在使用之前再初始化。

MOTOR:

STRUCT

DATA:

LOADCURR:

REAL;

VOLTAGE:

INT:

=5;

END_STRUCT;

结构以WORD的形式结尾,否则系统自动把丢失的字节补到结构中去。

5>

用户定义类型UDT(使用关键字TYPE)

TYPE//定义名字为MEASVALUES的数据类型

MEASVALUES:

BIPOL_1:

=5;

BIPOL_2:

WORD:

=W#16#FFAA;

BIPOL_3:

BYTE:

=B#16#F1;

BIPOL_4:

=W#16#1919;

MEASURE:

BIPOLAR_10V:

UNIPOLAR_4_20MA:

REAL;

END_STRUCT;

END_TYPE

//在FB10中使用该类型

FUNCTION_BLOCKFB10

MEAS_RANGE:

MEASVALUES;

//创建UDT数据

BEGIN

//使用UDT数据

MEAS_RANGE.BIPOL_1:

=-4;

MEAS_RANGE.MEASURE.UNIPOLAR_4_20MA:

=2.7;

END_FUNCTION_BLOCK

6>

POINTER类型

//定义功能块FC100

FUNCTIONFC100:

VOID//VOID表明该功能不返回值

VAR_IN_OUT//定义FC100的输入输出型参数

N_out:

INT;

out:

POINTER;

//定义POINTER型数据类型,参数均为临时变量

VAR_TEMP//定义临时变量

ret:

BEGIN//进入函数主体

//...

=SFC79(N:

=N_out,SA:

=out);

END_FUNCTION

//定义功能块FB100

FUNCTION_BLOCKFB100

VAR//定义静态变量,即离开块后仍旧保存状态的变量

ii:

aa:

ARRAY[1..1000]OFREAL;

FC100(N_out:

=ii,out:

=aa);

//调用FC100,使用指针的方式传递整个数组

7>

ANY类型

VAR_INPUT//输入型变量

iANY:

ANY;

//定义为ANY

pANY:

CASEiiOF//CASE分支语句

1:

=MW4;

//将MW4的地址赋给pANY

//ofMW4

3..5:

//等于3,4,5的情况下

pANY:

=aINT[ii];

//pANYcontainstheaddress

//oftheiith

//elementoftheaINTfield;

100:

=iANY;

//pANYcontainsthevalue

//oftheiANYinputvariable

ELSE

=NIL;

//oftheNILpointer

END_CASE;

SFCxxx(IN:

=pANY);

四、局部变量和参数的声明

1、变量

静态变量:

用于保持块的数据,该数据存在背景数据块中。

临时变量:

仅在块运行过程中存在。

若多个变量的数据类型一致,可用如下方式:

VALUE2,VALUE3,VALUE4,....:

声明时可以初始化:

VALUE:

REAL:

=20.25;

数组的初始化有两种方式:

ARRAY[1..2,1..2]OFINT:

=-54,736,-83,77;

当把相邻的数组元素赋相同的值时,例如,把A3[2]到A3[11]的值设为100.0:

A3:

ARRAY[1..12]OFREAL:

=0.0,10(100.0),1.0;

2、块参数

输入参数:

用于接收当块被调用时的输入值,他们是只读的。

输出参数:

传输当前值到这个调用块,在被调用块中应该对该参数赋值

输入/输出参数:

用于接收当块被调用时的输入值,并可以把结果返回到调用块。

3、使用多重背景

声明方式如下:

Supply1:

FB10;

//Supply1为FB10的背景DB

Supply2,Supply3,Supply4:

FB100;

//为FB100声明多个背景DB

Motor1:

Motor;

//Motor为某个FB的符号名

4、变量的声明

五、常量

S7-SCL常量分位常量、数字常量、字符常量、时间常量,使用CONST…END_CONST声明。

CONST

Number:

=10;

//整数常量

TIMEOFDAY1:

=TIME#1D_1H_10M_22S_2MS;

//时间常量

NAME:

SIEMENS'

;

//字符串常量

NUMBER2:

=2*5+10*4;

NUMBER3:

=3+NUMBER2;

END_CONST

1、位常量

Bool#false位的值为TRUE或者FALSE

8#1777778进制

DW#16#0000_000016进制

2、整数常量,它有多种表达方式

1510进制值为15

2#11112进制值为15

16#F16进制值为15

Value_2:

=2#0101;

//2进制值为5

Value_3:

=8#17;

//10进制值为14

Val

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1