Hey Pi Developers:
I've gotten over the hurdles working with the UFL and test based files.Now were are being asked by a customer that has a Applikon ADI 1030 bioreactor weather or not we can talk to it to get data into he historian.
How configurable is the UFL serial port interface? From the documentation, it seems like it isnt programmable. Below is a section of the serial port manual guide from the 1030:
The ADI-protocol uses the following format:
STX N to,from M module F function
U unit CAE
Node Module Instruction Unit Command Data Checksum
Note that no spaces are used in the command-string.
The command-string always starts with a <STX> (start of text) character, this is the ASCIIcharacter
The NODE-section is optional; if it is used, it is announced with a N character, followed by
the TO-node and FROM-node. The TO-node is the device number of the receiving device, the
FROM-node is the device number of the sending device. The TO-node and FROM-node are
always separated by a comma.
The Node-section is to be used when more than one ADI-instrument is connected to the serialline
(i.e. when using RS422 or RS485); however, the NODE-section can also be used on a
RS232 link although it doesn't make sense.
The MODULE-section should not be used in communication between a Host and an ADI
1030 Bio Controller; it is used for those ADI-instruments that have more than one Module
inside (e.g. the ADI1020). The ADI 1030 Bio Controller has no different modules, so a
received Module-Section will return an error message.
The INSTRUCTION-section holds the function(s) that are requested or commanded. The
Instruction-Section consists of one of the 3 characters F(unction), B(lock) or L(ist), followed
by the respective Function-Code, Block-Code or List-Number.
Function Mode: single command or request,
Block Mode: request adresses a block (group) of functions,
List Mode: request adresses a programmed list of functions.
The UNIT-section is optional and is used when more than one data-section is needed to
transfer all the information specified by the instruction.
SERIAL COMMUNICTION MANUAL
ADI 1030 SERIAL COMMUNICATION
Firmware V2.2x, March 1999
The Command-separator has 3 possible forms: the character "C", the character "A" or the
When the command-string is send by the HOST, "C" is used to denote a COMMAND (this
can be a request for data or a command).
When the Bio Controller replies to the command, "A" is used to return the requested data or
to acknowledge the command; "E" is used to report an error.
The DATA-section holds the data to be used for the function(s). When the HOST sends data
to the Bio Controller, it uses the Data-section to transport it; when the HOST requests data
from the Bio Controller, the Data-section must be empty (in fact, an empty data-section marks
Note that when a function is an implicit command (i.e. a function that doesn't need data to
perform some action) the Data-Section is also empty.
The CHECKSUM-section is optional and holds both the Checksum-separator '/' and the
checksum itself. The checksum consists of two characters which represent a byte-value. This
byte-value is the checksum of the transmitted data.
The command-string always ends with a <CR> (carriage return), the use of a <LF> (line feed)