Iccp Lite Test Sample Program
Iccp Lite Test Sample Program
The ICCP Lite Test Sample Program has the following menu options:
Main Menu
To see the main menu after starting the sample program enter a ‘?’ after the following
output line:
Options:
x = Exit
q = Quiet mode toggle
a = Auto mode toggle
i = Always change DV value toggle
f = Full speed toggle
A=ACR Test
e = Enable all associations
d = Disable all associations
A=ACR Test (server option)
u = Update a local DV value (server option)
U= Update a local DEV value (server option)
m = Send a message (server option)
r = Read all remote DV (client option)
R=Read all remote DS (client option)
w = Write a remote DV (client option)
o = Operate all remote devices (client option)
s = Start client activity (client option)
t = Terminate client activity (client option)
l = Reload log masks
L = Log Status & Statistics
R = Reset Statistics
C = Log Configuration
M = Log Memory
H = Hold Initiate Indication
Redundancy Options:
1 = Manual switch to Active
2 = Manual switch to Standby
3 = Toggle 'RPL enable'
4 = Get configuration from redundant partner
Page 1
ICCP Lite Test Sample Program
x = Exit
Selecting “x = Exit” will allow the user to exit the ICCP-Lite Sample Program.
Selecting ‘q’ will stop any printing to the screen that normally occurs with a “printf”
statement. This is particularly helpful where there are so many things being logged to the
screen that the user cannot view the main menu or enter a selection from it.
Pressing the ‘a’ enables the AutoMode feature. AutoMode is a feature of the demo that
automatically updates the applications list of local DataValues and Devices. AutoMode
will also send Information messages to the Client, if Block 4 is enabled and IM is
configured.
The algorithm for changing a local DataValue and Device and calling function
mis_dv_change() depends on if a DataValue has not been updated in the last ½ second.
The next local DV in the applications list will be updated. This means when the ‘a’ is
pressed only up to two DataValues will be updated every second.
Selecting ‘i’ will provide constantly changing data values. Currently screen displays
either:
FullSpeed: ON
FullSpeed: OFF
Page 2
ICCP Lite Test Sample Program
The result of this is that when the client issues a GetDataValue(s) operation or the
TASE.2 Server sends an Information Report, all affected DataValues will be sent with a
new value.
Floating point values will be returned with their prior value + 0.01
Discrete DataValues will be returned with their prior value + 1
If A state was returned with 0x80 it will be returned with 0x40 and vice verse.
NOTE: This is a useful feature for testing lTASE.2 clients to see that they can behave
properly when they receive a report with all new values.
The Full Speed Toggle is another way to update the applications Local DataValues.
Normally when the ‘a’ key is pressed local DataValues are updated when the program
wakes up and no more than 2 DataVAlues a second.
It the current time minus the last time data values were updated is greater than the
specified update time then a data value update is performed. Screen should display either
when f’ is selected:
FullSpeed: ON
FullSpeed: OFF
This feature also depends on the Auto mode toggle. To get this one to go you have to
press the ‘a’ key first.
Page 3
ICCP Lite Test Sample Program
A = ACR Test
The ACR Test tells the server to generate All Changes Reported testing activity. It is a
server-only test.
When an association is not enabled it is in the IDLE state. Selecting this option should
enable all associations. All individual connections will transition to INIT_REQ then
BACKOFF or ACTIVE if they are calling or the LISTEN state if they are called.
Note: the first printf statement was that of “Enabling all associations”
Using the default configuration of UtilitySiteA and UtilitySiteB, Site B will still have
Enabled = True but it’s BACKOFF status should change to ACTIVE.
Page 4
ICCP Lite Test Sample Program
Selecting this option should enable all associations. Whatever the state of the individual
association, it will transition to the IDLE state.
Site B will still have Enabled = True but it’s ACTIVE status should change to
BACKOFF.
Modifies a local data value and displays the change as follows (if Quiet Mode has not
been selected):
The ‘i’ has to be pressed and the ‘u’ updates a local DV every time it is pressed, along
with the DataVAlues that are normally updated with the ‘i’ is enabled.
Changing DV 'PlantStatus'
Modifies a local device’s tag flag and reason then displays the change as follows (if Quiet
Mode has not been selected):
The ‘i’ has to be pressed and the ‘U’ updates a local DEV every time it is pressed, along
with the DataValues that are normally updated with the ‘i’ is enabled.
Page 5
ICCP Lite Test Sample Program
When ‘m’ is selected the following message should be seen on the screen:
If this sample is a Client the user may select to read all the remote data values. The
following should be displayed on the screen:
DV Read OK
The GetDataValues operation will segment the request into a MMS ListOfVariables not
to exceed 100 DataValues names whether they fit into the PDU or not;) When the
confirm is received the sample program reads the next segment in the list continuing after
the last DataValue name.
This is an example of one-shot reads on Data Sets after the Data Sets are created.
Page 6
ICCP Lite Test Sample Program
If this sample is a Client the user may select to write a value to a remote DataValue and
should see the following message displayed:
Write Confirm OK
The WriteDataValues operation will write new values to a list of not more than 100
DataValues. Their names will be displayed. When the write is completed the message:
When ‘o’ selected a message such as the following may be displayed on the client screen:
Page 7
ICCP Lite Test Sample Program
Page 8
ICCP Lite Test Sample Program
When ‘t’ is selected the following message should be output to the screen:
This feature allows the user to modify the log masks in the file logcfg.xml while the
Sample program is running and reload them. When ‘l’ is selected the following message
should be displayed:
Page 9
ICCP Lite Test Sample Program
After the user enters an ‘L’ the “IccpSample.log” file can be examined and should
contain information such as the following:
***********************************************************
LOGGING STARTED Tue Jun 07 09:58:32 2005
***********************************************************
Remote 'UtilitySiteB'
Configuration CRC: 00000000
Partner Configuration CRC: 00000000
Data Sync: Inactive
Data Sync Count: 0
Association: 'PrimaryLink'
Control Flags: 0000001d
State: 00000001 MI_ASSOC_STATE_ACTIVE
Max PDU Size: 32000
Max Pending Requests: 5
Num Pending Requests: 0
Max Pending Indications: 5
Num Pending Indications: 0
Page 10
ICCP Lite Test Sample Program
num_called_connect_error: 0
num_calling_connect_ok: 0
num_calling_connect_error: 0
num_abort_req: 0
num_abort_ind: 0
num_read_dv_ind: 0
num_write_dv_ind: 0
num_dsts_txd: 0
num_dsts_dv_txd: 0
num_im_txd: 0
num_dev_select_ind: 0
num_dev_operate_ind: 0
num_dev_settag_ind: 0
num_dev_gettag_ind: 0
num_read_dv_req: 0
num_write_dv_req: 0
num_dsts_rxd: 0
num_dsts_dv_rxd: 0
num_im_rxd: 0
num_dev_select_req: 0
num_dev_operate_req: 0
num_dev_gettag_req: 0
num_dev_settag_req: 0
num_mi_req_errors: 0
Remote UtilitySiteB
num_called_connect_ok: 1
num_called_connect_error: 0
num_calling_connect_ok: 0
num_calling_connect_error: 0
num_abort_req: 0
num_abort_ind: 0
num_read_dv_ind: 0
num_write_dv_ind: 0
num_dsts_txd: 0
num_dsts_dv_txd: 0
num_im_txd: 0
num_dev_select_ind: 0
num_dev_operate_ind: 0
num_dev_settag_ind: 0
num_dev_gettag_ind: 0
num_read_dv_req: 0
num_write_dv_req: 0
num_dsts_rxd: 0
num_dsts_dv_rxd: 0
num_im_rxd: 0
Page 11
ICCP Lite Test Sample Program
num_dev_select_req: 0
num_dev_operate_req: 0
num_dev_gettag_req: 0
num_dev_settag_req: 0
num_mi_req_errors: 0
MVL Statistics
callingConn 0
callingConnOk 0
callingConnFail 0
calledConn 1
calledConnOK 1
calledConnFail 0
clientConcl 0
serverConcl 0
localAbort 0
remoteAbort 0
rejectsSent 0
rejectsRcvd 0
clientReq 7
clientReqOk 7
clientReqErr 0
clientVarRdOk 0
clientVarRdFail 0
clientVarWrOk 0
clientVarWrErr 0
clientInfoRpt 0
clientUstatus 0
serverInd 8
serverRespOk 7
serverRespErr 2
serverVarRdOk 0
serverVarRdErr 0
serverVarWrOk 0
serverVarWrErr 0
serverInfoRpt 0
serverUstatus 0
Page 12
ICCP Lite Test Sample Program
Reset Statistics
R = Reset Statistics
Statistic totals will be reset to zero and the following message should be displayed:
Log Configuration
C = Log Configuration
***********************************************************
LOGGING STARTED Tue Jun 07 09:54:12 2005
***********************************************************
Page 13
ICCP Lite Test Sample Program
7) HourlyPlantMWH Transfer_Set_Name
8) Measurement_01 Transfer_Set_Time_Stamp
9) Measurement_02 ActualVoltage
10) Measurement_03 GasOn
11) Next_DSTransfer_Set GasTurbineStatus
12) OverLimit_01 HourlyPlantMWH
13) OverLimit_02 Measurement_01
14) PlantStatus Measurement_02
15) Price_Rate_01 Measurement_03
16) Price_Rate_02 OverLimit_01
17) SpareState_01 OverLimit_02
18) SpareState_02 PlantStatus
19) SteamTurbineStatus Price_Rate_01
20) Supported_Features Price_Rate_02
21) TASE2_Version SpareState_01
22) Temperature_01 SpareState_02
23) Temperature_02 SteamTurbineStatus
24) Transfer_Set_Name Temperature_01
25) Transfer_Set_Time_Stamp Temperature_02
26) WaterOn WaterOn
Page 14
ICCP Lite Test Sample Program
11) Next_DSTransfer_Set
12) OverLimit_01
13) OverLimit_02
14) PlantStatus
15) Price_Rate_01
16) Price_Rate_02
17) SpareState_01
18) SpareState_02
19) SteamTurbineStatus
20) Temperature_01
21) Temperature_02
22) Transfer_Set_Name
23) Transfer_Set_Time_Stamp
24) WaterOn
MIS Devices
VCC Scope Devices (0 Devices)
ICC Scope Devices (6 Devices)
1) BreakerA
2) BreakerB
3) BreakerC
4) DeviceA
5) DeviceB
6) DeviceC
MIC Devices
VCC Scope Devices (0 Devices)
ICC Scope Devices (8 Devices)
1) COMMAND_DEV_1
2) DISCRETE_DEV_1
3) REAL_DEV_1
4) SBO_COMMAND_DEV_1
5) SBO_DISCRETE_DEV_1
6) SBO_REAL_DEV_1
7) UNTAGGED_CONTROL_1
8) UNTAGGED_SBO_CONTROL_1
Page 15
ICCP Lite Test Sample Program
7) MEASUREMENT_DE_05
8) MEASUREMENT_DQTT_01
9) MEASUREMENT_DQTT_02
10) MEASUREMENT_DQTT_03
11) MEASUREMENT_DQTT_04
12) MEASUREMENT_DQTT_05
13) MEASUREMENT_DQ_01
14) MEASUREMENT_DQ_02
15) MEASUREMENT_DQ_03
16) MEASUREMENT_DQ_04
17) MEASUREMENT_DQ_05
18) MEASUREMENT_D_01
19) MEASUREMENT_D_02
20) MEASUREMENT_D_03
21) MEASUREMENT_D_04
22) MEASUREMENT_D_05
23) MEASUREMENT_RE_01
24) MEASUREMENT_RE_02
25) MEASUREMENT_RE_03
26) MEASUREMENT_RE_04
27) MEASUREMENT_RE_05
28) MEASUREMENT_RQTT_01
29) MEASUREMENT_RQTT_02
30) MEASUREMENT_RQTT_03
31) MEASUREMENT_RQTT_04
32) MEASUREMENT_RQTT_05
33) MEASUREMENT_RQ_01
34) MEASUREMENT_RQ_02
35) MEASUREMENT_RQ_03
36) MEASUREMENT_RQ_04
37) MEASUREMENT_RQ_05
38) MEASUREMENT_R_01
39) MEASUREMENT_R_02
40) MEASUREMENT_R_03
41) MEASUREMENT_R_04
42) MEASUREMENT_R_05
43) MEASUREMENT_SE_01
44) MEASUREMENT_SE_02
45) MEASUREMENT_SE_03
46) MEASUREMENT_SE_04
47) MEASUREMENT_SE_05
48) MEASUREMENT_SQTT_01
49) MEASUREMENT_SQTT_02
50) MEASUREMENT_SQTT_03
51) MEASUREMENT_SQTT_04
52) MEASUREMENT_SQTT_05
Page 16
ICCP Lite Test Sample Program
53) MEASUREMENT_SQ_01
54) MEASUREMENT_SQ_02
55) MEASUREMENT_SQ_03
56) MEASUREMENT_SQ_04
57) MEASUREMENT_SQ_05
58) MEASUREMENT_S_01
59) MEASUREMENT_S_02
60) MEASUREMENT_S_03
61) MEASUREMENT_S_04
62) MEASUREMENT_S_05
63) Transfer_Set_Name
64) Transfer_Set_Time_Stamp
Association 'PrimaryLink'
Called
Client
Server
Local AR : 'SiteA'
Remote AR : 'SiteB'
Retry Time : 10
Max MMS PDU Size: 32000
Heartheat Time : 15
Logging Enable : OFF
Log Memory
M = Log Memory
After a user selects ‘M’ the “IccpSample.log” found in the SiteA or SiteB directories
should contain information similar to what follows:
***********************************************************
LOGGING STARTED Tue Jun 07 09:49:58 2005
***********************************************************
Page 17
ICCP Lite Test Sample Program
This is a test for redundancy where an initiate indication is held while in active or standby
mode.
Page 18
ICCP Lite Test Sample Program
Given that the computer displaying this menu is configured as either a redundant primary
or a redundant secondary the Redundancy Options may be selected and will perform as
follows:
Entering ‘3’ will cause the redundant primary and redundant secondary to “Connect” or
to be “Not Connected”.
Entering ‘4’ will allow re-syncing of the redundant primary and redundant secondary.
This allows for any data discrepancy between the two to be resolved.
Page 19