西门子STL语言案例 下载本文

STL案例1:数值到位的对应

1. LAR1 P##SetValue //#SetValue为输入,WORD型

TAR2 +AR1

A 【AR1,P#1.0】

= #Q_Adress.OutPut.Q_Pos1 //Q_Adress为UDT, OutPut为结构体 A 【AR1,P#1.1】

= #Q_Adress.OutPut.Q_Pos2 ……………………………………

同理,位到数值的对应也是一样的处理方法。

STL案例2:存储区地址指针16位地址指针(应用于T/C/DB/DI/FB/FC

等的号)

-

L 11 T MW20 A I2.1 L S5T#10S

SE T[MW20] //T11 //用于定时器 L MW20 L 1 +I T MW22 A I2.2

CU C[MW22] //C12 //用于计数器 L 12 T LW20

UC FC[LW20] //FC12 //用于FC

OPN DB[LW20] //DB12 //用于DB

STL案例3:存储区地址指针32位地址指针

OPN DB1 //打开共享数据块

OPN DI3 //打开背景数据块,最多同时打开两个DB块 -

L 4 SLD 3

T MD20 //L P#20.0

T MD24 //L 320

T MD28 //

L DBW[MD20] //DB1.DBW4 L DBW[MD24] // DB1.DBW20 +I

T DIW[MD28] // DB3.DBW40

转换为指针为P#4.0 将指针P#20.0存储在MD24中 转换为指针为P#40.0,存在MD28中

STL案例4:存储区地址指针32位地址指针,与LOOP指令配合

操作,某一DB块中与MW2相等的第一个数的位置 L 0 T MW100 T MD4 OPN DB1 L 100 NEXT: T MW100 L MW2 L DBW[MD4] ==I

= M10.0 A M10.0 JC m1 L MD4 L P#2.0 +D

T MD4 L MW100 LOOP NEXT

m1: FP M10.0

-