13
COMMUNICATIONS BETWEEN CPU MODULES
13.3 Data Communications Using CPU Shared Memory
13.3.4 Data communications without using auto refresh
13
- 37
9
DE
V
ICE DE
S
CRIPT
IO
N
10
MU
LT
IPL
E
CP
U SY
S
T
EM
O
V
ER
VI
E
W
11
MUL
T
IP
L
E
CP
U
S
Y
S
TE
M
CONFIGURA
TION
12
CONCE
PT
OF MU
LT
IPL
E
CP
U SY
S
T
EM
13
COMMUN
ICA
TIO
N
S
BE
TWE
E
N
CP
U
MODUL
ES
14
P
A
RAM
E
TE
RS
A
DDE
D
F
O
R MU
LT
IP
LE
C
P
U
S
YSTE
M
S
15
ST
A
R
TIN
G A
M
U
LT
IPLE
CP
U
SYS
TEM
16
TR
O
U
B
L
E
S
HOOTING
Receiving side program for CPU No.2 (C Controller module)
{
:
unsigned short usBuf; /* Data storage destination */
unsigned short pusData[128]; /* Data storage destination */
:
/****************************************************************/
/* The ON status of CPU No.1 data set completion bit is detected.*/
/****************************************************************/
while(1){
sRet = QBF_FromBuf(lPath, 0x3E0, 10010, 1, &usBuf, 1);
if( sRet != 0) return(sRet);
if( (usBuf & 0x1) == 0x1 ) break; /* When 1 is set, processing gets out from the loop. */
taskDelay(2);
}
/****************************************************************/
/* Data are read out from CPU No.1 user setting area. */
/****************************************************************/
sRet = QBF_FromBuf(lPath, 0x3E0, 10000, 10, pusData, 128);
if( sRet != 0) return(sRet);
/****************************************************************/
/* CPU No.2 data processing completion bit turns ON. */
/****************************************************************/
usBuf = 1;
sRet = QBF_ToBuf(lPath, 0x3E1, 10000, 1, &usBuf, 1);
if( sRet != 0) return(sRet);
/****************************************************************/
/* The OFF status of CPU No.1 data set completion bit is detected.*/
/****************************************************************/
while(1){
sRet = QBF_FromBuf(lPath, 0x3E0, 10010, 1, &usBuf, 1);
if( sRet != 0) return(sRet);
if( (usBuf & 0x1) == 0x0 ) break; /* When 0 is set, processing gets out from the loop. */
taskDelay(2);
}
/****************************************************************/
/* CPU No.2 data processing completion bit turns OFF. */
/****************************************************************/
usBuf = 0;
sRet = QBF_ToBuf(lPath, 0x3E1, 10000, 1, &usBuf, 1);
if( sRet != 0) return(sRet);
}
Figure 13.25 Interlock program example (continued)
3)
4)
5)
8)
9)
Содержание Q06CCPU-V
Страница 2: ......
Страница 612: ...APPX 48 Appendix 11 Functions Added by Version Upgrade APPENDICES Memo ...
Страница 617: ......