FC 147 - Remote I/O Definition

The remote I/O definition function code defines:

• The communication address (expander bus communication) and environment of remotely located I/O modules.

• The block address of the next remote I/O definitions allocated for more than 32 remotely located I/O function codes.

 

Expander Bus Communication

The remote I/O definition function code defines the communication address and environment of remotely located I/O modules. This module is the remote slave processor (RSP). Each processor has a unique serial link communication address. This block defines that address.

The remote I/O definition block also defines the digital and analog I/O module types interfaced with the remote processor.

 

NOTE: In order to minimize the possibility of malfunctions, it is essential that the RMP function block (FC146), the RSP function blocks (FC147), and all the slave definition blocks for the remote slaves (FC79, FC83, FC84, FC132, etc.) all reside within the same segment. In addition, these blocks must be sequenced in the following order: FC146 must reside at a lower block number than all FC147s for that link, and the FC147s must reside at lower block addresses than the slave definition blocks and station blocks (FC80) for the remote slaves.

 

Outputs:

Blk

Type

Description

N

B

Remote processor status:

0 = good

1 = bad

 

NOTE: If running a redundant remote I/O configuration, block N indicates good (zero) when both remote processors function properly. Block N indicates bad (one) when one or both of the remote processors are offline.

 

Specifications:

Spec

Tune

Default

Type

Range

Description

S1

N

0

I

Note 1

Block address of next remote I/O definition

S2

N

0

I

0 - 63

Remote processor serial link communication address (expander bus communication, FC146 S4 = 0)

Spare parameter (HNET communication, FC146 S4> 0)

S3

N

0

I

Full

Spare Parameter

S4

N

0

I

Full

Spare Parameter

S5

N

2

I

Note 1

Block Address of I/O Block or Station

S6

N

2

I

Note 1

Block Address of I/O Block or Station

S7

N

2

I

Note 1

Block Address of I/O Block or Station

S8

N

2

I

Note 1

Block Address of I/O Block or Station

S9

N

2

I

Note 1

Block Address of I/O Block or Station

S10

.

.

.

N

.

.

.

2

.

.

.

I

.

.

.

Note 1

.

.

.

Block Address of I/O Block or Station

.

.

.

S34

N

2

I

Note 1

Block Address of I/O Block or Station

S35

N

2

I

Note 1

Block Address of I/O Block or Station

S36

N

2

I

Note 1

Block Address of I/O Block or Station

 

NOTES:

1. Maximum values are:9,998 for the and 31,998 for the BRC-400 and HAC

 

 

HNET Communication

The remote I/O definition function code defines the block address of the next remote I/O definition allocated in the RIOBRC.  The remote I/O definition block also defines the digital and analog I/O module types interfaced with the RIO-BRC.

 

NOTE: In order to minimize the possibility of malfunctions, it is essential that function block (FC146), function blocks (FC147), and all the slave definition blocks for the remote slaves all reside within the same segment. In addition, these blocks must be sequenced in the following order: FC146 must reside at a lower block number than all FC147s for that link, and the FC147s must reside at lower block addresses than the slave definition blocks and station blocks (FC80) for the remote slaves.

 

 

 

147.1   Explanation

 

The following explanation adds detail to the specifications and shows an application using the remote I/O definition block.

 

147.1.1  Specifications

 

S1

Block address of the next remote I/O definition. This should be set to zero if all the I/O for all remote processors can be defined by one remote I/O definition.

 

S2

Remote processor serial link communication address (if FC146 S4 = 0, expander bus communication) or spare parameter (if FC146 S4 > 0, HNET communication).

 

S3 and S4

Spare parameters.

 

S5 through S36

Block addresses of the I/O blocks.

The remote I/O definition block defines the type of I/O module blocks in the remote processor interface (or RIO-BRC).  Specifications S5 through S36 point to I/O related function blocks such as the control interface slave (function code 79),  digital output group (function code 83), station (function code 80), and the digital input group (function code 84). This link defines the type of I/O module each remote processor handles. If a DCS or SAC station is to be connected to a station link at the remote end (remote processor end), then function code 80 must be defined for that station in S5 through  S36.

 

Function code 147 can select up to 32 I/O blocks. Each remote processor can address up to 64 modules. Many remote I/O definition blocks may be required for each remote processor.

 

The analog/input slave (function code 132), the analog/output slave (function code 149), and the enhanced analog slave definition (function code 215) use a linked list of blocks with the base block being the control block. Only the control block for a multi-block I/O module definition should be defined in S5 through S36. When the control block is a remote I/O module, all associated linked list blocks are remote blocks. This includes any smart transmitter definition blocks (function code 133) linked to an analog input/slave (function code 132) or any enhanced analog input definitions function code 216) or the enhanced calibration command (function code 217) linked to an enhanced analog slave definition (function code 215).  Function codes 102, 103, 104 and 109 each define only one input. The modules associated with these function codes have up to eight inputs. Each input for the IMDSM04 module is defined by one of these function codes. All function codes associated with the remote IMDSM04 module must be individually allocated a unique entry in S5 through S36.

 

Multiple blocks defining the same remote processor should be arranged consecutively in the linked list. This implementation results in an efficient configuration. The remote I/O definition block supports the I/O related blocks shown in Table 147-1 and Table 148-2.

 

 

 

 

147.2   RMP/RSP Memory Usage Calculation (Expander Bus)

 

The number of slaves an RMP can support is determined by memory usage only. To calculate RMP memory requirements:

 

1. Use the values in Table 147-3 to sum the memory required by all the remote I/O slaves.

 

 

NOTES:

    1. Add the memory for each function code on the link regardless of the number of RSPs.

    2. If two DO groups or an FC83/115 pair are used on a single digital output slave, no additional memory is required (i.e., one DSO slave = 14 bytes).

    3. If two DI groups or an FC84/114 pair are used on a single digital input slave, no additional memory is required (i.e., one DSI slave =10 bytes).

    4. The value listed is for one channel. Additional channels require additional memory (e.g., 8 channels = 88 bytes).

    5. If two BCD inputs or an FC84/114 pair are used on a single digital input slave, no additional memory is required (i.e., one DSI slave =10 bytes).

    6. If two BCD outputs or an FC83/115 pair are used on a single digital output slave, no additional memory is required (i.e., one DSO slave = 14 bytes).

 

2. Subtract the sum from the total memory available in an RMP (5,552 bytes).

 

NOTE: The RSP has the same expander bus limitations as any master module (MFC/MFP).

 

 

147.3   Applications

 

Figure 147-1 shows a block diagram configuration using the remote I/O interface, remote I/O definition blocks (function codes 146 and 147 respectively), and expander bus communication. Figure 147-2 shows a block diagram configuration using the RIO-BRC module, remote I/O definition blocks (function codes 146 and 147 respectively), and HNET communication.

 

 

 

 

The first example uses the remote I/O definition block to support various I/O related blocks. The remote I/O definition block defines the related I/O blocks. The remote I/O interface block defines the interface between the harmony controller and the remote I/O module. Refer to function code 146 for remote I/O interface details.

 

The second example is similar except that RIO-BRC modules are used. These examples are just two of many possible configurations.