Programming The Module - Pickering PXI 40-510 User Manual

Matrix module
Table of Contents

Advertisement

pickering

PROGRAMMING THE MODULE

Here are examples of using the drivers with the 40-510 series of modules. These show sub-unit 1 being selected,
which corresponds to the whole matrix of a single matrix module, or bank 1 of a dual matrix module. If bank 2 of a
dual matrix were to be selected, sub-unit 2 would be specified.
Using PILPXI
To operate a relay the user could use the simple OpCrosspoint, OpBit or the WriteSub commands
OpCrosspoint
DWORD sub_unit = 1;
PIL_OpCrosspoint( card_num, sub_unit, 1, 1, 1); // Operates the X1/Y1 relay
PIL_OpCrosspoint( card_num, sub_unit, 1, 1, 0); // Releases the X1/Y1 relay
PIL_OpCrosspoint( card_num, sub_unit, 1, 6, 1); // Operates the X6/Y1 relay
OpBit
DWORD sub_unit = 1;
PIL_OpBit( card_num, sub_unit, 1, 1);
PIL_OpBit( card_num, sub_unit, 1, 0);
PIL_OpBit( card_num, sub_unit, 6, 1);
WriteSub
// Sub-unit is 48 bits wide, so 2 DWORD is needed to hold the pattern
DWORD data[2];
data[0] = 1;
PIL_WriteSub( card_num, sub_unit, data);
data[0] = 0x20;
PIL_WriteSub( card_num, sub_unit, data);
Using PIPX40
setChannelState
ViUInt32 sub_unit = 1;
pipx40_setChannelState(vi, sub_unit, 1, VI_ON);
pipx40_setChannelState(vi, sub_unit, 1, VI_OFF);
pipx40_setChannelState(vi, sub_unit, 6, VI_ON);
setChannelPattern
// Sub-unit is 48 bits wide, so 2 ViUInt32 value is needed to hold the entire pattern
ViUInt32 data[2];
data[0] = 1;
pipx40_setChannelPattern( vi, sub_unit, data);
data[0] = 0x20;
pipx40_setChannelPattern( vi, sub_unit, data);
//select bank 1 (dual matrix) or whole matrix (single matrix)
//select bank 1 (dual matrix) or whole matrix (single matrix)
// Sets lowest bit to 1, X1/Y1 relay
// Sets 6th bit, X6/Y1 relay
// All other relays are set to off
//select bank 1 (dual matrix) or whole matrix (single matrix)
// Sets lowest bit to 1, X1/Y1 relay
// Sets 6th bit, X6/Y1 relay
// All other relays are set to off
MATRIX MODULE 40-510/511/512/513
SECTION 4 - PROGRAMMING GUIDE
// Operates the X1/Y1 relay
// Releases the X1/Y1 relay
// Operates the X6/Y1 relay
// Operates the X1/Y1 relay
// Releases the X1/Y1 relay
// Operates the X6/Y1 relay
Page 4.7

Advertisement

Table of Contents
loading

Table of Contents