西门子STL语言案例.docx
- 文档编号:1947362
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:8
- 大小:29.46KB
西门子STL语言案例.docx
《西门子STL语言案例.docx》由会员分享,可在线阅读,更多相关《西门子STL语言案例.docx(8页珍藏版)》请在冰豆网上搜索。
西门子STL语言案例
欧阳家右创编
STL案例1:
数值到位的对应
1.
欧阳家百(2021.03.07)
2.LARIP##SetValue//#SetValue为输入,WORD
型
TAR2
+AR1
A[AR1,P#1.0]
二#Q_Adress.OutPut.Q_Posl//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
12.1
L
S5T#10S
SE
T[MW20]
//Til
//用于定时器
L
MW20
L
1
+1
T
MW22
A
12.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
//转换为指针为P#4.0
L
P#20.0
T
MD24
//将指针P#20.0存储在MD24中
L
320
欧阳家白创编
T
MD28
//转换为指针为P#40.0,存在MD28
中
L
DBW[MD20]
//DB1.DBW4
L
DBW[MD24]
//DB1.DBW20
+1
T
DIW[MD28]
//DB3.DBW40
STL案例4:
存储区地址指针-32位地址指针,与LOOP指令配合操作,某一DB块中与MW2相等的第一个数的位置
L0
TMW100
TMD4
OPNDB1
L100
NEXT:
TMW100
LMW2
LDBW[MD4]
=1
二M10.0
AMIO.0
JCml
LMD4
LP#2.0
+D
MD4
MW100
m2
JNC
MD4
P#2.0
/D
MD8
STL案例5:
寄存器间接寻址-32位内部区域指针使用示例
DB1
OPN
DBW[AR1,P#12・0]
DBW[AR1,P#0.0]
+1
DBW[AR2,P#0.0]
STL案例6:
寄存器间接寻址-32位交叉区域指针使用示例
//注意格式,M21.1
QI.2
//Point型
//Int型
//临时变量清零
〃或LP##In_Data;LARI
//DB块号或0
//判断是否是DB块数据
LP#I40.0
LAR2
LW[AR2,P#0.0]〃注意格式
TMW60
STL案例7:
Point数据类型指针使用示例
Point指针占用48位地址空间,主要用于向被调用的函数
FC/FB传递复合数据类型(如ARRAY>STRUCT、UDT等)的实参,在被调用函数的FC/FB内部可以间接访问实参的存储器。
输入首地址,求多个浮点数的平均值。
CALLFC3
In_Data:
=P#M100.0
NO:
二4
0UT_VAL:
二MD20
内部程序如下
L0
T#ADD_TEMP
LARIP##In_Data
L0
LW[AR1,P#O.0]
=1
JCMl
T#BL0CK_N0
OPNDB[#BL0CK_N0]
欧阳家百创编
欧阳家白•创编
Ml:
LD[AR1,P#2.O]〃第一个数据的起始地址
LAR1
L0
L#N0
二二1
JCEND
NO:
T#NO_TEMP
LD[AR1,P#O.0]
L#ADD_TEMP
+D
T#ADD_TEMP
L#NO_TEMP
LOOPNO
L#ADD_TEMP
L#N0
DTR
/R
T#OUT_VAL
END:
NOP0
多背景调用时注意地址偏移
STL案例8:
Any数据类型指针使用示例
与Point指针相比,Any类型指针可以表示一段长度的数据,
例如:
P#DB1.DBXO.0BOOL16,也可以选择直接赋值,如
欧阳家百创编
DBl.DBWOo
输入Any指针地址,求多个浮点数的平均值。
CALLFC13
In_Data:
=P#DBl.DBX0.0REAL8
0UT_VAL:
=M20
内部程序如下
T#ADD_TEMP
LP##In_Data
LARI
L
END
L
<>D
B[AR1,P#1.O]
B#16#8
//若数据类型不是REAL,则跳转到
//代表REAL数据类型的代号
JCEND
L0
LW[AR1,P#4.0]
=1
//Any指针DB号或0
JCMl
T#BL0CK_N0
OPNDB[#BL0CK_N0]
Ml:
LW[AR1,P#2.0]
//Any指针数据长度
T#DataLEN
欧阳家白•创编
LD[AR1,P#6.0]//Any指针第一个数据起始地址
LAR1
L#Data_LEN
NO:
T#DATA_NO
LD[AR1,P#O.0]
LADD_TEMP
+R
TADD_TEMP
+AR1P#4.0
L#DATA_NO
LOOPNO
L#ADD_TEMP
L#Data_LEN
ITD
DTR
/R
T#OUT_VAL
END:
NOP0
多背景调用时注意地址偏移
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西门子 STL 语言 案例