1 / 11
文档名称:

西门子STL语言学习案例.docx

格式:docx   大小:49KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

西门子STL语言学习案例.docx

上传人:菲菲 2022/1/12 文件大小:49 KB

下载得到文件列表

西门子STL语言学习案例.docx

文档介绍

文档介绍:精品文档
精品文档
1
精品文档
STL案例1:数到位的
1. LAR1 P##SetValue //#SetValue 入,WORD型
TAR2
+AR1
A 【AR1,P#】
#//Q_Adress为UDT,OutPut为结构体
A 【AR1,P#】
#⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯
同理,位到数的也是一的理方法。
STL案例2:存区地址指-16位地址指(用于
精品文档
精品文档
11
精品文档
T/C/DB/DI/FB/FC等的号)
L 11
MW20
A
LS5T#10S
SE T[MW20] //T11
用于定时器
MW20L1
+I
TMW22
A
CU C[MW22] //C12
用于计数器
L 12
T LW20
UC FC[LW20] //FC12
用于FC
OPN DB[LW20] //DB12
用于DB
STL案例3:存储区地址指针-32位地址指针
精品文档
精品文档
3
精品文档
OPN
DB1
//
打开共享数据块
OPN
DI3
//
打开背景数据块,最多同时打开两个
DB块
L
4
SLD
3
T
MD20
//
转换为指针为P#
L
P#
T
MD24
//
将指针P#存储在MD24中
L
320
T
MD28
//
转换为指针为P#,存在MD28中
L
DBW[MD20]
//
L
DBW[MD24]
//
+I
T
DIW[MD28]
//
精品文档
精品文档
4
精品文档
STL案例4:存储区地址指针-32位地址指针,与LOOP指令配合
精品文档
精品文档
11
精品文档
操作,某一DB块中与MW2相等的第一个数的位置
L 0
MW100
TMD4
OPNDB1L100
NEXT:TMW100
DBW[MD4]
==I
=
A
JCm1
MD4
LP#+D
MW100
LOOPNEXT
m1: FP
JNC m2
精品文档
精品文档
6
精品文档
MD4
LP#/D
1
T MD8
精品文档
精品文档
7
精品文档
STL案例5:寄存器间接寻址-32位内部区域指针使用示例
精品文档
精品文档
11
精品文档
OPN DB1
LAR1 P#
DBW[AR1,P#]LAR1MD20
LDBW[AR1,P#]+I
LAR2P#
TDBW[AR2,P#]
精品文档
精品文档
9
精品文档
STL案例6:寄存器间接寻址-32位交叉区域指针使用示例
精品文档
精品文档
11
精品文档
LAR1 P#
A [AR1,P#] // 注意格式,
=
L P#
LAR2
L W[AR2,P#] // 注意格式
T MW60
精品文档
精品文档
11
精品文档
STL案例7:Point数据类型指针使用示例
精品文档
精品文档
11
精品文档
Point指针占用48位地址空间,主要用于向被调用的函数 FC/FB
传递复合数据类型(如 ARRAY、STRUCT、UDT等)的实参,在被调
用函数的FC/FB内部可以间接访问实参的存储器。
输入首地址,求多个浮点数的平均值。
CALL
FC3
In_Data:=P#
//Point

NO
:=4
//Int

OUT_VAL:=MD20
内部程序如下
L
0
T
#ADD_TEMP
//
临时变量清零
LAR1
P##In_Data
//
或LP##In_Data;LAR1
L
0
L
W[AR1,P#]
//DB
块号或0
==I
//
判断是否是DB块数据