|
Connections to physical hardware, inputs and outputs, are made by placing input and output function blocks. These function blocks are connected just like any other function block. The code inside this function block knows that it needs to read or write registers, and the registers are associated with physical I/O points as determined by the hardware.
You designate which I/O point the function block applies to by setting function block parameters. Function blocks specified as INT (integer) will default to BI 1 (Binary Input #1). Function blocks without the INT designation produce floating point data, and default to AI 1 (Analog Input #1). I/O objects recognized by the i.CanDrawIt code compiler include the following:
Designators having any of the character strings noted above will be interpreted as indicated. A designator consisting of just a number with no alpha designator in front of it will be interpreted as exactly that number with no object translation. Object translation for BACnet objects consists of multiplying the object type x1000 and adding the object instance. Therefore AO 1 translates into register 2001, which is interpreted as AO 1 by object mapping in Control Solutions hardware devices. It is important to note that you can use any of the above designations with any input or output function block symbol. Whether that actually works in hardware will depend on the hardware. Modbus holding registers are always read/write registers. Analog input objects on a BACnet device are generally read-only. Results of an attempt to write to an AI may depend on whether the AI object is "out of service". The objects indicated as "integer (boolean)" above will be treated as integer by math functions, but as boolean by the I/O object. The boolean interpretation of the integer data is usually zero versus non-zero for false versus true. However, logic functions are bitwise functions. If integer data values other than 1 and 0 are used, the user must be cautious about the interpretation of the result. The following table defines the overall register numbering scheme for PL/i register access in a BACnet environment. This is a global map definition. Actual available objects will vary by product model. The following table is provided for reference only. You do not need to concern yourself with these numbers when you use the alphanumeric designations indicated in the table above.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||