- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
STL案例1:数值到位的对应
1.LAR1P##SetValue//#SetValue为输入,WORD型
TAR2
+AR1
A【AR1,P#】
#//Q_Adress为UDT,OutPut为结构体
A【AR1,P#】
#
同理,位到数值的对应也是相同的办理方法。
STL案例2:储藏区地址指针-16位地址指针(应用于T/C/DB/DI/FB/FC
等的号)
L11
MW20
A
LS5T#10S
SET[MW20]//T11
用于准时器
LMW20
1
+I
MW22
A
CUC[MW22]//C12
用于计数器
L
12
T
LW20
UC
FC[LW20]
//FC12
用于FC
OPNDB[LW20]//DB12
用于DB
STL案例3:储藏区地址指针-32位地址指针
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]
//
STL案例4:储藏区地址指针-32位地址指针,与LOOP指令配合
操作,某一DB块中与MW2相等的第一个数的地址
L0
TMW100
TMD4
OPNDB1
L100
NEXT:TMW100
LMW2
LDBW[MD4]
==I
=
A
JCm1
LMD4
LP#
+D
TMD4
LMW100
LOOPNEXT
m1:FP
JNCm2
LMD4
LP#
/D
+1
TMD8
STL案例5:寄存器间接寻址-32位内部地域指针使用示例
OPN
DB1
LAR1
P#
L
DBW[AR1,P#]
LAR1
MD20
L
DBW[AR1,P#]
+I
LAR2
T
P#
DBW[AR2,P#]
STL案例6:寄存器间接寻址-32位交织地域指针使用示例
LAR1
P#
A
[AR1,P#]
//注意格式,
=
L
LAR2
P#
L
T
W[AR2,P#]
MW60
//注意格式
STL案例7:Point数据种类指针使用示例
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块数据
JC
M1
T
#BLOCK_NO
OPN
DB[#BLOCK_NO]
M1:
L
D[AR1,P#]//第一个数据的初步地址
LAR1
L
0
L#NO
==I
JCEND
NO:T#NO_TEMP
LD[AR1,P#]
L#ADD_TEMP
+D
T#ADD_TEMP
L#NO_TEMP
LOOPNO
#ADD_TEMPL#NO
DTR
/R
#OUT_VAL
END:NOP0
多背景调用时注意地址偏移
STL案例8:Any数据种类指针使用示例
与Point指针对照,Any种类指针可以表示一段长度的数据,比方:
P#BOOL16,也可以选择直接赋值,如。
输入Any指针地址,求多个浮点数的平均值。
CALLFC13
In_Data:=P#REAL8
OUT_VAL:=MD20
内部程序以下
L
T
L
LAR1
0
#ADD_TEMP
P##In_Data
L
B[AR1,P#]
//若数据种类不是
REAL,则跳转到
END
L
B#16#8
//代表
REAL数据种类的代号
D
JC
L
END
0
L
W[AR1,P#]
//Any
指针
DB号或
0
==I
JC
T
OPN
M1
#BLOCK_NO
DB[#BLOCK_NO]
M1:
L
W[AR1,P#]
//Any指针数据长度
T
#Data_LEN
L
D[AR1,P#]
//Any指针第一个数据初步地址
LAR1
L
#Data_LEN
NO:
T
#DATA_NO
L
D[AR1,P#]
L
ADD_TEMP
+R
T
ADD_TEMP
+AR1
P#
#DATA_NO
LOOPNO
#ADD_TEMPL#Data_LE
您可能关注的文档
最近下载
- 建筑工程水泥—水玻璃双液注浆技术规程.pdf VIP
- 中小学校园膳食监督家长委员会工作制度.docx
- 22G101-1混凝土结构施工图平面整体表示方法制图规则和构造详图(现浇混凝土框架、剪力墙、梁、板)(OCR).pdf VIP
- 敬辞与谦辞公开课教案教学设计课件资料.pptx VIP
- 西气东输三线闽粤支干线工程环境影响报告书.pdf
- 酒店安保部门安全培训资料.pdf VIP
- 7.1中国四大菜系+(课件)-《导游基础知识》同步教学(中国旅游出版社).pptx VIP
- JJF(浙)1222-2025汽油车简易瞬态工况排放检测系统校准规范.pdf VIP
- 2025兵团连队职工考试试题及答案解析.doc VIP
- 南京最全的美食地图.pdf VIP
文档评论(0)