1 / 11
文档名称:

西门子STL语言案例新版资料.doc

格式:doc   大小:30KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

西门子STL语言案例新版资料.doc

上传人:业精于勤 2020/11/2 文件大小:30 KB

下载得到文件列表

西门子STL语言案例新版资料.doc

文档介绍

文档介绍:STL案例1:数值到位对应LAR1P##SetValue//#SetValue为输入,WORD型TAR2+AR1A【AR1,P#】=#//Q_Adress为UDT,OutPut为结构体A【AR1,P#】=#……………………………………同理,位到数值对应也是一样处理方法。STL案例2:存放区地址指针-16位地址指针(应用于T/C/DB/DI/FB/FC等号)#10SSET[MW20]//T11//用于定时器LMW20L1+[MW22]//C12//用于计数器L12TLW20UCFC[LW20]//FC12//用于FCOPNDB[LW20]//DB12//用于DBSTL案例3:存放区地址指针-32位地址指针OPNDB1//打开共享数据块OPNDI3//打开背景数据块,最多同时打开两个DB块L4SLD3TMD20//转换为指针为P##//将指针P#//转换为指针为P#,存在MD28中LDBW[MD20]//[MD24]//+ITDIW[MD28]//:存放区地址指针-32位地址指针,和LOOP指令配合操作,某一DB块中和MW2相等第一个数位置L0TMW100TMD4OPNDB1L100NEXT:TMW100LMW2LDBW[MD4]==I=#+DTMD4LMW100LOOPNEXTm1:#+1TMD8STL案例5:寄存器间接寻址-32位内部区域指针使用示例OPNDB1LAR1P#[AR1,P#]LAR1MD20LDBW[AR1,P#]+ILAR2P#[AR2,P#]STL案例6:寄存器间接寻址-32位交叉区域指针使用示例LAR1P#[AR1,P#]//注意格式,=#[AR2,P#]//注意格式TMW60STL案例7:Point数据类型指针使用示例Point指针占用48位地址空间,关键用于向被调用函数FC/FB传输复合数据类型(如ARRAY、STRUCT、UDT等)实参,在被调用函数FC/FB内部能够间接访问实参存放器。输入首地址,求多个浮点数平均值。CALLFC3In_Data:=P#//Point型NO:=4//Int型OUT_VAL:=MD20内部程序以下L0T#ADD_TEMP//临时变量清零LAR1P##In_Data//或LP##In_Data;LAR1L0LW[AR1,P#]//DB块号或0==I//判定是否是DB块数据JCM1T#BLOCK_NOOPNDB[#BLOCK_NO]M1:LD[AR1,P#]//第一个数据起始地址LAR1L0L#NO==IJCENDNO:T#NO_TEMPLD[AR1,P#]L#ADD_TEMP+DT#ADD_TEMPL#NO_TEMPLOOPNOL#ADD_TEMPL#NODTR/RT#OUT_VALEND:NOP0多背景调用时注意地址偏移STL案例8:Any数据类型指针使用示例和Point指针相比,Any类型指针能够表示一段长度数据,比如:P#,也能够选择直接赋值,。输入Any指针地址,求多个浮点数平均值。CALLFC13In_Data:=P#:=MD20内部程序以下L0T#ADD_TEMPLP##In_DataLAR1LB[AR1,P#]//若数据类型不是REAL,则跳转到ENDLB#16#8//代表REAL数据类型代号<>DJCENDL0LW[AR1,P#]//Any指针DB号或0==IJCM1T#BLOCK_NOOPNDB[#BLOCK_NO]