STL案例2:存储区地址指针-16位地址指针(应用于
STL案例2:存储区地址指针-16位地址指针(应用于
为输入,WORD
STL案例1:数值到位的对应
##SetValue//#SetValue
TAR2
+AR1
A[AR1,P#I
=#//Q_Adress为UDT,OutPut为结构体
A[AR1,P#I=#
同理,位到数值的对应也是一样的处理方法。
STL案例4:存储区地址指针-32位地址指针,与LOOPW令配合
T/C/DB/DI/FB/FC等的号)
L11
TMW20
A
LS5T#10S
SET[MW20]//T11
//用于定时器
LMW20
L1
+I
TMW22
A
CUC[MW22]//C12
//用于计数器
L12
TLW20
UCFC[LW20]//FC12
//用于fC
OPNDB[LW20]//DB12
//用于dB
STL案例3:存储区地址指针-32位地址指针
OPN
DB1
//
OPN
DI3
//
L
4
SLD
3
T
MD20
L
P#
T
MD24
L
320
T
MD28
//
//
//
打开共享数据块
打开背景数据块,最多同时打开两个DB块
转换为指针为P#
将指针P#S储在MD24^
转换为指针为P#,存在MD28^
LDBW[MD20]//
LDBW[MD24]//
+I
TDIW[MD28]//
STL案例4:存储区地址指针-32位地址指针,与LOOPW令配合
STL案例4:存储区地址指针-32位地址指针,与LOOPW令配合
操作,某一DB块中与MW才目等的第一个数的位置
L0
TMW100
TMD4
OPNDB1
L100
NEXT:TMW100
LMW2
LDBW[MD4]
==I
A
JCml
LMD4
LP#
+D
TMD4
LMW100
LOOPNEXT
ml:FP
JNCm2
STL案例4:存储区地址指针-32位地址指针,与LOOPW令配合
STL案例5:寄存器间接寻址-32位内部区域指针 使用示例
STL案例5:寄存器间接寻址-32位内部区域指针 使用示例
LMD4
LP#
/D
+1
TMD8
STL案例6:寄存器间接寻址-32位交叉区域指针 使用示例
STL案例6:寄存器间接寻址-32位交叉区域指针 使用示例
OPNDB1
LAR1P#
LDBW[AR1,P#]
LAR1MD20
LDBW[AR1,P#]
+I
LAR2P#
TDBW[AR2,P#]
STL案例7: Point数据类型指针使用示例
STL案例7: Point数据类型指针使用示例
LAR1P#
A[AR1,P#]//注意格式,
LP#
LAR2
LW[A曲P#]//注意格式
TMW60
STL案例8: Any数据类型指针使用示例
临时变量清零
或LP##In_Data;LAR1
块号或0
判断是否是DB块数据
第一个数据的起始地址
Point指针占用48位地址空间,主要用于向被调用的函数FC/FB传递复合数据类型(如ARRAYSTRUCTUD偌)的实参,在被调用函数的FC/FB内部可以间接访问实参的存储器。
输入首地址,求多个浮点数的平均值
CALLFC3
In_Data尸P#//Point
NO:=4//Int
OUTVAL尸MD20
内部程序如下
L0
T#ADD_TEMP//
LAR1P##In_Data//
L0
LW[AR1,P#]〃DB
==I//
JCM1
T#BLOCK_NO
OPNDB[#BLOCK_NO]
M1:LD[AR1,P#]//
LAR1
L0
#NO
STL案例8: Any数据类型指针使用示例
JCEND
NO:T#NO_TEMP
LD[AR1,P#]
L#ADD_TEMP+D
T#ADD_TEMP
L#NO_TEMPLOOPNO
L#ADD_TEMP
L#NO
DTR
/R
T#OUT_VAL
END:NOP0
多背景调用时注意地址偏移
与Point指针相比,Any类型指针可以表示一段长度的数据,例如:
P#BOOL166也可以选择直接赋值,如。
西门子STL语言案例 来自淘豆网www.taodocs.com转载请标明出处.