下载此文档

西门子STL语言案例.docx


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
STL案例1:数值到位的对应
LAR1 P##SetValue //#SetValue为输入,WORD型
TAR2
+AR1
A 【AR1,P#】
= # //Q_Adress为UDT, OutPut为结构体
A 【AR1,P#】
= #
……………………………………
同理,位到数值的对应也是一样的处理方法。
STL案例2:存储区地址指针-16位地址指针(应用于T/C/DB/DI/FB/FC等的号)
L 11
T MW20
A
L S5T#10S
SE T[MW20] //T11
//用于定时器
L MW20
L 1
+I
T MW22
A
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 //转换为指针为P#
L P#
T MD24 //将指针P#
L 320
T MD28 //转换为指针为P#,存在MD28中
L DBW[MD20] //
L DBW[MD24] //
+I
T DIW[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
=
A
JC m1
L MD4
L P#
+D
T MD4
L MW100
LOOP NEXT
m1: FP
JNC m2
L MD4
L P#
/D
+ 1
T MD8
STL案例5:寄存器间接寻址-32位内部区域指针使用示例
OPN DB1
LAR1 P#
L DBW[AR1,P#]
LAR1 MD20
L DBW[AR1,P#]
+I
LAR2 P#
T DBW[AR2,P#]
STL案例6:寄存器间接寻址-32位交叉区域指针使用示例
LAR1 P#
A [AR1,P#] //注意格式,
=
L P#
LAR2
L W[AR2,P#] //注意格式
T 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 //或L P##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
JC END
NO: T #NO_TEMP
L D[AR1,P#]
L #ADD_TEMP
+D
T #ADD_TEMP
L #NO_TEMP
LOOP NO
L #ADD_TEMP
L #NO
DTR
/R
T #OUT_VAL
END: NOP 0

多背景调用时注意地址偏移
STL案例8:Any数据类型指针使用示例
与Point指针相比,Any类型指针可以表示一段长度的数据,例如:P# BOOL 16,也可以选择直接赋值,。
输入Any指针地址,求多个浮点数的平均值。
CALL FC13
In_Data:=P#

西门子STL语言案例 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人511709291
  • 文件大小22 KB
  • 时间2018-11-06