西门子指针P#DB101.DBX1.0 BYTE 50的一个问题

程序如图中所示。
程序里面的BYTE 50,开始我理解是50个字节,但后来我打开DB块,我发现应该是50个字,求高手解释

这个的意思是:从DBX0.0开始,往后数50个字节。

肯定是“字节”,而不是“字”。楼主再仔细观察一下看看,是不是别的地方出了问题。
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-03-17
从DBX0.0开始,往后数50个字节。

即:DBB0、DBB1、DBB2.....DBB49

西门子指针P#DB101.DBX1.0 BYTE 50的一个问题
这个的意思是:从DBX0.0开始,往后数50个字节。肯定是“字节”,而不是“字”。楼主再仔细观察一下看看,是不是别的地方出了问题。

关于西门子的一段程序,请高手指点!
P#是指这个是个指针数值,#IN2是个变量,所以,你要根据这个变量的类型来看。从你的问题中看出,#in2应该是格指针类型的变量,内容是DB8.DBX0.0。指针类型的参数结构为第0-16位为DB的块号。因此,你程序第一段是载入了指向这个变量地址的指针。最终结果,你打开的是DB8(也就是#IN2的第一二个...

西门子plc中,L P##_DB 这个语句什么意思?求解释!
P#中的P是Pointer,是个32位的直接指针。所谓“直接”,是指P#中的#后面所跟的数值或者存储单元,是P直接给定的。这样P#XXX这种指针,就可以被用来在指令寻址中,作为一个“常数”来对待,这个“常数”可以包含或不包含存储区域。例如:1、LP#Q1.0\/\/把Q1.0这个指针存入ACC1,此时ACC1的内容=82...

西门子300 寻址问题 P#DB90.DBX0.0 啥意思啊 和DB90.DBX0.0 有什么区别...
一句话,DB90.DBX0.0只是指DB90中的0.0这一个位,而P#DB90.DBX0.0是指从这一位开始,具体根据后面的语法决定其长度,有可能是P#DB90.DBX0.0开始的一个字节,也可能是P#DB90.DBX0.0开始的一个结构体等等。

求解决一个西门子PLC400的问题
尤其是基于FC105&FC106这2个程序块使用的DB块,问题就出在这里,别着急,仔细查看,你使用的简单类型还是复杂类型分配?另外,在程序中插入OB85,OB121,OB122这三个,空的就行了,下载至CPU 希望可以帮助到你,如果还有疑问,把你程序打包发我邮箱,我帮你解决relyown@163.com ...

西门子PLC S7-300中,在什么情况下用指针P#?比如:P#M12.0与M12.0区别...
LAR1 P#DB1.DBX20.0 T DB[AR1,P#0.0]而M的跨区域使用一般是:LAR1 P#M12.0 T M[AR1,P#0.0]更多的P#M12.0的用法是作为ANY块的使用,即一块数据区域的始终,例如:P#M12.0 BYTE 10 表示MB12开始的连续10个字节的区域。而P#M12.0代表的是一个指针,他储存了一个地址,...

如何设置带有"any"或"pointer"数据类型的功能块
● L P#MB100 \/\/错误!必须按照byte.bit结构给定指针。● L P#M100.0 \/\/把M100.0这个指针存入ACC1,此时ACC1的内容=83000320(hex)=M100.0 ● L P#DB100.DBX26.4 \/\/错误!DBX已经提供了存储区域,不能重复指定。● L P#DBX26.4 \/\/把DBX26.4这个指针存入ACC1,此时ACC1的内容=...

关于西门子STEP 7 语句表(STL)编程的问题?L DID [AR1,P#70.0]是什么意...
装载当前背景DB块中(地址AR1的值加上70)所对应的双字的数据到累加器1.比如当前背景DB为DB0,AR1的地址为0.0,当 L DID[AR1,P#70.0]后,累加器1的值即为DB0.DBD70所对应的值。

间接寻址是什么意思,说的详细一些,举个例子
就是给出的数不是操作数本身,而是存放操作数的地址 ,上面都是直接从其他资料上复制过来的,你要是想深入理解的话,建议你看看王爽老师的《汇编语言》

麻烦高人指点一下S7 300指令什么意思:尤其是L W[AR1,P#0.0]这类...
不是一两句能说清楚的。L W[AR1,P#0.0]这个个间接寻址中的交叉寻址,其中W指的是你的字符宽度,W代表的是字,就是这个指针的指向宽度为2个字节,AR1为你事先装载进去的指针指向起始地址,例如 L [MW20]LAR1 这个就是在位存储区中的第20个字的位置,字符宽度为2两个字节。装载到地址寄存器1...

相似回答