请教:
在使用间接指针时,我大多数是使用SLD指令(左移双字(32位)),使用参照的是《S7-300和S7——400寻址》中提到的若把32位整型转换为字节指针常数,使用SLD 3,有时使用SLD 4 ,基本不用SLW指令(左移字(16位)),但是看到论坛里的很多程序,经常用到SLW 3等指令,比如
L DB10.DBW 354
T DB81.DBW 332
SLW 3
T PQW 206或是在模拟量处理时使用
dernr:device number
l dernr
slw 4
t deraddress
opn "dd"
l dbw[#deraddress]
t lw12
请教各位高手:一个是左移双字(32位),一个是左移单字(16位),感觉是不通用的,那到底什么时候用sld,什么时候用slw呢?是否涉及32位指针和16位指针呢?烦劳各位高手指点一下,谢谢
问题补充:
追问鸣侠,是不是可以这样理解:将32位整型转换为字节指针常数用SLD,将16位整型转换为字节指针常数用SLW呢?
最佳答案
1、一个是左移双字(32位),一个是左移单字(16位),感觉是不通用的,那到底什么时候用sld,什么时候用slw呢?
这与所要操作的数据长度相关。例如需要操作一个模拟量数据,因为模拟量数据是16位(单字)的,自然是应用SLW。
2、是否涉及32位指针和16位指针呢?
不完全是,有时用于指针,但不是专用于指针。还是与所要操作的数据长度相关。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc246208.html