语句表
L P##_InverterStatus
T #Punt
这个P##看不懂了。
问题补充:
这个指针是在TEMP区的结构数据
图片说明:
最佳答案
你可以认为是指针的指针,常用于向FC、FB传递 ANY、或 POINTER 指针类型的参数。
以传递 ANY 类型参数为例:下面的截取的一段程序,出自第一个链接《西门子STL间接寻址常问问题集》1.5如何在程序中使用ANY 型指针?
L P##Input //指向存储地址指针Input首地址
//这个参数是一个Any类型,P##Input指向参数Input的值所在
//地址,这就是指针的指针
LAR1 //装载到地址寄存器AR1中。
L W [AR1,P#4.0]
//为了打开DB块,取数据块号
// 由Any类型结构知道Any类型的Byte4、Byte5存放的数据块号
T #BLOCK_NO
OPN DB [#BLOCK_NO] //如果是DB块,打开指定的DB块。
L W [AR1,P#2.0] //判断ANY指针中数据长度
// Any类型的Byte2、Byte3是重复系数,
//如 P#DB1.DBX0.0 Byte 8后面的Byte 8
_001:T #DATA_LEN //通常此处做loop循环!!
L D [AR1,P#6.0] //找出需要计算数据区的开始地址
// Any类型Byte6~Byte9是32位区域地址
理解Pointer、Any的类型的数据结构,对于正确使用指针有很大帮助。
为正确使用指针,应仔细阅读如下内容:
"SIMATIC Programming with STEP 7 V5.5" 05/2010 第27.3.4章 参数类型
《西门子STL间接寻址常问问题集》
https://support.industry.siemens.com/cs/document/76492353
另外结合间接寻址手册中 ANY 类型的数据结构,以及STL 指令手册
S7-300和S7-400寻址
https://support.industry.siemens.com/cs/document/79632832
SIMATIC S7-300和S7-400编程的语句表
https://support.industry.siemens.com/cs/document/109751814
提问者对于答案的评价:
额看明白了。以前只用P#这样的指针。
这段程序,应该是将PIW3500,3502,3504的值赋值给接口区TEMP下的LW0,LW2,LW4
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc287137.html