发布于 2013-12-26 09:19:30
13楼
非常感谢杭州小子对我问题的积极反应和帮助!我把我写的源程序贴出来,SFC20报8124参数范围错误,请大家帮忙分析一下问题,谢谢!另外让PIW256往后的24个模拟量以ANY指针数据类型作为输入如何实现?
FUNCTION "模拟量地址映像" : VOID
TITLE =
VERSION : 0.1
VAR_OUTPUT
OUT : ANY ;
END_VAR
VAR_TEMP
PIW : ANY ;
DATA : ANY ;
OUT_1 : WORD ;
OUT_2 : WORD ;
OUT_3 : WORD ;
OUT_4 : DWORD ;
TEMP0 : INT ;
END_VAR
BEGIN
NETWORK
TITLE =
LAR1 P##PIW;
L W#16#1002;
T W [AR1,P#0.0];
L 48;
T W [AR1,P#2.0];
L 0;
T W [AR1,P#4.0];
L P#256.0;
L DW#16#FFFFFF;
AD ;
L DW#16#80000000;
OD ;
T D [AR1,P#6.0];
NETWORK
TITLE =
L P##OUT;
LAR1 ;
L W [AR1,P#0.0];
T #OUT_1;
L W [AR1,P#2.0];
T #OUT_2;
L W [AR1,P#4.0];
T #OUT_3;
L D [AR1,P#6.0];
T #OUT_4;
NETWORK
TITLE =
LAR1 P##DATA;
L #OUT_1;
T W [AR1,P#0.0];
L #OUT_2;
T W [AR1,P#2.0];
L #OUT_3;
T W [AR1,P#4.0];
L #OUT_4;
T D [AR1,P#6.0];
NETWORK
TITLE =
CALL "BLKMOV" (
SRCBLK := #PIW,
RET_VAL := #TEMP0,
DSTBLK := #DATA);
END_FUNCTION