CONTROLLOGIX HARDWARE

In this section analog I/O will be discussed using a 1794-IE4XOE2/B 4 Input/2Output 24V DC Non-Isolated Analog module. The card has a 12 bit resolution. To use this module it is defined under the ’I/O Configuration’. While configuring the module the following options are available.

• Update rate (Requested Packet Interval) 2-750ms

• Input channel ranges for channels 0 to 3

4 to 20mA

0 to 10V/0 to 20mV

-10 to 10V

• Output channel ranges for channel 0 and 1

4 to 20mA

0 to 10V/0 to 20mV

-10 to 10V

After the card is configured the configuration words are available in the ’controller scooped tags’. These are listed below with descriptions assuming the card is in ’rack:2:’. The configuration words may also be used to update the card during operation. To do this the values are changed using normal program statements to read or write to values.

rack:2:C.Ch0SafeStateConfig - Sets the safe state when the module update fails

rack:2:C.Ch1SafeStateConfig - Sets the safe state when the module update fails

rack:2:C.Ch0InputFullRange - 0 = 4-20mA; 1 = -10-10V,0-10V,0-20mA

rack:2:C.Ch1InputFullRange - 0 = 4-20mA; 1 = -10-10V,0-10V,0-20mA

rack:2:C.Ch2InputFullRange - 0 = 4-20mA; 1 = -10-10V,0-10V,0-20mA

rack:2:C.Ch3InputFullRange - 0 = 4-20mA; 1 = -10-10V,0-10V,0-20mA

rack:2:C.Ch0OututFullRange - 0 = 4-20mA; 1 = -10-10V,0-10V,0-20mA

rack:2:C.Ch1OutputFullRange - 0 = 4-20mA; 1 = -10-10V,0-10V,0-20mA

rack:2:C.Ch0InputConfigSelect - 0 = 0-10V, 0-20mA; 1 = 4-20mA, -10V-10V

rack:2:C.Ch1InputConfigSelect - 0 = 0-10V, 0-20mA; 1 = 4-20mA, -10V-10V

rack:2:C.Ch2InputConfigSelect - 0 = 0-10V, 0-20mA; 1 = 4-20mA, -10V-10V

rack:2:C.Ch3InputConfigSelect - 0 = 0-10V, 0-20mA; 1 = 4-20mA, -10V-10V

rack:2:C.Ch0OutputConfigSelect - 0 = 0-10V, 0-20mA; 1 = 4-20mA, -10V-10V

rack:2:C.Ch1OutputConfigSelect - 0 = 0-10V, 0-20mA; 1 = 4-20mA, -10V-10V

rack:2:C.SSCh0OutputData - A safe output value for channel 0

rack:2:C.SSCh1OutputData - A safe output value for channel 1

 

rack:2:I.Fault - Returns a fault code for the module

rack:2:I.Ch0InputData - The analog input value read on channel 0

rack:2:I.Ch1InputData - The analog input value read on channel 1

rack:2:I.Ch2InputData - The analog input value read on channel 2

rack:2:I.Ch3InputData - The analog input value read on channel 3

rack:2:I.Ch0InputUnderrange - The channel 0 current is below 4mA

rack:2:I.Ch1InputUnderrange - The channel 1 current is below 4mA

rack:2:I.Ch2InputUnderrange - The channel 2 current is below 4mA

rack:2:I.Ch3InputUnderrange - The channel 3 current is below 4mA

rack:2:I.Ch0OutputOpenWire - The output current is zero - indicates broken wire

rack:2:I.Ch1OutputOpenWire - The output current is zero - indicates broken wire

rack:2:I.PowerUp - The module is configured and running normally

 

rack:2:O.Ch0OutputData - The analog output voltage for channel 0

rack:2:O.Ch1OutputData - The analog output voltage for channel 1

Figure 21.1 A Voltage Divide by Two Example shows a simple analog IO example with some error checking. The system uses start and stop buttons to operate, along with a check for module errors. If the system is running the input voltage from input channel 0 will be divided by two and then set as the output voltage for output channel 0. If the system is not running the output voltage on channel zero is set to 0 (0V).

 

Figure 21.1 A Voltage Divide by Two Example

Although the card is a 12 bit card, it uses data values as if it has 15 digits of accuracy. Hence the valid range for the card is -32,768 to 32,767.