An object is a monitored, named Logix variable, with a "value" which may be accessed and altered. The object is created by either of the macro calls: object() object(, ) where is an arbitrary Logix term; if is omitted, the initial value of the object is integer 0. The is instantiated as a result of the call. An (see Spifcp/BNF.txt) presents a request to the monitor. It has the form: ! The requests are: close() name(, ) read(, ) store(, ) values(, ) The may be omitted; in that case the close request is just the string "close". The is instantiated by the request to the appropriate value: name The name of the object. read The most recent value of the object. values A Logix list of values stored to the object, beginning with the most recent one. Note that the tail of the list is uninstantiated until the object is closed. In response to the store request, the monitor notes the as the most recent value of the object, and unifies it with a trailing list element. An object may appear in place of a . In that case, the most recent value of the object is used to compute the value of the . There is one predefined object, SPITIME, which may be referenced by: SPITIME ! read(Value) to obtain the current value of the internal clock, or by: SPITIME ! values(List) to obtain a list of values of the internal clock, starting with its current value. This list may be viewed as a stream which is augmented each time a transmission is completed. The internal clock is a positive, increasing, real number, initially 0. The 'close' and 'store' commands are not permitted for this object. The object monitor is implemented by spi_object.cp . The This document is licensed under Gnu General Public License - Version 3 http://www.nongnu.org/efcp/gnu-gpl3.html