菜鸟:
请问,如何把 I1.4-I4.3 这3个字节转送到 Q0.0-Q1.7 中去?
用指针的话,是不是写成:
L P#1.4 BYTE3
T Q0.0
?
谢谢。
斑竹:
l p#0.0
lar1
l 24
go:t i
a i[ar1,p#1.4]
= q[ar1,p#0.0]
+ar1 p#0.1
l #i
loop go
当然用sfc20更简单
CALL "BLKMOV"
SRCBLK :=P#I 1.4 BOOL 24
RET_VAL:=MW0
DSTBLK :=P#Q 0.0 BOOL 24
简单点用3个字节传送指令
要一起传送,只能使用SFC15,SFC20是不能使用的,因为对应的是IO
菜鸟:
谢谢。我这个写法:
L P#1.4 BYTE3
T Q0.0
不对是吧?
斑竹:指针怎能送到一个输出点上去呢? 另外,指针也是一错再错。
楼主,基础太差需要补课 !
估计,别人回你的你都不懂啥意思
菜鸟:
刚试了一下,可以这样
CALL "BLKMOV"
SRCBLK :=P#I 1.0 BOOL 24
RET_VAL:=MW0
DSTBLK :=P#Q 0.0 BOOL 24
不可以P#I 1.4 BOOL 24
看来sfc20应该是整byte复制
斑竹:
提供个思路:把ID1双字整体左移4位,然后MOVE到Q区。