哈喽,你好啊,我是雷工!
日拱一卒,进一寸有进一寸的欢喜。
本节了解汇川PLC的地址空间与结构化文本语言相关内容。
以下为学习笔记。
01 PLC的地址空间
汇川PLC不同型号的PLC提供的直接存储空间是不同的,
在PLC数据中,%I、%Q区地址不能掉电保存,%M区可以掉电保存。
汇川PLC存储区域定义及使用的地址范围表:
编程系统
区域
用途
大小
地址范围
AM600、AM610、AM401、AM402、AC800系列
输入区I区(%I)
128KB
用户使用区域
64KWords
%IW0-%IW65535
输出区域Q区(%Q)
128KB
用户使用区域
64KWords
%QW0-%QW65535
AM600、AM610、AM401、AM402
存储区域M区(%M)512KB
用户使用区域
240KWords
%MW0-%MW245759
SD元件
10000Words
%MW245760-%MW255759
SM元件
10000Bytes
%MW511520-%MW521519
保留
2768Bytes
%MW521520-%MW524287
AC800系列
存储区域M区(%M)5MB
用户使用区域
2.5MWords
%MW0-%MW2321439
注意事项:
①:其中用作软元件(SD元件、SM元件)的区域用户不要直接使用。
②:用途为用户使用区域的地址区,用户可以直接访问地址,也可以定义变量后把变量映射到地址间接访问。
③:AC800系列不支持SD和SM软元件,存储区域的地址可以随意使用。
02 结构化文本语言
概述:结构化文本是一种文本化的高级语言,跟PASCAL或C语言差不多,程序代码由指令组成,指令由关键字和表达式构成。
与IL语言不同的是,ST语言在语句循环中可以包含众多的语句,因此允许开发复杂的程序结构。
ST语言常见操作符见下表:
序号
操作
符号
1
括号
(表达式)
2
函数调用
函数名(参数列表,由逗号分割)
3
求幂
EXPT
4
求负值
求补
-
NOT
5
乘
除
取余
*
/
MOD
6
加
减
+
-
7
比较
<,>,<=,>=
8
等于
不等于
=
<>
9
逻辑与
AND
10
逻辑异或
XOR
11
逻辑或
OR
注意:操作符具有优先级,按表格从上向下依次降低。
整个ST文本程序由指令构成,指令由分号“;”分割(这点和C#挺像,末尾加“;”)。
指令由关键字和表达式组成。
序号
关键字
说明
示例
1
:=,S=,R=
赋值,置位,复位
A:=B; C:=SIN(X); b1 R=cond1;
2
功能块调用和输出
CMD_TMR(IN := %IX5, PT := 300); A:=CMD_TMR.Q
3
RETURN
返回(退出当前POU)
RETURN;
4
IF
选择
D:=B*B;
IF D<0.0 THEN
C:=A;
ELSIF D=0.0 THEN
C:=B;
ELSE
C:=D;
END_IF;
5
CASE
多重选择
CASE INT1 OF
1: BOOL1 := TRUE;
2: BOOL2 := TRUE;
ELSE
BOOL1 := FALSE;
BOOL2 := FALSE;
END_CASE;
6
FOR
FOR循环
J:=101;
FOR I:=1 TO 100 BY 2 DO
IF ARR[I] = 70 THEN
J:=I;
EXIT;
END_IF;
END_FOR;
7
WHILE
WHILE循环
J:=1;
WHILE J<= 100 AND ARR[J] <> 70 DO
J:=J+2;
END_WHILE;
8
REPEAT
REPEAT循环
J:=-1;
REPEAT
J:=J+2;
UNTIL J= 101 OR ARR[J] = 70
END_REPEAT;
9
EXIT
退出循环
EXIT;
10
CONTINUE
继续循环下次执行
CONTINUE;
11
JMP
跳转
label: i:=i+1;
JMP label;
12
;
空语句
;
03 后记
以上为汇川PLC地址空间与ST语言的相关笔记,
有记录不当之处欢迎大佬在留言区留言指正,更多内容也可以在交流群探讨。
版权归原作者 雷工笔记 所有, 如有侵权,请联系我们删除。