Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 6

MVT Testing

Data
MIRT fields – name, desc, startbyte and length
Template data

channel(cUpper).addField "CM_LOGCHANS", "Logical Channels", 167, 3,


REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_DEVSN", "Device S/N", 721, 8, REPORT_ONLY,
CONSISTANT_DEVICE_SN, cString, UNKNOWN
channel(cUpper).addField "RM_METERCFG", "Meter Congfig Name", 551, 8,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_INPHR", "Intervals per Hour", 461, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_CHOFFSET", "Channel Offset", 595, 3,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_CHAN", "Active Channels", 463, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN

channel(cUpper).addField "RM_TIM", "TIM Number", 481, 2, REPORT_ONLY,


TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_DST", "Device Follows DST", 746, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_TZONEADJ", "Time Zone Adjust", 539, 4,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_TIMESET", "Auto Timeset", 531, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_MEMSIZE", "Memory Size", 669, 3,
REPORT_ONLY, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_CFGNAME", "TIM Config File", 878, 12,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_MTRTYPE", "Meter Type", 1308, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN

channel(cUpper).addField "RM_BAUD", "Baud Rate", 527, 4, REPORT_ONLY,


TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_UADDR", "Unit Address", 537, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_ANSWINDOW", "Answer Window", 543, 8,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_AWDAYS", "Days", 532, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_NRINGS", "Answer Rings", 483, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_CONNTYPE", "Connection Type", 1315, 8,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_CALLTIME", "Call Time", 730, 4,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_LMTCALL", "Call In Period", 533, 4,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN

channel(cUpper).addField "RM_PLUG_OPT", "Auto-Plug Option", 901, 1,


REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "CM_CUSTID", "Customer ID", 1, 20, REPORT_ONLY,
REDUNDANT_CHECK_ID_OK, cString, UNKNOWN
channel(cUpper).addField "RM_RDRECID", "Reduntant|Check ID", 779, 14,
REPORT_AND_REJECT, REDUNDANT_CHECK_ID_OK, cString, UNKNOWN
channel(cUpper).addField "RM_PLUG_REF", "Reference ID", 908, 14,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_PLUG_MISS", "Missing Limit", 903, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_PLUG_PER", "Reference %", 905, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "RM_PLUG_OUT", "Outage", 902, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN

channel(cUpper).addField "MM_PYSCHAN", "Physical Channels", 1016, 2,


REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_LOGCHANS", "Logical Channels", 1018, 3,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_MAPCHAN", "Channel Mapping #", 1269, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_UMCODE", "Unit of Measure", 1021, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_KVASET", "Set Number", 1171, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_OMITUPLD", "Omit on upload", 1170, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_REGTYPE", "Register Type", 1023, 1,
REPORT_REPAIRIBLE, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_ENCTYPE", "Encoder Type", 1024, 2,
REPORT_REPAIRIBLE, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_NDIALS", "Number of Dials", 1037, 1,
REPORT_ONLY, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_CFORM", "Pulse Contact Type", 1039, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_SERVTYPE", "Service Type", 1169, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_FLOW", "Power Flow", 1236, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_PTRATIO", "CT|PT Ratio", 1163, 6,
REPORT_AND_REJECT, CT_PT_RATIO_OK, cString, UNKNOWN
channel(cUpper).addField "MM_DECPOS", "Meter Reading Decimal", 1159, 1,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_ENCBASE", "Encoder Base Reading", 1027, 10,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_MMULT", "Meter Multiplier", 1060, 10,
REPORT_ONLY, METER_MULTIPLIER_OK, cString, UNKNOWN
channel(cUpper).addField "MM_PMULT", "Pulse Multiplier", 1070, 10,
REPORT_ONLY, PULSE_MULTIPLIER_OK, cString, UNKNOWN
channel(cUpper).addField "MM_POFFS", "Pulse Offset", 1180, 10,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_TOTPULSE", "Total Pulses", 1249, 10,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_LOSSOPT", "Option", 1173, 2,
REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_TOLPCT", "Readings vrs Pulses Tol.", 1090, 6,
REPORT_REPAIRIBLE, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_TOLTYPE", "Tolerance Type", 1158, 1,
REPORT_REPAIRIBLE, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_RDCHAN", "Redundant|Check - Meter Channel",
1161, 2, REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_RDTOL", "Redundant|Check - Channel Tolerance",
1225, 10, REPORT_AND_REJECT, TEMPLATE_COMPARE, cString, UNKNOWN
channel(cUpper).addField "MM_ABSDIFF", "Redundant|Check - Absolute
Difference", 1309, 6, REPORT_AND_REJECT, TEMPLATE_COMPARE, cString,
UNKNOWN

channel(cUpper).addField "MM_METERID", "Meter Number", 964, 12,


REPORT_ONLY, CONSISTANT_DEVICE_SN, cString, UNKNOWN

MIRT file Corruption Checking

MIRT file header is equal for all channels


Test all boundary conditions as indicated below
make sure the "header" portion of each channel is the same.
'get the channel 0 header areas
h1_0 = Mid(tstMIRT.getChannel(0).getText, 1, 935)
h2_0 = Mid(tstMIRT.getChannel(0).getText, 1300, 9)
h3_0 = Mid(tstMIRT.getChannel(0).getText, 1391, 51)

MIRT file channel records are all the right length


Shorten and lengthen a MIRT record to test the boundary conditions.

MIRT record length = 1444 + carriage return & line feed


Number of MIRT file channels >= Number of Template channels

Do a comparison where The MIRT file has less records than the template.

Comparisons/tests

Template compare

MIRT values are compared directly against the corresponding value of the template.

Randomly test fields that are defined as template compare. Results depend on field type

Device s/n test

- the device serial number must match MM_Master (MIRT.MM_METERID ) for all
channels. A mismatch results in a warning.

Redundant check ID test

Any mismatch results in a critical error.

if meter type (template.RM_MTRTYPE) = main


MIRT.RM_RDRECID must = MIRT.CM_CUSTID +1
Else
RM_RDRECID must = template. RM_RDRECID
End if

CT PT Ratio Check

3 part test. Any mismatch results in a critical error.

1.) MIRT.MM_PTRATIO must be the same for all channels that have a
MIRT.MM_UMCODE = 7

2.) MIRT.MM_PTRATIO must be the same for all channels that have a
MIRT.MM_UMCODE = 10

3.) MIRT.MM_PTRATIO must = template. MM_PTRATIO for all channels that have a
MIRT.MM_UMCODE = 1 OR 3

Meter Multiplier Check

2 part test
For channels 1 to 4
MIRT.MM_MULT must = MIRT.CT_RATIO(ch8 mm+ptratio) * MIRT.PT_RATIO(ch5
mm+ptratio)
Any mismatch results in a critical error

For remaining channels


MIRT.MM_MULT must = template.MM_MULT
Any mismatch results in a warning

Pulse Multiplier Check

– 3 part test. Any mismatch results in a critical error

1.) MIRT.MM_PMMULT must be = to each other for channels 1-4


2.) MIRT. MM_PMMULT must be the same for all channels that have a
MIRT.MM_UMCODE = 7

3.) MIRT. MM_PMMULT must be the same for all channels that have a
MIRT.MM_UMCODE = 10

Calculation
Manually confirm
Ki

Data Correction - IESO controlled fields

Manually confirm for the following fields:

MM_REGTYPE
MM_ENCTYPE
MM_TOLPCT
MM_RDCHAN

Reports -

Review report text, Make sure the default name includes date and timestamp.

Critical
Warning

User Interface
Main – Report form
MIRT file and template selection
Report viewing and saving

Results form

Recorder Grid & Meter Grid


Column control
Hide template values
Field Control
Critical Error
Warning
IESO Control
All

Field Repair
IESO Controlled Update Button

Computed Ki Grid

You might also like