pCOWeb
+030220966 – rel. 1.1 – 12.12.2017
62
APPLICATION -
pCO
–
pCOWeb
COMMUNICATION
APPENDIX C
Figure C.
a
describes a write request generated by a high level
pCOWeb
application.
Figure C.a - Communication between pCOWeb - pCO atoms
REQUEST TO WRITE A VARIABLE FROM
pCOWeb
TO
pCO
1.
The variation request (WRITING REQUEST) is not transcribed to the
pCOWeb
table (comm buffer: var value) but rather is sent directly to the
pCO
.
2.
At the same time, on the
pCOWeb
the variation sent flag is raised (comm buffer: delta flag “set”); this flag is ONLY used by the HTML pages when
reading to establish whether the variations sent by the page with the “Submit” button have been confirmed by the reception of the new values on
the
pCO
: while there are still some variations that have not yet been confirmed by the
pCO
,
pCOWeb
does not generate the confirmation html
page on the browser; a 10 seconds Timeout is reset whenever each new confirmation is received; the html confirmation page will be generated
and sent back when all confirmation have been received OR when the Timeout expires.
3.
The value is received by the
pCO
and saved in the corresponding communication buffer (comm buffer: var value), together with a variation
received flag (comm buffer: delta flag “set”); the flag is only raised if the value received is different from the existing value.
4.
If the application running on the
pCO
contains the atom for receiving the variable (RX_ATOM), when the atom is run it detects the raised flag,
resets the flag (comm buffer: delta flag “reset”) and transfers the new value to the variable (example: AN12) for use within the application; at the
same time it “books” the re-transmission of the variation by raising the flag in the communication buffer on the
pCO
(comm buffer: tx flag “set”).
5.
If the application running on the
pCO
contains the atom for sending the variable, whenever this is run it checks whether the value of the
communication buffer (comm buffer: var value) is different from the value of the variable in the application (AN12); if it is different, it transfers the
value of the variable in the application to the communication buffer and “books” the re-transmission of the variation by raising the flag in the
communication buffer (comm buffer: tx flag “set”).
6.
With the following update request from
pCOWeb
to the
pCO
, the latter will send the value and lower the delta flag (comm buffer: delta flag “reset”).
7.
pCOWeb
will receive and save the value and the reception in its buffer (comm buffer: var value, delta flag “reset”).
CONCLUSIONS
A.
In a
pCO
application, a read-only variable does not perform the reception atom and is only varied from the application. Each value sent by
pCOWeb
will not produce any variation in the value of the application, but if the two values are different, the send atom will also book an echo
containing the value of the variable contained in the
pCO
application.
B.
On power-up, the
pCOWeb
communication buffer is loaded with a series of “U”-s (Undefined); each value received from the
pCO
replaces the
corresponding “U” loaded at power-up.
C.
If communication with the
pCO
is interrupted, after a Timeout of a few seconds, the entire
pCOWeb
communication buffer is initialised again with
the “U”-s (the “Status” LED starts flashing red).
D.
On power-up, or when communication is restored,
pCOWeb
sends
pCO
a command to read all the variables, regardless of the variations;
pCO
then sends all the values of all the variables managed by the communication buffer, irrespective of whether the atoms are present or not.
E.
The
pCO
BIOS versions prior to 4.02 do not manage all 207 variables for all three indices, that is, have communication buffers that do not extend
across the range 1-207. This means that there may be some “U”-s for the last variables.
F.
The
pCO
BIOS versions 2.31 and higher support Carel protocol version 3.0,
pCOWeb
requires this protocol version or higher.
G.
The
pCO
BIOS versions 5.17 and higher support pCOWeb configuration from system masks, with Carel and Modbus protocols. See section 9.6.