10.9.3
Extending the IPC
Flag Area
The problem
In the S5-135U/155U programmable controllers, each of the 256 flag
bytes of a CPU can become an input or output IPC flag by making an
entry in data block DB 1. This, however, reduces the number of
"normal" flag bytes. To transfer a data record (several bytes) other
mechanisms are also required (semaphore variable or DX 0 parameter
assignment "transfer IPC flags as a block") are necessary to prevent
the receiver from receiving a fragmented data record.
Application example continued:
In CPU 2, the RECEIVE function (OB 204) called by FB 2 enters each transmitted
data field into the appropriate data block. It may take
several cycles before a data block has been completely received.
FB 2 LEN=yy
SEGMENT 1 0000
NAME:RECV-DAT
0000 :L KB 1 Receive data from CPU 1
0001 :T FY 246
0002 :
0003 SCHL :L KB 246 SF OB:
0004
:JU OB 204 "Receive"
0005 :JM =ERRO Abort if error
0006 :L FY 249 The RECEIVE function is
0007 :L KB 0 called until there are no
0008 :><F further of data fields in
0009 :JC =LOOP the buffer, i.e. the
000A : receiving capacity = 0.
000B :BEU
000C ERRO :
000D : The error handling takes place here
000E : (e.g. stop, message output
000F : on printer, ...)
00xx :BE
Applications
CPU 948 Programming Guide
10 - 66 C79000-G8576-C848-04