发布于 2005-09-09 11:20:54
0楼
方法一:可以用 BLKMOV即SFC20 来实现,不过最多一次只能传送4个直接
方法二:SFC14,SFC15可以拷贝 IO ,最大32字节,具体使用方法可以参考帮助
方法三:可以根据以下程序略加改动
FUNCTION_BLOCK FB1
TITLE =
VERSION : 0.1
VAR_INPUT
DB_No : INT ;
StartAddress : INT ;
Length : INT ;
END_VAR
VAR
Temp_LoopTime : INT ;
Temp_Pointer : REAL ;
END_VAR
VAR_TEMP
NUMBER : WORD ;
END_VAR
BEGIN
NETWORK
TITLE =
L #DB_No;
T #NUMBER;
OPN DB [#NUMBER];
L 0;
T #Temp_Pointer;
L #Length; // If Length <=0 Jump to End
L 0;
>I ;
JNB End;
L #Length;
N1: T #Temp_LoopTime; // Loop Times
L #Temp_Pointer;
L #StartAddress; //Start Address
+D ;
SLW 3;
T LD 8;
L IB [LD 8];
T LB 12;
L #Temp_Pointer;
SLW 3;
T LD 20;
L LB 12; // Load Input to DB
T DBB [LD 20];
L #Temp_Pointer; //Pointer ++2
L 1;
+D ;
T #Temp_Pointer;
L #Temp_LoopTime; // Go Loop
LOOP N1;
End: NOP 0;
END_FUNCTION_BLOCK
不清楚的话可以联系
QQ: 185621976
MSN: kkkgo_random@hotmail.com