您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 市场营销 > 西门子STL语言案例
STL案例1:数值到位的对应1.LAR1P##SetValue//#SetValue为输入,WORD型TAR2+AR1A【AR1,P#1.0】=#Q_Adress.OutPut.Q_Pos1//Q_Adress为UDT,OutPut为结构体A【AR1,P#1.1】=#Q_Adress.OutPut.Q_Pos2……………………………………同理,位到数值的对应也是一样的处理方法。STL案例2:存储区地址指针16位地址指针(应用于T/C/DB/DI/FB/FC等的号)-L11TMW20AI2.1LS5T#10SSET[MW20]//T11//用于定时器LMW20L1+ITMW22AI2.2CUC[MW22]//FC12//用于计数器L12TLW20UCFC[LW20]//FC12//用于FCOPNDB[LW20]//DB12//用于DBSTL案例3:存储区地址指针32位地址指针OPNDB1//打开共享数据块OPNDI3//打开背景数据块,最多同时打开两个DB块-L4SLD3TMD20//LP#20.0TMD24//L320TMD28//LDBW[MD20]//DB1.DBW4LDBW[MD24]//DB1.DBW20+ITDIW[MD28]//DB3.DBW40转换为指针为P#4.0将指针P#20.0存储在MD24中转换为指针为P#40.0,存在MD28中STL案例4:存储区地址指针32位地址指针,与LOOP指令配合操作,某一DB块中与MW2相等的第一个数的位置L0TMW100TMD4OPNDB1L100NEXT:TMW100LMW2LDBW[MD4]==I=M10.0AM10.0JCm1LMD4LP#2.0+DTMD4LMW100LOOPNEXTm1:FPM10.0JNCm2LMD4LP#2.0/D+1TMD8STL案例5:寄存器间接寻址32位内部区域指针使用示例OPNDB1LAR1P#10.0LDBW[AR1,P#12.0]LAR1MD20LDBW[AR1,P#0.0]+ILAR2P#40.0TDBW[AR2,P#0.0]STL案例6:寄存器间接寻址32位交叉区域指针使用示例LAR1P#M20.0A[AR1,P#1.1]//注意格式,M21.1-=Q1.2LP#I40.0LAR2LW[AR2,P#0.0]//TMW60注意格式STL案例7:Point数据类型指针使用示例Point指针占用48位地址空间,主要用于向被调用的函数FC/FB传递复合数据类型(如ARRAY、STRUCT、UDT等)的实参,在被调用函数的FC/FB内部可以间接访问实参的存储器。输入首地址,求多个浮点数的平均值。CALLFC3In_Data:=P#M100.0//Point型NO:=4//Int型OUT_VAL:=MD20内部程序如下L0T#ADD_TEMP//临时变量清零LAR1P##In_Data//或LP##In_Data;LAR1L0LW[AR1,P#0.0]//DB块号或0==I//判断是否是DB块数据JCM1T#BLOCK_NOOPNDB[#BLOCK_NO]M1:LD[AR1,P#2.0]//第一个数据的起始地址LAR1L0L#NO==IJCENDNO:T#NO_TEMPLD[AR1,P#0.0]L#ADD_TEMP+DT#ADD_TEMPL#NO_TEMPLOOPNOL#ADD_TEMPL#NODTR/RT#OUT_VALEND:NOP0多背景调用时注意地址偏移STL案例8:Any数据类型指针使用示例与Point指针相比,Any类型指针可以表示一段长度的数据,例如:P#DB1.DBX0.0BOOL16,也可以选择直接赋值,如DB1.DBW0。输入Any指针地址,求多个浮点数的平均值。CALLFC13In_Data:=P#DB1.DBX0.0REAL8OUT_VAL:=MD20内部程序如下L0T#ADD_TEMPLP##In_DataLAR1LB[AR1,P#1.0]//若数据类型不是REAL,则跳转到ENDLB#16#8//代表REAL数据类型的代号DJCENDL0LW[AR1,P#4.0]//Any指针DB号或0==IJCM1T#BLOCK_NOOPNDB[#BLOCK_NO]M1:LW[AR1,P#2.0]//Any指针数据长度T#Data_LENLD[AR1,P#6.0]//Any指针第一个数据起始地址LAR1L#Data_LENNO:T#DATA_NOLD[AR1,P#0.0]LADD_TEMP+RTADD_TEMP+AR1P#4.0L#DATA_NOLOOPNOL#ADD_TEMPL#Data_LENITDDTR/RT#OUT_VALEND:NOP0多背景调用时注意地址偏移
本文标题:西门子STL语言案例
链接地址:https://www.777doc.com/doc-1771702 .html