Sei sulla pagina 1di 134

Document Number: QN-430

Windows SCADA ICCP


Users Guide
____________________________________________





August 2, 2007

This manual describes how to use the Windows SCADA ICCP
Master-to-Master data exchange software.























Survalent Technology Corporation
Mississauga, Ontario



Copyright 2004 2007 Survalent Technology Corporation

All rights reserved


QN-430 Windows SCADA ICCP Users Guide


Survalent Technology Corp.
2600 Argentia Road
Mississauga, Ontario
L5N 5V4

TEL (905) 826 5000

FAX (905) 826 7144





The software described in this document is furnished under license, and may only
be used or copied in accordance with the terms of such license.





The content of this manual has been carefully checked for accuracy. However, if you find
any errors, please notify Survalent Technology Corporation.












Revisions









Date Description
J anuary 29, 2004 Initial release.

J anuary 30, 2006 Correct Table 5-4 Translation of Windows SCADA States to ICCP States.

August 2, 2007 Support ICCP Version 2000-8.
Add /DeleteDataset option to Client.
Add Client capability to Server.









Users Guide Contents
Windows SCADA ICCP
i


Contents






















1 Introduction 1-1
1.1 Required Reading........................................................................................................................... 1-1
1.2 Advanced Reading.......................................................................................................................... 1-2
1.3 Abbreviations.................................................................................................................................. 1-2
1.4 Overview........................................................................................................................................ 1-2
1.5 ICCP Versions................................................................................................................................ 1-3
1.6 Server.............................................................................................................................................. 1-3
1.7 Client.............................................................................................................................................. 1-4
2 Preparing For ICCP 2-1
2.1 Network Connectivity..................................................................................................................... 2-1
2.2 Bilateral Table Agreement.............................................................................................................. 2-2
2.2.1 Company Information................................................................................................................. 2-3
2.2.2 Direction Of Data........................................................................................................................ 2-3
2.2.3 Node Independent Information................................................................................................... 2-3
2.2.4 ICCP Server Specific Information.............................................................................................. 2-3


Users Guide Contents
Windows SCADA ICCP
ii
2.2.5 ICCP Client Specific Information............................................................................................... 2-4
2.2.6 Server Status Points.................................................................................................................... 2-4
2.2.7 Server Analog Points.................................................................................................................. 2-4
2.2.8 Server Control Points.................................................................................................................. 2-5
2.2.9 Server Setpoints.......................................................................................................................... 2-5
3 ICCP Server Quick Start 3-1
3.1 Server Status Point......................................................................................................................... 3-1
3.2 Local ICCP Nodes.......................................................................................................................... 3-2
3.3 ICCP Server.................................................................................................................................... 3-3
3.4 Dataset............................................................................................................................................ 3-4
3.5 Status Points................................................................................................................................... 3-5
3.6 Analog Points................................................................................................................................. 3-6
3.7 Control Points................................................................................................................................. 3-7
3.8 Setpoints......................................................................................................................................... 3-8
3.9 Virtual RTU.................................................................................................................................... 3-9
3.10 Start Server ............................................................................................................................... 3-10
3.11 ScanMon................................................................................................................................... 3-10
4 ICCP Client Quick Start 4-1
4.1 Communication Line Status Point.................................................................................................. 4-1
4.2 Local ICCP Nodes.......................................................................................................................... 4-2
4.3 Remote ICCP Nodes....................................................................................................................... 4-3
4.4 Communication Line...................................................................................................................... 4-4
4.5 RTU Status Point............................................................................................................................ 4-5
4.6 RTU................................................................................................................................................ 4-5
4.7 Status Points................................................................................................................................... 4-6
4.8 Analog Points................................................................................................................................. 4-8
4.9 Start Scan Task............................................................................................................................... 4-9
4.10 ScanMon..................................................................................................................................... 4-9
5 ICCP Data Structures 5-1
5.1 Bilateral Table................................................................................................................................ 5-1
5.1.1 Server.......................................................................................................................................... 5-1
5.1.2 Client........................................................................................................................................... 5-2
5.2 Data Values.................................................................................................................................... 5-2
5.2.1 Data Value Objects..................................................................................................................... 5-2
5.2.2 Scope........................................................................................................................................... 5-2
5.2.3 Analog Data Value Types........................................................................................................... 5-3
5.2.4 Analog Quality Codes................................................................................................................. 5-4
5.2.5 Status Data Value Types............................................................................................................. 5-4
5.2.6 Status Quality Codes................................................................................................................... 5-5
5.3 Datasets........................................................................................................................................... 5-6


Users Guide Contents
Windows SCADA ICCP
iii
5.3.1 Dataset Objects........................................................................................................................... 5-6
5.3.2 Scope........................................................................................................................................... 5-6
5.4 Transfer Sets................................................................................................................................... 5-6
5.4.1 Transfer Set Objects.................................................................................................................... 5-6
5.4.2 Scope........................................................................................................................................... 5-6
5.4.3 Special Transfer Set Variables.................................................................................................... 5-7
5.5 Devices........................................................................................................................................... 5-7
5.5.1 Device Objects............................................................................................................................ 5-7
5.5.2 Scope........................................................................................................................................... 5-7
5.5.3 Device Types.............................................................................................................................. 5-7
5.6 Miscellaneous Variables................................................................................................................. 5-8
5.6.1 Bilateral_Table_ID...................................................................................................................... 5-8
5.6.2 Supported_Features..................................................................................................................... 5-8
5.6.3 TASE2_Version.......................................................................................................................... 5-9
6 ICCP Server Data Entry 6-1
6.1 Client Capabilities.......................................................................................................................... 6-2
6.2 Server Editor................................................................................................................................... 6-2
6.2.1 Server Data Fields General Section......................................................................................... 6-2
6.2.2 Server Data Fields ICCP General Parameters.......................................................................... 6-4
6.2.3 Server Data Fields ICCP Server Parameters............................................................................ 6-5
6.2.4 Server Data Fields ICCP Client Parameters............................................................................. 6-6
6.3 Virtual RTU.................................................................................................................................... 6-7
6.4 Datasets......................................................................................................................................... 6-11
6.5 Status Points................................................................................................................................. 6-12
6.6 Analog Points............................................................................................................................... 6-14
6.7 Accumulator Points...................................................................................................................... 6-16
6.8 Control Points............................................................................................................................... 6-16
6.9 Setpoints....................................................................................................................................... 6-18
6.10 ICCP Nodes.............................................................................................................................. 6-20
7 Operation of ICCP Server 7-1
7.1 Operation as Server ........................................................................................................................ 7-2
7.1.1 Association Control .................................................................................................................... 7-2
7.1.2 Datasets....................................................................................................................................... 7-4
7.1.3 Transfer Sets............................................................................................................................... 7-7
7.1.4 Data Values............................................................................................................................... 7-11
7.1.5 Device Control .......................................................................................................................... 7-13
7.2 Operation as Client....................................................................................................................... 7-15
7.2.1 Creation of Data Sets and Transfer Sets................................................................................... 7-15
7.2.2 Information Reports.................................................................................................................. 7-16
8 ICCP Client Data Entry 8-1


Users Guide Contents
Windows SCADA ICCP
iv
8.1 Communication Line...................................................................................................................... 8-2
8.1.1 Communication Line Data Fields - General Tab........................................................................ 8-3
8.1.2 Communication Line Data FieldsChannel Tab....................................................................... 8-5
8.1.3 Communication Line Data FieldsICCP Tab........................................................................... 8-6
8.2 RTU................................................................................................................................................ 8-8
8.2.1 RTU Data Fields - General ......................................................................................................... 8-8
8.2.2 ICCP: Edit Options..................................................................................................................... 8-9
8.3 Analog Point................................................................................................................................. 8-12
8.4 Status Point................................................................................................................................... 8-15
8.5 Control Point - Command............................................................................................................ 8-17
8.6 Control Point - Setpoints.............................................................................................................. 8-19
9 Operation of ICCP Client Scan Task 9-1
9.1 Initialization.................................................................................................................................... 9-1
9.2 Association..................................................................................................................................... 9-1
9.3 Creation of Data Sets and Transfer Sets......................................................................................... 9-4
9.4 Information Reports........................................................................................................................ 9-5
9.5 Device Control................................................................................................................................ 9-6
9.6 Deactivation and Reactivation of Points........................................................................................ 9-9
9.7 Deactivation and Reactivation of RTUs......................................................................................... 9-9
9.8 Deactivation and Reactivation of Communication Lines............................................................... 9-9
10 ICCP Conformance Summary 10-1
10.1 BLOCK 1 - Basic Services....................................................................................................... 10-2
10.2 BLOCK 2 - Extended Data Set Condition Monitoring............................................................. 10-3
10.3 BLOCK 3 - Blocked Transfers................................................................................................. 10-3
10.4 BLOCK 4 - Operator Stations................................................................................................... 10-3
10.5 BLOCK 5 - Device Control ...................................................................................................... 10-4
10.6 BLOCK 6 - Programs............................................................................................................... 10-4
10.7 BLOCK 7 - Events.................................................................................................................... 10-4
10.8 BLOCK 8 - Accounts................................................................................................................ 10-5
10.9 BLOCK 9 - Time Series........................................................................................................... 10-5
11 MMS Services Supported 11-1




Users Guide Introduction
Windows SCADA ICCP
1-1




1 Introduction

















This document describes Windows SCADA ICCP. This package is based on the description of ICCP that
is contained in the following documents that were originally published in August 1996 by the Utility
Communications Specification Working Group for Version 1996-8 and again in 2002 with amendments in
2005 for Version 2000-8:

Table 1-1 ICCP Documents
Document Number Title
IEC 870-6-503 TASE.2 Services and Protocol
IEC 870-6-702 TASE.2 Profiles
IEC 870-6-802 TASE.2 Object Models

1.1 Required Reading

If you are not going to read this document, at least read this and the following chapters. This will give you
a basic understanding of ICCP and what is required to configure your system.

The rest of this chapter provides an overview of how Windows SCADA ICCP works.

Chapter 2, Preparing For ICCP, provides a checklist for everything you will need to prepare your system
for ICCP. It also gives suggestions for testing network connectivity.

Chapter 3, ICCP Server Quick Start, describes how to quickly configure an ICCP Server.

Chapter 4, ICCP Client Quick Start, describes how to quickly configure an ICCP Client.


Users Guide Introduction
Windows SCADA ICCP
1-2

1.2 Advanced Reading

The remaining chapters provide a more in depth discussion of ICCP configuration and implementation.

Chapter 5, ICCP Data Structures, describes how ICCP data structures are implemented in Windows
SCADA ICCP.

Chapter 6, ICCP Server Data Entry, describes in detail how to configure an ICCP Server.

Chapter 7, Operation of ICCP Server, describes how the ICCP Server works.

Chapter 8, ICCP Client Data Entry, describes in detail how to configure an ICCP Client.

Chapter 9, Operation of ICCP Client Scan Task, describes how the ICCP Client works.

Chapter 10, ICCP Conformance Summary, contains the ICCP conformance table for Windows SCADA
ICCP.

Chapter 11, MMS Services Supported, describes the MMS services used by Windows SCADA ICCP.

1.3 Abbreviations

This manual makes use of the following abbreviations and terms:

ICCP Inter Control Center Communication Protocol

MMS Manufacturing Messaging Specification

PDU Program Data Unit

RTU Remote Terminal Unit

UCA Utilities Communication Architecture

1.4 Overview

Windows SCADA ICCP consists of both Client and Server software.

The Client software connects to other members on the network to receive point data and forward control
requests from operators and application programs.

The Server software responds to Client requests by sending the requested data and executing the
requested controls. Quality codes, such as manual set and telemetry failed, are transmitted along with
the data. In device control operations, tags on the Server system are respected.

Any member of the ICCP network can act as either a Client or a Server or both. The relationship
between any pair of members may be fully bi-directional. That is, both members may act as both Client


Users Guide Introduction
Windows SCADA ICCP
1-3
and Server to each other. Furthermore, any member may act as a Server to multiple Clients, and at the
same time act as a Client with multiple Servers.

Establishment of the connections is the responsibility of the Client software.

The Client and Server software consists of two separate programs. A separate copy of the Server
program runs for each remote Client member that it sends data to. Similarly, a separate copy of the
Client program runs for each remote Server member that it receives data from. In a bi-directional link
between two partners, this means that each partner runs both a Client program and a Server program
connected to the other partner.

Although polling is possible, data exchange in ICCP is not normally based on polling. Instead, the Client
defines a dataset and enables transfer sets in the Server and then just waits for data to arrive from the
Server.

A transfer set is an entity that specifies a dataset and a set of transmission parameters (conditions for
transmitting the dataset). A dataset is a group of status and/or analog points.

For each transfer set that is enabled, the Server monitors the conditions that would trigger a transfer.
Whenever any of the conditions are true, the Server transmits the dataset. Report by exception, with or
without periodic integrity transmissions, is supported.

1.5 ICCP Versions

The Client and Server support Versions 1996-8 and 2000-8.

ICCP Version 2000-8 does everything that ICCP Version 1996-8 does with the addition of supporting
some analog and status data types that have millisecond resolution timestamps and the handling of
multiple status changes.

The Client can specify in the transmission parameters for the dataset that the Server is to return ALL
state changes for points during the interval. See All Changes in section 8.2.2, ICCP: Edit Options.

In Version 1996-8, the Server would only check the state of the points at the end of the interval, if the
point was in the same state as the last interval it does not detect a change. For example, if a point was in
the close position at the end of interval n and a trip/close occurred during the interval, the Server would
see the point in the close state at the end of interval n+1 and would not detect a change and therefore
would not report the point.

1.6 Server

The Data Exchange section of SCADA Explorer defines, for the Server, which points in the SCADA
database are accessible to remote Client member systems on the network.

Analog, status, accumulator, setpoint and control points are grouped together into Datasets. Each entry in
a Dataset specifies a point that a remote Client may access. A Dataset is assigned or mapped to a
Server via the Virtual RTU editor.

The ICCP Node editor defines the ICCP addresses for both the Client and Server. See section 6.10,
ICCP Nodes.



Users Guide Introduction
Windows SCADA ICCP
1-4
The Server, Virtual RTU, Dataset and ICCP Node editors in the Data Exchange section of the SCADA
Explorer are described in detail in chapter 6, ICCP Server Data Entry. Chapter 7, Operation of ICCP
Server, describes how the ICCP Server works.

1.7 Client

The Communication Line and RTU sections of SCADA Explorer define, for the Client, the points that are
to be retrieved from the remote Server.

Analog, status and accumulator points defined on an RTU make up an ICCP dataset. The Client
downloads the dataset definition to the remote Server. Then it uses the transmission parameters defined
on the ICCP tab of the Edit RTU window to enable a transfer set.

The ICCP Node editor defines the ICCP addresses for both the Client and Server. See section 6.10,
ICCP Nodes.

The Communication Line, RTU, Analog and Status editors of SCADA Explorer are described in detail in
chapter 8, ICCP Client Data Entry. Chapter 9, Operation of ICCP Client Scan Task, describes how the
ICCP Client works.




Users Guide Preparing For ICCP
Windows SCADA ICCP
2-1






2 Preparing For ICCP





















This chapter describes the information that should be considered when preparing your system for ICCP.

The implementation of ICCP requires the coordinated effort of two control centers to successfully
exchange data. They must agree upon the network connectivity, what data to exchange and the setting of
certain parameters. They must also agree upon who will be sending data and who will be receiving data
or if they will both be sending and receiving data.

2.1 Network Connectivity

The physical network connection is usually the first item agreed upon, as equipment procurement,
installation and configuration may be necessary. Get an early start on this, as it may take weeks before
equipment installation is complete.

If the connection is going through a router, a route will be required on each SCADA host. Routes are
added via the Command Prompt window. For example, presuming the router address is 172.26.1.150,
the IP Address 207.68.171.244 can be added in such a way that all addresses that begin with 207.68.171
can be routed through the router with the following command:

route p add 207.68.171.0 mask 255.255.255.0 172.26.1.150

Existing routes can be displayed with the command route print.


Users Guide Preparing For ICCP
Windows SCADA ICCP
2-2
Note that if the connection is going through a firewall, port 102 should be opened, as this is the port ICCP
listens for incoming connections.

Once the physical network has been installed and configured, you will need to re-visit this section to verify
the network connectivity. This may be done in several ways:

From the Command Prompt window, ping the remote node. For example, ping 207.68.171.244.
Ping will send a packet to the remote node and expect a response. Verify there is 0% packet
loss. Note that ping may not work if a firewall has been installed and pings have been disabled. If
a firewall is installed, it is strongly suggested that pings be enabled at least for the connectivity
test. If pings cannot be enabled on the firewall, then try the telnet option below to verify network
connectivity.

If ping is unable to receive a response from the remote node, trace route may be used to monitor
the routing of the packet as it hops across the network. For example, tracert 207.68.171.244.
Trace route will send a ping packet to each node along the route as it hops to the final node.
This can be useful in determining if a firewall or router is not forwarding the packet.

Another option is to telnet to port 102 of the remote node. This is a network trick to determine if
anything is listening on the port or if a firewall is blocking the port. Port 102 is the port ICCP uses
to listen for incoming connections. However, depending on the program used to telnet, it can be
difficult to determine if there actually is connectivity. Using the command prompt with the
command telnet 207.68.171.244 102 for example, one of the following scenarios should apply:

1. Telnet connects fairly quickly and stays connected. When you press enter, it does one or
more line feeds with an underscore then disconnects. This implies you have connectivity to
the remote node and ICCP is listening on port 102.

2. Telnet displays connecting and within a moment it disconnects and displays the message
Unable to connect to <TCP/IP Address>port 102. This implies you may have connectivity
to the remote node but ICCP is not listening on port 102. Have the remote node start ICCP to
listen for connections and re-try telnet.

3. Telnet displays connecting for some time and when it finally disconnects (times out), it
displays the message Unable to connect to <TCP/IP Address>port 102. This implies you
do not have connectivity to the remote node or a firewall is blocking port 102.

2.2 Bilateral Table Agreement

A document should be created and shared between the two control centers, that at least contains the
sections described below. Both control centers should agree on who will create and maintain the
document or if this will be a collaborative effort. Once completed, this document is your Bilateral Table
Agreement (BTA).

For the purpose of the remainder of this discussion, the two control centers will be called Company A and
Company B. The following sections describe the information required for Company As ICCP Server to
send data to Company Bs ICCP Client.

If at a future date, Company Bs ICCP Server is to send data to Company As ICCP Client, then the
bilateral table agreement would need to be amended to include similar information as below, but for the
direction of data flow from Company B to Company A.



Users Guide Preparing For ICCP
Windows SCADA ICCP
2-3
2.2.1 Company Information

This section describes information about the companies and company contacts. It should at least contain
the following information:

Company A name and address
Company A contact person(s), phone, email, etc.
Acronym for Company A. For example, CMPA.
Company B name and address
Company B contact person(s), phone, email, etc.
Acronym for Company B. For example, CMPB.

2.2.2 Direction Of Data

This section indicates which direction the data is flowing:

Company As ICCP Server is sending data to Company Bs ICCP Client

2.2.3 Node Independent Information

This section describes general information about the ICCP connection that is common to all ICCP
node(s). It should at least contain the information listed below. See section 6.2.2, Server Data Fields
ICCP for more information on Server data fields.

Company As ICCP Server Domain name which Company Bs ICCP Client will use to access
data at Company As ICCP node(s). This typically takes one of two formats: the acronym of the
remote Clients name. For example, CMPB. Or the combination of both companies acronyms
with direction of dataflow. For example, CMPA_CMPB with data flowing from Company A Server
to Company B Client.)
Company As ICCP Server Bilateral Table ID when Company Bs ICCP Client is accessing data
on Company As ICCP node(s). For example, V1.0.
Company As maximum MMS PDU size. Size in bytes of the maximum MMS Protocol Data Unit.
Typically 32000 bytes.
Company As version of ICCP. 1996-8 or 2000-8.
Company Bs maximum MMS PDU size.
Company Bs version of ICCP.

2.2.4 ICCP Server Specific Information

This section describes information about the ICCP Server. This section should be repeated for each node
running an ICCP Server. It should at least contain the information listed below. See section 6.10, ICCP
Nodes, for more information on ICCP addressing (AP Title, etc.).

The name by which Company A refers to this node. This field is not electronically transmitted
during any ICCP transactions, but is only here to facilitate verbal communication between
Company A and Company B.
Company As TCP/IP network address of this node.
Company As ICCP Server AP Title.


Users Guide Preparing For ICCP
Windows SCADA ICCP
2-4
Company As ICCP Server AE Qualifier.
Company As ICCP Server Presentation Selector (Psel).
Company As ICCP Server Session Selector (Ssel).
Company As ICCP Server Transport Selector (Tsel).

2.2.5 ICCP Client Specific Information

This section describes information about the ICCP Client. This section should be repeated for each node
running an ICCP Client. It should at least contain the information listed below. See section 6.10, ICCP
Nodes, for more information on ICCP addressing (AP Title, etc.).

The name by which Company B refers to this node. This field is not electronically transmitted
during any ICCP transactions, but is only here to facilitate verbal communication between
Company A and Company B.
Company Bs TCP/IP network address of this node.
Company Bs ICCP Client AP Title.
Company Bs ICCP Client AE Qualifier.
Company Bs ICCP Client Psel.
Company Bs ICCP Client Ssel.
Company Bs ICCP Client Tsel.

2.2.6 Server Status Points

This section describes information about the status points that Company As ICCP Server will allow
Company Bs ICCP Client to access. It should at least contain the information listed below. See section
6.5, Status Points, for more information on Server status points.

The ICCP data type. For simplicity, all the status points should have the same data type. The
most common data type for status points is DataStateQ.
The scope of all the status points, either VMD or Domain. Again, for simplicity, all the status
points should have the same scope. The most common scope is VMD.
A list of all the status points. For each point, the list should include the points ICCP variable
name and access (Read Only or Read/Write).

2.2.7 Server Analog Points

This section describes information about the analog points that Company As ICCP Server will allow
Company Bs ICCP Client to access. It should at least contain the information listed below. See section
6.6, Analog Points, for more information on Server analog points.

The ICCP data type. For simplicity, all the analog points should have the same data type. The
most common data type for analog points is DataRealQ.
The scope of all the analog points, either VMD or Domain. Again, for simplicity, all the analog
points should have the same scope. The most common scope is VMD.
A list of all the analog points. For each point, the list should include the points ICCP variable
name and access (Read Only or Read/Write).


Users Guide Preparing For ICCP
Windows SCADA ICCP
2-5

2.2.8 Server Control Points

This section describes information about the control points that Company As ICCP Server will allow
Company Bs ICCP Client to control. It should at least contain the information listed below. See section
6.8, Control Points, for more information on Server control points.

The scope of all the control points, either VMD or Domain. For simplicity, all the control points
should have the same scope. The most common scope is VMD.
A list of all the control points. For each point, the list should include the points ICCP variable
name.

2.2.9 Server Setpoints

This section describes information about the setpoints that Company As ICCP Server will allow Company
Bs ICCP Client to control. It should at least contain the information listed below. See section 6.9,
Setpoints, for more information on Server setpoints.

The ICCP data type. For simplicity, all the setpoints should have the same data type. The most
common data type for analog points is DataRealQ.
The scope of all the setpoints, either VMD or Domain. Again, for simplicity, all the setpoints
should have the same scope. The most common scope is VMD.
A list of all the setpoints. For each point, the list should include the points ICCP variable name.




Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-1






3 ICCP Server Quick Start





















This chapter describes how to quickly configure an ICCP Server to send data to a remote ICCP Client. A
more detailed description is available in chapter 6, ICCP Server Data Entry. As a prerequisite, you should
have read chapter 2, Preparing For ICCP and completed the Bilateral Table Agreement (BTA) document,
as you will be referencing the BTA to configure your ICCP Server.

Although an ICCP Server can have the qualities of both a Server and a Client, only the configuration of a
Server is described here. Only in rare cases will it be required to configure Client qualities for a Server.
See Chapter 6, ICCP Server Data Entry for Client quality configuration of a Server.

The ICCP Server is configured via SCADA Explorer. If the SCADA Explorer is not currently active, then
open it now and login.

3.1 Server Status Point

Create a new SCADA status point for the Up/Down state of the ICCP Server link to the remote Client.
Similar points are used for the Up/Down state of communication lines.


Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-2

3.2 Local ICCP Nodes

Under Data Exchange, click ICCP Nodes and create a new local ICCP Node. If you have a dual system,
one Server ICCP Node will usually be sufficient for both hosts, unless the remote system requires unique
addresses for each of your hosts. The required fields are listed below.

AR Name (Must be unique, typically the acronym of the remote company and SV for
Server, for example CMPB_SV
Local checked
Shared unchecked.
AP Title (Must be unique. For example, 1 3 9999 1 100 for the first local Node (Client or
Server), then increment the last number by 1 for each local Node added.)
AE Qualifier (Typically the last number of the AP Title. For example, 100)
Psel (Must be unique for all local Nodes (Client and Servers) assigned to this host. For
example, 0001. If you have a dual system and you are creating an ICCP Node for each
host, the selectors should be the same for both hosts.)
Ssel (See Psel)
Tsel (See Psel)

Figure 3-1 Local ICCP Node




Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-3

3.3 ICCP Server

Under Data Exchange, click Servers and create a new ICCP Server. The required fields are as
follows:

General Section

Server Name (Must be unique)
Link Status (Status point created in step 1)
Protocol (ICCP)
Autostart checked

ICCP General Section

Listen for Connection selected
Bilateral Table ID (Enter a text string for the Bilateral Table agreement version. For
example, V1.0)
Max PDU Size (Typically 32000 bytes)
Life Check Interval (Typically 20 to 30 seconds)
Local Server Node (ICCP Node(s) created in step 2). If a dual system, select an
ICCP Node for A and B. If a quad system, select ICCP Nodes for A, B, C and D. (The
same Node can be selected for all)

ICCP Server Parameter Section

Domain Name (Typically takes one of two formats: the acronym of the remote
Clients name. For example, CMPB. Or the combination of both companies
acronyms with direction of dataflow. For example, CMPA_CMPB with data flowing
from Company A Server to Company B Client.)
Critical Response Time (Typically not used)
Minimum Interval (Typically 4 seconds, ignored if 0)



Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-4
Figure 3-2 ICCP Server


3.4 Dataset

Under Data Exchange, click Datasets and create a new Dataset. The required fields are as follows:

Dataset Name (must be unique)

Figure 3-3 ICCP Server Dataset





Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-5
3.5 Status Points

Click the + to expand the tree for the Dataset you created in step 4. Now click Status and create a
new mapping to each SCADA status point that the remote Client will have access to. The required
fields are as follows:

Point (Select via Drag-n-Drop SCADA Point browser)

Identity (ICCP variable name assign to the point)

Identity Type (ICCP scope, most common scope is VMD. 0=Domain, 1=VMD)

Data Type (Most common status type is 2=DataStateQ)


Figure 3-4 ICCP Server Status Point




Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-6

3.6 Analog Points

Click on Analog for the Dataset you created in step 4 and create a new mapping to each SCADA
analog point that the remote Client will have access to. The required fields are as follows:

Point (Select via Drag-n-Drop SCADA Point browser)

Identity (ICCP variable name assigned to the point)

Identity Type (ICCP scope, most common scope is VMD. 0=Domain, 1=VMD)

Data Type (Most common analog type is 3=DataRealQ)

Scaling (Default is Use Alternate 1 and 0 to send engineering value)


Figure 3-5 ICCP Server Analog Point




Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-7

3.7 Control Points

Click on Control for the Dataset you created in step 4 and create a new mapping to each SCADA
status point that the remote Client will have control access to. The required fields are as follows:

Point (Select via Drag-n-Drop SCADA Point browser)

Identity (ICCP variable name assigned to the point)

Identity Type (ICCP scope, most common scope is VMD. 0=Domain, 1=VMD)

Select before operate required (Optional but typically selected)

Parameter 2 is checkback value (Typically the ID in the Control section of the dataset)


Figure 3-6 ICCP Server Control Point



Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-8

3.8 Setpoints

Click on Setpoint for the Dataset you created in step 4 and create a new mapping to each SCADA
analog point that the remote Client will have control access to. The required fields are as follows:

Point (Select via Drag-n-Drop SCADA Point browser)

Identity (ICCP variable name assigned to the point)

Identity Type (ICCP scope, most common scope is VMD. 0=Domain, 1=VMD)

Data Type (Most common setpoint type is 1=Real)

Scaling (Default is Use Alternate 1 and 0 to send engineering value)

Select before operate required (Optional but typically selected)

Parameter 2 is checkback value (Typically the ID in the Setpoint section of the dataset)


Figure 3-7 ICCP Server Setpoint





Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-9
3.9 Virtual RTU

Under Data Exchange, click the + on Servers to expand the tree, then click the ICCP Server you
created in step 3. Create a new Virtual RTU that will map the Dataset created in step 4 to the Server
created in step 3. The required fields are as follows:

Virtual RTU Name (Must be unique)

Address (Start at 1 and increment for each Virtual RTU added to this Server)

Modify Enable (Optionally check if remote Client has write access)

Control Enable (Optionally check if remote Client has control access)

Server (Select Server created in step 3)

Dataset (select Dataset created in step 4)

Select Output Dataset


Figure 3-8 ICCP Server Virtual RTU




Users Guide ICCP Server Quick Start
Windows SCADA ICCP
3-10

3.10 Start Server

Assuming network connectivity has been established with the remote Client nodes, under Data
Exchange, click on Servers and select the Server created in step 3. Click Start Server to activate the
ICCP Server and listen for incoming connections from the remote Client. If network connectivity has
not been established, see section 2.1, Network Connectivity, before proceeding.

3.11 ScanMon

Verify communications by enabling logging with ScanMon. Task name is ICCPSVn, where n is the
Server ID. Use Log Type of Default and RTU Address 0.





Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-1






4 ICCP Client Quick Start





















This chapter describes how to quickly configure an ICCP Client to receive data from a remote ICCP
Server. A more detailed description is available in chapter 8, ICCP Client Data Entry. As a prerequisite,
you should have read chapter 2, Preparing For ICCP, and completed the Bilateral Table Agreement
(BTA) document, as you will be referencing the BTA to configure your ICCP Client.

The ICCP Client Scan Task is configured via SCADA Explorer. If the SCADA Explorer is not currently
active, then open it now and login.

4.1 Communication Line Status Point

Create a new SCADA status point for the Up/Down state of the ICCP Client link to the remote Server.


Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-2

4.2 Local ICCP Nodes

Under Data Exchange, click ICCP Nodes and create a new local Client ICCP Node. If you have a dual
system, one Client ICCP Node will be sufficient for both hosts, unless the remote Server requires unique
addresses for each of your hosts. The required fields are as follows:

AR Name (Must be unique, typically the acronym of the Server company plus CL. For
example, CMPA_CL)

Local checked

Shared unchecked

AP Title (Must be unique. For example, 1 3 9999 55 222 for the first local Node (Client
and Server), then increment the last number by one for each local Node added.)

AE Qualifier (Typically the last number of the AP Title. For example, 222)

Psel (Must be unique for all local Nodes (Client and Servers) assigned to this host.
Typically, Psel, Ssel and Tsel are set to the same value. For example, 0002. If you have
a dual or quad system and you are creating an ICCP node for each host, the selectors
should be the same for both hosts.)

Ssel (See Psel)

Tsel (See Psel)

Figure 4-1 ICCP Client Local Node



Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-3

4.3 Remote ICCP Nodes

Create a new remote ICCP Node for each remote Server node that the ICCP Client will be
connecting to. The required fields are as follows:

AR Name (Must be unique, typically the acronym of the Server node plus RM and SV.
For example, RM_CMPA_SV.)

Remote checked

Host Name (Name of host if entered in the HOSTS file or an IP Address.)

AP Title (Must be unique. For example, 1 2 8888 3 50)

AE Qualifier (Typically the last number of the AP Title. For example, 50)

Psel (Typically, Psel, Ssel and Tsel are set to the same value. For example, 0001)

Ssel (See Psel)

Tsel (See Psel)


Figure 4-2 ICCP Client Remote Node



Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-4

4.4 Communication Line

Click Communication Lines and create a new ICCP Client Communication Line. The required fields
are as follows:

General Tab

Name (Must be unique)
Protocol (ICCP)
Autostart checked
Status Point (Select point created in step 1)

Channel Tab

Network (TCP/IP)
Long response timeout (Typically 10,000 milliseconds)
Mode (Poll)

ICCP Tab

Bilateral Table ID (J ust text for the Bilateral Table agreement version. For
example, V1.0. Must match remote Server)
Domain Name (Typically takes one of two formats: the acronym of the remote
Clients name. For example, CMPB. Or the combination of both companies
acronyms with direction of dataflow. For example, CMPA_CMPB with data
flowing from Company A Server to Company B Client.)
Max PDU Size (Typically 32000 bytes)
Life Check Interval (Typically 20 seconds)
Connection Interval (Typically 5 seconds)
Connection Retry (Typically 3)
Version (1996-8 or 2000-8. Must match the remote Server)
Local Client Nodes for A and B (ICCP Node(s) created in step 2. If a dual
system, select an ICCP Node for both A and B. The same Node can be selected
for both.)
Remote Server Nodes (ICCP Node(s) created in step 3.)



Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-5
Figure 4-3 ICCP Client ICCP Tab



4.5 RTU Status Point

Create a new SCADA status point for the Up/Down state of the RTU.

4.6 RTU

Click the + on Communication Lines to expand the tree and click the Communication Line created in
step 4 and create a new RTU. The required fields are as follows:

General Tab

Name (Must be unique)
Comm. Line (Select Communication Line created in step 4)
Network (Select Use ComLine)
RTU Addr (Start at 1 and increment for each new RTU added to this
Communication Line)
Status (Select SCADA status point created in step 5)

ICCP Tab

Interval checked (Typically 4 seconds for status points, 8 seconds for analog)
Integrity checked (Typically 120 seconds or more)
Report By Exception checked



Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-6
Figure 4-4 RTU Transmission Parameters


4.7 Status Points

Click the + on the Communication Lines to expand the tree. Click the + for Communication Line
created in step 4 to expand the tree. Click the + for the RTU created is step 6 to expand the tree.
Then click Status and create a new SCADA status point for each ICCP status point to be received
from the remote Server. Survalent suggests that you create only one status point, verify that the point
is properly received, and then use that point to model all of the others. The required fields are as
follows:

General Tab

Name (Select station and unique point name)
User Type
Device Class
Zone Group
Command-State

Telemetry Tab

Address checked (Select RTU created in step 6)
A (Start at 1 for the first status point and increment for each new status point)
B (302=DataStateQ most common status data type)
C=0
D=0
External Name (ICCP variable name assigned to the point by the remote Server)
Type (ICCP Scope, most common scope is VMD. 0=Domain, 1=VMD)
Format Code (Select entry that corresponds to status format code 1)
Control-0 (Optionally checked)
A (Checkback value if SBO required. Typically start at 1 for the first control point
and increment for each new control point. Verify with remote Server.)
B=400


Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-7
C (1=SBO Required, 0=SBO Not Required)
D (Command value, usually 1)
Control-1 (Optionally checked)
A (Checkback value if SBO required. Typically start at 1 for the first control point
and increment for each new control point. Verify with remote Server.)
B=400
C (1=SBO Required, 0=SBO Not Required)
D (Command value, usually 0)
Control External Name (ICCP control variable name assigned to the point by the
remote Server)
Type (ICCP Scope, most common scope is VMD. 0=Domain, 1=VMD)

Alarms Tab

Normal State
Alarm Format

Figure 4-5 Status Point - Telemetry



Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-8

4.8 Analog Points

Click the + on the Communication Lines to expand the tree. Click the + for Communication Line
created in step 4 to expand the tree. Click the + for the RTU created is step 6 to expand the tree.
Then click Analog and create a new SCADA analog point for each ICCP analog point to be received
from the remote Server. Survalent suggests creating only one analog point, verifying the point is
properly received then use that point to model all the others. The required fields are as follows:

General Tab

Name (Select station and unique point name)
User Type
Device Class
Zone Group
Format Code (Select entry that corresponds to analog format code 1)
Address checked (Select RTU created in step 6)
A (Start at 1 for first point and increment for each new analog point)
B (103=DataRealQ most common analog data type)
C=0
D=0
External Name (ICCP variable name assigned to the point by the remote Server)
Type (ICCP Scope, most common scope is VMD. 0=Domain, 1=VMD)


Figure 4-6 Analog - General



Users Guide ICCP Client Quick Start
Windows SCADA ICCP
4-9

4.9 Start Scan Task

Assuming network connectivity has been established with remote Server nodes, click on
Communication Lines and select the Communication Line created in step 4. Click Start Scan Task to
activate the ICCP Client and attempt connections to the remote Server. If the Client cannot connect
to the remote Server, please see section 2.1, Network Connectivity.

4.10 ScanMon

Verify communications with ScanMon. Task name is ICCPn, where n is the Communication Line ID.
Use Log Type of Default and RTU Address 0.






Users Guide ICCP Data Structures
Windows SCADA ICCP
5-1







5 ICCP Data Structures





















5.1 Bilateral Table
5.1.1 Server

The Bilateral Table used by the Windows SCADA ICCP Server program is defined largely by the contents
of the Virtual RTU and Server editors. These two together specify:

the points accessible to each Client, with their

corresponding data types
access control (read, modify, control)


configuration parameters

version of the Bilateral Table




Users Guide ICCP Data Structures
Windows SCADA ICCP
5-2
5.1.2 Client

The Windows SCADA ICCP Client program is a scan task where the communication line is a network
link. A separate Client runs for each link to a remote Server member of the network.

The Bilateral Table used by each Client is defined by its Scan Table, which is a Windows SCADA data
structure that contains an ordered list of the points telemetered by the Client. The Scan Table is edited
and maintained by the SCADA Explorer.

5.2 Data Values
5.2.1 Data Value Objects

A Data Value object in a Windows SCADA ICCP Server system corresponds to an entry in the analog,
status or accumulator section of the Virtual RTU editor.

Each Client can be assigned access to the Virtual RTUs. (The collection of Virtual RTUs assigned to the
Client is essentially the Servers instantiation of the Bilateral Table.)

The Client may create any number of datasets from each Virtual RTU. Each dataset may contain data
values from more than one Virtual RTU.

The accumulator objects were designed for use by RTU protocol servers, but can also be used in ICCP.
They are treated as regular analog data values.

A Data Value object is instantiated and mapped to an actual SCADA point at the Server.

5.2.2 Scope

The Windows SCADA Client and Server both support a mix of VMD-specific and Domain-specific data
values.


Users Guide ICCP Data Structures
Windows SCADA ICCP
5-3

5.2.3 Analog Data Value Types

Both Client and Server support the following ICCP data types for analog points:

Table 5-1 Analog Data Value Types
Data Type Code ICCP Data Type Comment
1 Data_Real
2 Data_Discrete
3 Data_RealQ
4 Data_DiscreteQ
5 Data_RealQTimeTag
6 Data_DiscreteQTimeTag
7 Data_RealExtended
8 Data_DiscreteExtended
9 Data_RealQTimeTagExtended ICCP Version 2000-8 only
10 Data_DiscreteQTimeTagExtended ICCP Version 2000-8 only


On the Server side, the data type code of the desired data type must appear in the points Data Type field
in the Data Exchange Dataset editor. This specifies to the Server the data type to use when sending the
point's value.

On the Client side, the data type code of the desired data type is part of the points telemetry address.
This code specifies to the Client the data type to use when unpacking and storing the points received
value.

For analog data types 5 to 10, the Server sets the UTC/GMT TimeStamp component to the time the point
was last updated. If the timestamp is invalid, the Client uses the time of the report.

The TimeStamp component for analog data types 5 and 6 have resolution to the second.

The TimeStamp component for analog data types 9 and 10 have resolution to the millisecond.

Neither the Client nor the Server make any use of the COV Counter component of analog data types 7
and 8. The Client ignores the COV counter and the Server sets it to zero.


Users Guide ICCP Data Structures
Windows SCADA ICCP
5-4

5.2.4 Analog Quality Codes

The Data_Flags component of transmitted analog data values is prepared by the Server according to the
table given below.

Table 5-2 Analog Quality Codes
Windows SCADA Quality ICCP Validity ICCP Current Source
NORMAL VALID TELEMETERED
TELEMETRY FAILED (OLD) HELD TELEMETERED
MANUALLY SET VALID ENTERED
CALC FROM MANSET VALID TELEMETERED


The Windows SCADA NORMAL quality code shown in the table above is not the normal state of the
point. Its a quality code that means the point is being updated normally.

The Server does not use the ICCP CALCULATED current source code.

The Server sets the ICCP NormalValue flag to 0 if the points transmitted value is within the point's
Windows SCADA alarm limits. The flag is set to 1 if the point is in violation of its pre-emergency,
emergency or reasonability limits.

If the required data type is discrete (integer), the Server converts the analog points floating point value to
integer by truncation. If the result does not fit into the integer, the Server sends a value of zero with a
validity code of NOTVALID. In this case, the Windows SCADA ICCP Client will ignore the new value
and just set the receiving points quality code to TELEMETRY FAILED (i.e. old).

5.2.5 Status Data Value Types

Both Client and Server support the following ICCP data types for status points:

Table 5-3 Status Data Value Types
Data Type Code ICCP Data Type Comment
1 Data_State
2 Data_StateQ
3 Data_StateQTimeTag
4 Data_StateExtended
5 Data_StateQTimeTagExtended ICCP Version 2000-8 only


For status data types 3 to 5, the Server sets the UTC/GMT TimeStamp component to the time the point
was last updated. If the timestamp is invalid, the Client uses the time of the report.

The TimeStamp component for status data type 3 has resolution to the second.


Users Guide ICCP Data Structures
Windows SCADA ICCP
5-5

The TimeStamp component for status data types 5 has resolution to the millisecond.

The translation of Windows SCADA status values to ICCP status values is shown in Table 5-4.

Table 5-4 Translation of Windows SCADA States to ICCP States
Windows SCADA
State
Typical Windows SCADA Meaning ICCP State
0 Open 1
1 Closed 2
2 Travel 0
3 Error 3


Neither the Client nor the Server make any use of the COV Counter component of status data type 4. The
Client ignores the COV counter and Server sets it to zero.
5.2.6 Status Quality Codes

The Validity and Current Source components of transmitted status data values are prepared by the
Server according to the table given below.

Table 5-5 Status Quality Codes
Windows SCADA Quality ICCP Validity ICCP Current Source
NORMAL VALID TELEMETERED
TELEMETRY FAILED (OLD) HELD TELEMETERED
MANUALLY SET VALID ENTERED
CALC FROM MANSET VALID TELEMETERED


The Windows SCADA NORMAL quality code shown in the table above is not the normal state of the
point. Its a quality code that means the point is being updated normally.

The Server does not use the ICCP CALCULATED current source code.

The Server sets the ICCP NormalValue flag to 0 if the point's transmitted value is the points normal
state. Otherwise, the flag is set to 1.


Users Guide ICCP Data Structures
Windows SCADA ICCP
5-6

5.3 Datasets
5.3.1 Dataset Objects

The names of the datasets that the Windows SCADA Client creates at the Server are of the form:

Domai nName_DSn

where:

DomainName =Name of the Domain-specific work space
n =RTU number

5.3.2 Scope

The Windows SCADA Server creates dataset objects with the scope requested by the Client.

When it requests that datasets be created, the Windows SCADA Client specifies the scope to be Domain-
specific.

5.4 Transfer Sets
5.4.1 Transfer Set Objects

In a Windows SCADA ICCP Server, the object names of transfer sets are of the form:

Domai nName_TSn

where:

DomainName =Name of the Domain-specific work space
n =transfer set number


(Example: COES_TS5 for transfer set 5)

The Server allocates object space for 32N transfer sets for its Client, where N is the number of Virtual
RTUs mapped to the Server via the Virtual RTU editor.

5.4.2 Scope

Transfer sets and special transfer set variables are Domain-specific.


Users Guide ICCP Data Structures
Windows SCADA ICCP
5-7

5.4.3 Special Transfer Set Variables

The following special transfer set variables are used by both the Client and the Server. All of these
variables are Domain-specific.

Table 5-6 Special Transfer Set Variables
Variable Name Type
Next_DSTransfer_Set MMS ObjectName
Transfer_Set_Name MMS ObjectName
DSConditions_Detected DSConditions
Transfer_Set_Time_Stamp GMTBasedS
Transfer_Report_ACK MMS ObjectName
Transfer_Report_NACK MMS ObjectName


Only the first of these variables can be read using an MMS Read request. For the others, an MMS Read
request is NAKed, with an error code OBJ ECT-ACCESS-DENIED, error class ACCESS.

5.5 Devices
5.5.1 Device Objects

A Device object in a Windows SCADA ICCP Server system corresponds to an entry in the control section
of the Virtual RTU editor.

5.5.2 Scope

Both the Windows SCADA Client and Server support a mix of VMD-specific and Domain-specific device
objects.

5.5.3 Device Types

The ControlPointType of an instantiated Device object depends on the type of Windows SCADA point.

The ControlPointType is:

COMMAND if the Windows SCADA point is a status point

SETPOINT if the Windows SCADA point is an analog point

In the case of SETPOINT, the SetPointType is determined at the Server by the Data Type code in the
Setpoint section of the Dataset editor as shown in the table below:



Users Guide ICCP Data Structures
Windows SCADA ICCP
5-8
Table 5-7 Setpoint Types
Data Type Code Setpoint Type
1 Real
2 Discrete


At the Client, the Setpoint Type is determined by the B field of the points Telemetry Address. See
section 8.6 Control Point - Setpoints.

The SBO attribute (ICCP DeviceClass) for both control points and setpoints is determined at the Server
by the Select before operate required checkbox in the Control and Setpoint sections of the Virtual RTU
editor.

At the Client, the SBO attribute for both control points and setpoints is determined by the C part of the
control address. See sections 8.5, Control Point - Command, and 8.6, Control Point - Setpoints.

5.6 Miscellaneous Variables
5.6.1 Bilateral_Table_ID

This is a Domain-specific variable of type Visible-String-32. Valid characters for this are alphanumeric, $,
or underscore, but not spaces. The maximum length of this variable is 32 characters.

5.6.2 Supported_Features

This is a VMD-specific variable of type SupportedFeatures.

When the Client issues a read request for this variable, the Windows SCADA Server returns a 12-bit
string as follows:

Table 5-8 Supported Features
Block Description Supported
1 Basic services Yes
2 Extended dataset condition monitoring Yes
3 Blocked transfers No
4 Operator stations No
5 Device control Yes
6 Programs No
7 Events No
8 Accounts No
9 Time series No
10 Undefined No
11 Undefined No
12 Undefined No


Users Guide ICCP Data Structures
Windows SCADA ICCP
5-9

5.6.3 TASE2_Version

This is a VMD-specific variable of type TASE2Version. In Windows SCADA ICCP the Client and Server
support 1996-8 and 2000-8.


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-1



6 ICCP Server Data Entry



















This chapter describes how to use the Data Exchange section of the SCADA Explorer to define Servers,
Virtual RTUs, Datasets and ICCP nodes for use by the ICCP Server program.

This is not a complete description of Windows SCADA Data Exchange. This presentation is limited to
only those data fields that are of interest in an ICCP context.

The inter-relationship of the Data Exchange components are displayed in the figure below. The Server is
the main component that can have multiple Virtual RTUs mapped to it. A Virtual RTU maps one Data
Exchange Dataset to one Server.










Virtual RTU 2 Virtual RTU n
Server
ICCP Nodes
Virtual RTU 1




Dataset 1 Dataset 2 Dataset n




Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-2
6.1 Client Capabilities

The Windows SCADA ICCP Server has the capabilities to also act as an ICCP Client. That is, the Server
can send and receive points from the remote system. This type of connection is extremely rare and
usually only required when the remote system does not support dual connections and must send and
receive points through a single connection.

The ICCP Servers capability to act as an ICCP Client is limited to receiving points only. It is not possible
to issue controls or setpoints to the remote system. Also, activating a point on a map or a viewer will NOT
cause the point to be read from the remote system.

For dual or bi-directional connections, Survalent strongly recommends using the Windows SCADA ICCP
Client Scan Task (see chapter 8, ICCP Client Data Entry) for receiving data and the Windows SCADA
ICCP Server for sending data.

If you are in doubt of how you should configure your ICCP Client and Server, please contact Survalent
Customer Support for clarification.

6.2 Server Editor

The Server editor is used to define a protocol Server that will respond to requests and exchange data
with a remote system. The Server contains a collection of points that are grouped into Virtual RTUs.
These are the only points that are accessible to the remote system.

6.2.1 Server Data Fields General Section

Server Name

A unique name to readily identify the Server.

Description

A text string to describe the Server.

Link Status

The name of a status point used by the Server to indicate the Connected or Disconnected status of
the communication link. The Link Status is required and must already exist in the database.

To create the points you could abandon the editing of this Server, and go to the desired station in
the SCADA Explorer. But, you may prefer to temporarily start a second copy of SCADA Explorer,
and use it to create the point, then quit the second SCADA Explorer as soon as you are done with
it.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-3
Figure 6-1 Server Editor



Protocol

This is the name of the protocol to be used to communicate with the remote system. It specifies
which Server will be used. For ICCP, choose the name ICCP.

Auto Start

Set this flag if you want the Server to start automatically when the SCADA system starts or when
failover occurs.

Configuration Switches

This field allows you to specify certain command line switches to control the behavior of the
Server. The switches that are supported by the ICCP Server are described below. Specify each
switch you need by entering /name=value in this field. You do not need to add a space or other
punctuation between switches. The switch names or values are not case sensitive.


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-4

/LogPath

The LogPath option specifies the folder where the Server is to log communications to a file. If not
specified, the Server will use the folder specified when Windows SCADA was installed. The default
folder name is C:\Program Files\Quindar\ScadaServer. If this option is specified, it must precede
the /Log option and the folder must already exist.

/Log

The Log option specifies the Server is to log communications to a file. The file will be created in the
folder specified when Windows SCADA was installed. The default folder name is C:\Program
Files\Quindar\ScadaServer. The file name is comprised of the protocol name, the Server id and the
current date. For example, a file name from Server ID 1 on August 2, 2007 would be ICCPSV1-
2007-08-2.log.

Care should be taken when using this option and should only be enabled for short periods of time,
as the file will continue to grow and consume all the free space on the disk.

The valid values for this option are as follows:

Default Log all communication.

Start Server

Clicking the Start Server button will cause the Server to start. If the Server was already active, it will
exit and then re-start.

Stop Server

Clicking the Stop Server button will cause the Server to exit.

6.2.2 Server Data Fields ICCP General Parameters

Listen for Connection / Initiate Connection

Select Listen for Connection, as this is the standard behavior of an ICCP Server. Otherwise, select
Initiate Connection for the rare case where the Server will initiate the connection to the remote
Client. If initiating the connection then Remote Node(s) must also be selected.

Bilateral Table ID

This is a text string that represents the version of the Bilateral Agreement. Valid characters are
alphanumeric, $ and underscore, but not spaces. The maximum length is 32 characters.

Max PDU Size

This is the maximum Program Data Unit or packet size the Server will send or receive. The packet
size is negotiated with the remote Client and the lesser of the two will be used. Typically 32,000
bytes.


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-5

Life Check Interval

This is the interval in seconds that the Server checks the health of the connection to the Client.
This is useful to determine when a Client may not be responding or to expedite a lost TCP/IP
socket connection.

Once an association has been established, every interval the Server will issue an Identify request
to Client. The Client must respond to this request within the same amount of time or else the
Server will abort the association. Typical interval is 20 seconds.

If the interval is zero, the Server will NOT check the health of the connection and recovery of a lost
TCP/IP socket is left to the operating system to notify the Server. This may take several minutes or
even hours before the system notifies the Server.

Version

This is the version of ICCP the Server is to support. The Server and the remote system must agree
which ICCP version is to be used. Select the version from the drop down list.

Local Nodes

The local nodes are the AR Names that the Server is to use to register and identify itself on the
network. The selectable AR Names in the drop down list are those ICCP Nodes that have been
defined as local. In a single master system you only need to select an AR Name for A (HOSTA). In
a dual-redundant master system you need to select an AR Name for A (HOSTA) and B (HOSTB).
In a quad-redundant master system, you need to select an AR Name for A (HOSTA), B (HOSTB),
C (HOSTC) and D (HOSTD). The same AR Name can be selected for all entries.

Remote Nodes

The remote nodes are only required when the Server is Initiating the Connection to the remote
system. If the Server is Listening for a connection leave the Remote Nodes set to <None>.

The Remote Nodes are the AR Names that the Server will attempt to connect to. The selectable
AR Names in the drop down list are those ICCP Nodes that have been defined as remote. At
startup the Server will attempt to connect to the remote system specified in A. If the Server fails to
connect to A, it will then try to connect to B. If the Server fails to connect to B, it will then try to
connect to C. If the Server fails to connect to C, it will then try to connect to D. The Server will
continue cycling through all the Servers until a connection is made.

6.2.3 Server Data Fields ICCP Server Parameters

Domain Name

This is the name of the Domain that Domain-specific entities will be created in for the remote
Client. The Server creates the Domain or working space, and then creates and instantiates each
Domain-specific variable. The remote Client can access these variables and create datasets in this
Domain.

Valid characters are alphanumeric, $ and underscore, but not spaces and must begin with an
alphabetic character. The maximum length is 32 characters.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-6
Care should be taken when deciding on the Domain name, as the Domain name will be included in
information reports for EVERY Domain-specific point. Survalent recommends use of short Domain
names not much more than 6 characters in length.

Typically, this takes one of two formats:

1. The acronym of the remote Clients companys name. For example, CMPB.
2. The combination of both companys acronyms with direction of dataflow. For example,
CMPA_CMPB with data flowing from Company A to Company B.

Critical Response Time

This is the maximum amount of time in seconds that the Server will wait for an acknowledgement
of a critical information report. Typically 30 seconds.

Minimum Interval

This is the minimum allowable interval or integrity value the Client can use for transfer sets. If the
Client writes to a transfer set with an interval or integrity value less than the allowable, the Server
will not accept (NACK) the write request. Typically 4 seconds. If zero is entered, the Server will
allow any interval the Client specifies.

6.2.4 Server Data Fields ICCP Client Parameters

These parameters are only required in the rare case where the Server will also be acting as Client. That
is, the Server will both be sending and receiving points from the remote system. Leave these fields empty
or zero if the Server is NOT acting as a Client. If you want to receive points from the remote system,
Survalent recommends configuring a Windows SCADA ICCP Client scan task. See chapter 8 ICCP Client
Data Entry.

Domain Name

This is the name of the Domain that Domain-specific entities will be created in for the Client at the
remote Server. The remote Server creates the Domain or working space, and then creates and
instantiates each Domain-specific variable. The Client can access these variables and create
datasets in this Domain.

Valid characters are alphanumeric, $ and underscore, but not spaces and must begin with an
alphabetic character. The maximum length is 32 characters.

Care should be taken when deciding on the Domain name, as the Domain name will be included in
information reports for EVERY Domain-specific point. Survalent recommends use of short Domain
names not much more than 6 characters in length.

Typically, this takes one of two formats:

1. The acronym of the your companys name. For example, CMPA.
2. The combination of both companys acronyms with direction of dataflow. For example,
CMPB_CMPA with data flowing from Company B to Company A (your company).


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-7

Connection Interval

This specifies the time delay between re-connect attempts after the first Connection Retry
attempts. Typical interval is 5 seconds.

Connection Retry

This specifies the number of immediate re-connect attempts to perform on loss of association. If an
association is still not established after this number of attempts, the Client continues to try to
connect, but it executes the Connection Interval delay between each attempt. If the remote system
has redundant nodes, the Client switches target nodes after each Connection Retry attempts.
Typical retry count is 3.

6.3 Virtual RTU

The Virtual RTU editor is used to map a Dataset to a Server. In ICCP, usually only one Virtual RTU per
Server is sufficient. However, if you are serving more than one Client then you may require multiple
Virtual RTUs. One Virtual RTU for points common to all Clients and another Virtual RTU for points only of
interest to that Client.

A Virtual RTU maps to only one Dataset. For convenience, all the points in the Dataset can be directly
accessed under the Virtual RTU tree in the SCADA Explorer.

Figure 6-2 Virtual RTU Editor Output Dataset


Virtual RTU Name

A unique name to readily identify the Virtual RTU.


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-8

Description

A description of the Virtual RTU.

Address

This is the station address that uniquely identifies the Virtual RTU on the Server. Even though the
concept of an RTU is not present in ICCP, the Data Exchange facility of Windows SCADA requires
this field. Simply start with 1 and increment the address for each Virtual RTU added to the Server.

Modify Enable

All analog, accumulator and status points on a Virtual RTU automatically have read access. If you
want a Client to have write access to these points you must check this box. By checking this box
doesnt mean that the Client has write access to ALL points on the Virtual RTU. Each point must
also be individually enabled. This two step approach is done to allow write access by one Client
and not another in the event of Datasets being shared with multiple Clients.

Control Enable

Check this box if you want the Client to be able to issue controls and setpoints on your system. All
setpoint and control points in the corresponding Dataset will be accessible to the Client.

Server

This drop down menu is a list of all the protocol servers defined in Data Exchange. Select the ICCP
Server that this Virtual RTU will be attached to. The Server must be defined before creating the
Virtual RTU.

Dataset

This drop down menu is a list of all the Datasets defined in Data Exchange. Select the Dataset that
this Virtual RTU maps to. The Dataset must be defined before creating the Virtual RTU. However,
the points in the Dataset may be defined at any time.

Output Dataset

Select Output Dataset if the points in the Dataset are to be sent to the remote Client. This is the
normal selection. In this case the Transmission Parameters have been disabled as they are not
required.

Input Dataset

Select Input Dataset only in the rare case where the Server will be also be acting as Client and this
Dataset represents points that will be received from the remote Server. In this case, the
Transmission Parameters are also required.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-9
The Transmission Parameters are only required in the rare case, where the Server will also be acting as
Client and Input Dataset is selected.

Figure 6-3 Virtual RTU Editor - Input Dataset



Typical Transmission Parameters configured are Interval, Integrity and Report By Exception. In the
example in Figure 6-3, the Remote Server is instructed to check for changes every 4 seconds and only
send those points that have changed and every 60 seconds the Remote Server is to send all the points.

Interval

This is the time interval in seconds for the Remote Server to send periodic reports. Used if the
Interval checkbox is enabled. Typical interval is 4 seconds.

Integrity

This is the time interval, in seconds, that the Remote Server is to send all-data reports. Used if
the Integrity checkbox is enabled. Typical interval is 60 seconds.

Time Limit For Execution

This is the time limit within which the Remote Server must report. It is supported by the Client in
the sense that it is included in the transfer set requests made to the Remote Server, but the
Client does not check whether transfer reports are late. Not typically used, normally set to 0.

Buffer Time



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-10
This is the time, in seconds that the Remote Server is to use for buffering Object Change
conditions. If a change is detected, the Remote Server will delay this amount of time before
reporting the change. Not typically used, normally set to 0.

Event Condition Requested

This is a code describing an external event that will trigger the Remote Server to send a report.
Used if the Other External Event checkbox is enabled. Not typically used, normally set to 0.

Block Data

If this checkbox is enabled, transfer reports are to be blocked (i.e. use a mutually agreed block
data reporting format). Not supported by the Client in this implementation of Windows SCADA
ICCP, leave this checkbox disabled.

Critical

If this checkbox is enabled, the Client will send an acknowledgement to the Remote Server for
each transfer report received. Not typically used, normally unchecked.

Report By Exception

If this checkbox is enabled, the Remote Server is to send only exceptions (points that have
changed value or quality), in its transfer reports. However, in the case of integrity timeout, all-data
will be included in the transfer report. Typically enabled to reduce the data packet size.

Object Change

If this checkbox is enabled, the Remote Server is to send transfer reports when ANY object in the
dataset changes in either value or quality. Actual transmission is delayed by the Buffer Time
delay, if specified. The values transmitted are those that are available at the end of the buffer
time delay.

If Object Change is enabled, the Remote Server will constantly scan the dataset for changes.
This differs from Interval reports that only scan for changes once at the end of each time period.
This can create more overhead on the Remote Server and/or more network packets being
generated but also allows for instantaneous reporting of changes. Not typically enabled.

Operator Request

If this checkbox is enabled, the Remote Server is to send transfer reports if requested by the
operator. Not typically enabled.

Other External Event

If this checkbox is enabled, the Remote Server is to send transfer reports whenever some external
event occurs. Not typically enabled.

All Changes

The All Changes option is available for selection when ICCP version 2000-8 is selected on the
Server. If this checkbox is enabled, the Remote Server is to send ALL state changes for status
points not just the current state. When this option is enabled, Report By Exception, Object Change


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-11
and Buffer Time must also be enabled and Interval must be disabled. Integrity is optional but
recommended. See Figure 6-4 for an example.

Figure 6-4 All Changes Settings


6.4 Datasets

The Dataset editor creates a definition for a group of analog, accumulator, status, setpoint and control
points. The points themselves are edited with their corresponding editor.

A Dataset may be mapped to one or more Virtual RTUs.

Figure 6-5 Dataset Editor


Dataset Name

A unique name to readily identify the Dataset.

Description

A description of the Dataset.

In ICCP, points in a Dataset are referenced by name. The points name is included in most requests and
responses with the remote system. If throughput or speed of the connection to the remote system is an
issue, you may want to consider using shorter names. You may also want to consider using a scope of
VMD-specific or use a short Domain name, as the Domain name for Domain-Specific variables is
included FOR EVERY point transmitted.

Valid characters are alphanumeric, $ and underscore, but not spaces and must start with an alphabetic
character. The maximum length of a variable name in ICCP is 32 characters.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-12
Survalent recommends using a scope of VMD-specific.
6.5 Status Points

The Status section contains the status points that are assigned to the Dataset.

Figure 6-6 Dataset Editor - Status Section



Point

This is the name of a SCADA status point whose state and condition will be monitored and sent to
the Client. The status point is selected via the Drag-n-Drop SCADA window. Only status points
may be dropped into this location.

Identity

The identity is used to uniquely identify the point within the Dataset. ICCP only supports Name and
Use Points External Name to identify a point. All other methods are not supported by ICCP.
Name

When selected, the text box contains the ICCP name that the remote Clients will use to access the
point. Valid characters are alphanumeric, $ and underscore, but not spaces and must start with an
alphabetic character. The maximum length of a variable name in ICCP is 32 characters. If Name is
selected then a numeric Type code must also be specified to select the scope of the point. The
most common scope is VMD or 1. See Table 6-1 for Type codes.

Table 6-1 ICCP Scope
Type Code Scope
0 Domain
1 VMD



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-13
Use Points External Name

When selected, the External Name and Type code defined for the point will be used. This may be
useful when the value for this SCADA status point is being received from another system, it is a
way to propagate the point name without having to re-enter it.

Parameters

The parameters provide additional criteria for an instance of a point. In ICCP only parameter 1 is
used for status points, leave all other parameters set to 0.

Parameter 1 Warn on Modify Error

If set to 1, the Server will warn the Client if an attempt to modify a data value fails because the
point is manually set at the Server. When set to 0, the default behavior, the Server will not update
the point and will NOT notify the Client of the error.

The purpose of this is to allow point values at the Server to be overridden by the operators without
disturbing the Client.

Data Type

The Data Type code specifies how the points value, quality codes and timestamps are formatted
for transmission. See Table 6-2 for the Data Type codes for status points. The most common Data
Type is Data_StateQ or 2.

ICCP Data Types Data_StateQTimeTag and Data_StateExtended use timestamps with second
resolution while Data_StateQTimeTagExtended use timestamps with millisecond resolution. The
Server sets the TimeStamp component to the time of the last status change in UTC/GMT and sets
the TimeStampQuality attribute to VALID.

Table 6-2 Status Point Data Types
Data Type Code ICCP Data Type Comment
1 Data_State
2 Data_StateQ
3 Data_StateQTimeTag
4 Data_StateExtended
5 Data_StateQTimeTagExtended ICCP Version 2000-8 only

Data Format

This field defines how the state of the SCADA status point will be translated. In ICCP this
translation has been defined by the protocol and therefore this field is not required. Leave this field
set to the default value of Single Bit. The SCADA status state is translated to the ICCP state via the
following table.


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-14

Table 6-3 Translation of Windows SCADA States to ICCP States
SCADA State Typical SCADA Meaning ICCP State
0 Open 2
1 Closed 0
2 Travel 1
3 Error 3

Modify Enable

If this box is checked the Client has write access to this point only if the corresponding Virtual RTU
also has its Modify Enable box checked.

6.6 Analog Points

The Analog section contains the analog points that are assigned to the Dataset.

Point

This is the name of a SCADA analog point whose value and condition will be monitored and sent to
the Client. The analog point is selected via the Drag-n-Drop SCADA window. Only analog points
may be dropped into this location.

Identity

The identity is used to uniquely identify the point within the Dataset. ICCP only supports Name and
Use Points External Name to identify a point. All other methods are not supported by ICCP.


Name

When selected, the text box contains the name that remote Clients will use to access this point.
Valid characters are alphanumeric, $ and underscore, but not spaces and must start with an
alphabetic character. The maximum length of a name in ICCP is 32 characters. If Name is selected
then a numeric Type code must also be specified to select the scope of the point. The most
common scope is VMD or 1. See Table 6-4 for Type codes.

Table 6-4 ICCP Scope
Type Code Scope
0 Domain
1 VMD

Use Points External Name

When selected, the External Name and Type code defined for the point will be used. This may be
useful when the value for this SCADA analog point is being received from another system. Its a
way to propagate the point name without having to re-enter it.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-15
Figure 6-7 Dataset Editor - Analog Section


Parameters

The parameters provide additional criteria for an instance of a point. In ICCP only parameter 1 is
used for analog points, leave all other parameters set to 0.

Parameter 1 Warn on Modify Error

If set to 1, the Server will warn the Client if an attempt to modify a data value fails because the
point is manually set at the Server. If set to 0, the Server will NOT warn the Client of the error.

The purpose of this is to allow point values at the Server to be overridden by the operators without
disturbing the Client.

Data Type

The Data Type code specifies how the points value, quality codes and timestamps are formatted
for transmission. See Table 6-5 for the analog Data Type codes. The most common analog Data
Type is Data_RealQ or 3.

ICCP Data Types Data_RealQTimeTag, Data_DiscreteQTimeTag, Data_RealExtended and
Data_DiscreteExtended use timestamps with second resolution while
Data_RealQTimeTagExtended and DataDiscreteQTimeTagExtended use timestamps with
millisecond resolution. The Server sets the TimeStamp component to the time of the last analog
change in UTC/GMT and sets the TimeStampQuality attribute to VALID.


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-16

Table 6-5 Analog Data Types
Data Type Code ICCP Data Type Comment
1 Data_Real
2 Data_Discrete
3 Data_RealQ
4 Data_DiscreteQ
5 Data_RealQTimeTag
6 Data_DiscreteQTimeTag
7 Data_RealExtended
8 Data_DiscreteExtended
9 Data_RealQTimeTagExtended ICCP Version 2000-8 only
10 Data_DiscreteQTimeTagExtended ICCP Version 2000-8 only

Data Format

This field defines how the value is formatted. In ICCP the Data Type is sufficient and this field is not
required. Leave this field set to 0.

Scaling

Scaling is not currently used in ICCP. The values transmitted to the Client are in engineering units.
Select Use Alternate with a Scale factor of 1 and Offset of 0.

Deadband

The Deadband is not currently used in ICCP. Uncheck the Enabled box and set the value to 0.

Modify Enable

If this box is checked the Client has write access to this point only if the corresponding Virtual RTU
also has its Modify Enable box checked.

6.7 Accumulator Points

The Accumulator section contains the accumulator points that are assigned to the Dataset. In ICCP there
is no accumulator definition, so this is basically another list of analog points. See section 6.6 Analog
Points.

6.8 Control Points

The Control section contains the controllable points that are assigned to the Dataset.

The Client has control access to all the points in the Control section only if the corresponding Virtual RTU
has its Control Enable box checked.


Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-17

Figure 6-8 Dataset Editor - Control Section



Point

This is the name of a SCADA status point whose state and condition will be modified or controlled
by the Client. The status point is selected via the Drag-n-Drop SCADA window. Only status points
may be dropped into this location.

Identity

The identity is used to uniquely identify the point within the Dataset. ICCP only supports Name and
Use Points External Name to identify a point. All other methods are not supported by ICCP.

Name

When selected the text box contains the name that remote Clients will use to access this point.
Valid characters are alphanumeric, $ and underscore, but not spaces and must start with an
alphabetic character. The maximum length of a name in ICCP is 32 characters. If Name is selected
then a numeric Type code must also be specified to select the scope of the point. The most
common scope is VMD or 1. See Table 6-6 for Type codes.

Table 6-6 ICCP Scope
Type Code Scope
0 Domain
1 VMD


Use Points External Name

When selected the Control External Name and Type code defined for the point will be used. This
may be useful when controlling a point from another system, it is a way to propagate the point
name without having to re-enter it.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-18
Parameters

The parameters provide additional criteria for an instance of a point. In ICCP, only parameters 1
and 2 are used for control points, leave all other parameters set to 0.

Parameter 1 Warn on Modify Error

If set to 1, the Server will warn the Client if an attempt to modify a data value fails because the
point is manually set at the Server. If set to 0, the Server will not update the point and will NOT
notify the Client of the error.

The purpose of this is to allow point values at the Server to be overridden by the operators without
disturbing the Client.

Parameter 2 Checkback Value

This is the value the Server is to send to the Client when the Client issues a Select request.
Survalent recommends that a Checkback Value always be entered even if Select before operate
required is not checked, as the Client may choose to issue a Select request regardless of what the
Server requires. Suggest using the ID number of the control point as the Checkback Value.

Data Type

This field is not currently used in ICCP, enter 0.

Data Format

This field is not currently used in ICCP, enter 0.

Select before operate required

If this box is checked the Client is required to perform a Select request before performing an
Operate request.

6.9 Setpoints

The Setpoint section contains the setpoints that are assigned to the Dataset.

The Client has control access to all the points in the Setpoint section only if the corresponding Virtual
RTU has its Control Enable box checked.

Point

This is the name of a SCADA analog point whose value can be modified by the Client. The analog
point is selected via the Drag-n-Drop SCADA window. Only analog points may be dropped into this
location.

Identity

The identity is used to uniquely identify the point within the Dataset. ICCP only supports Name and
Use Points External Name to identify a point. All other methods are not supported by ICCP.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-19
Name

When selected the text box contains the name that remote Clients will use to access this point.
Valid characters are alphanumeric, $ and underscore, but not spaces and must start with an
alphabetic character. The maximum length of a name in ICCP is 32 characters. If Name is selected
then a numeric Type code must also be specified to select the scope of the point. The most
common scope is VMD or 1. See Table 6-7 for Type codes.

Table 6-7 ICCP Scope
Type Code Scope
0 Domain
1 VMD


Use Points External Name

When selected the External Name and Type code defined for the point will be used. This may be
useful when controlling a point from another system, it is a way to propagate the point name
without having to re-enter it.

Figure 6-9 Dataset Editor - Setpoint Section




Parameters

The parameters provide additional criteria for an instance of a point. In ICCP only parameters 1
and 2 are used for setpoints, leave all other parameters set to 0.

Parameter 1 Warn on Modify Error

If set to 1, the Server will warn the Client if an attempt to modify a data value fails because the
point is manually set at the Server. If set to 0, the Server will not update the point and will NOT
notify the Client of the error.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-20
The purpose of this is to allow point values at the Server to be overridden by the operators without
disturbing the Client.

Parameter 2 Checkback Value

This is the value the Server is to send to the Client when the Client issues a Select request.
Survalent recommends that a Checkback Value always be entered even if Select before operate
required is not checked, as the Client may choose to issue a Select request regardless of what the
Server requires. Suggest using the ID number of the setpoint as the Checkback Value.

Data Type

The transmitted Data Type code specifies to the Server what Data Type to use when receiving the
points value from the Client. The most common Data Type is Real or 1. See Table 6-8 for Data
Type codes.

Table 6-8 Setpoint Data Value Types
Data Type Code ICCP Data Type
1 Real
2 Discrete

Data Format

This field is not currently used in ICCP, enter 0.

Scaling

Scaling is not currently used in ICCP. The values transmitted to the Client are in engineering units.
Select Use Alternate with a Scale factor of 1 and Offset of 0.

Select before operate required

If this box is checked the Client is required to perform a Select operation before performing an
Execute operation.

6.10 ICCP Nodes

The ICCP Node editor defines local and remote ICCP application addresses. Much the same way an IP
address is used to identify a computer, the information provided here is used to address an application.

AR Name

A unique name to readily identify the ICCP node. The AR Name is only used within Windows
SCADA and is not exchanged with remote systems.

AR Names appear in the Local Nodes section for Servers and in the Local Client Nodes and
Remote Server Nodes sections for Communication Lines. AR Names also appear in the Remote
Nodes section for Servers but are not used except in the rare case when the Server also acts as a
Client.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-21
Figure 6-10 ICCP Node Editor


Description

A text string to describe the ICCP Node.

Local

If checked, this is for an ICCP node on your Windows SCADA system. The Host Name is not
required, leave it blank.

Shared

The Shared box is applicable for Local connections only. If this box is checked, it indicates that
both the Local Client and Local Server will use this ICCP Node and present a single application
address to the remote system. If this box is unchecked, Local Clients and Local Servers must each
use a unique ICCP Node.

Typically, this field is unchecked, requiring separate connections to be established for Client and
Server.

Remote

If checked, this is for an ICCP node on another system. The Host Name is required.

Host Name

The Host Name is only required if Remote has been checked. The Host Name may be entered as
a meaningful name or a dotted IP address. If entered as a meaningful name, that name must also
appear in the HOST file or must be able to be resolved by a DNS server.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-22
The following fields are used to address ICCP applications. Some installations may enforce strict
addressing policies while others may not. There are no standards for addressing, therefore what is listed
here is a guideline only.

Typically the AP Title, AE Qualifier, Psel, Ssel and Tsel are specified, while the AP Invoke ID and the AE
Invoke ID are left blank.

AP Title

The Application Process Title is a sequence of integers and can be up to 15 integers in length.
Each integer is separated by a space.

Typically an AP Title would like something like 1 3 9999 1 101. Then to make the AP Title unique,
simply increment the last integer. For example, 1 3 9999 1 102.

While not currently enforced, it is best to define a unique AP Title for each local and remote
definition. Future system updates may require uniqueness.

AP Invoke ID

The Application Process Invoke ID is an optional integer. Its use is not clearly defined and
Survalent suggests you leave this field blank.

AE Qualifier

The Application Entity is an optional integer.

Typically the AE Qualifier is usually the last integer of the AP Title. From the example above this
would result in an AE Qualifier of 101.

While not currently enforced, it is best to define a unique AE Qualifier for each local and
remote definition. Future system updates may require uniqueness.

AE Invoke ID

The Application Entity Invoke ID is an optional integer. Its use is not clearly defined and Survalent
suggests you leave this field blank.

Psel, Ssel and Tsel

The Presentation and Session Selectors represents a hexadecimal octet string and can be up to 16
octets (bytes). The Transport Selector represents a hexadecimal octet string and can be up to 32
octets. Octets may or may not include a space between them. Two hexadecimal characters are
required to represent one octet.

Typically all three selectors are set to the same value, for example 0001. Then for each node
increment the selectors by 1, for example 0002.

Local selectors on a Survalent Windows system MUST be unique or the address
registration may fail.

Remote selector definitions are based upon restrictions of the remote system. Check with the
system manager of the remote system for guidelines.



Users Guide ICCP Server Data Entry
Windows SCADA ICCP
6-23
Local selectors are independent from Remote selectors and therefore may have the same settings.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-1



7 Operation of ICCP Server





















Each link to a remote Client is served by a separate instance of the Server.

The Servers Bilateral Table for each remote Client is defined in the Server, Virtual RTU, Dataset and
ICCP Node editors in the Data Exchange section of the SCADA Explorer.

The functions of the Server are as follows:

At startup:

Read the Bilateral Table (the Server record and all associated Virtual RTU definitions), and
instantiate all the data value objects assigned to the remote Client.

Set the Link Status point to Disconnected.

Register the Servers AR Name for the appropriate Host (A, B, C or D) from the Local Nodes
field of the Server record.

Create a Domain for the remote Client from the ICCP Server Parameters Domain Name of
the Server record.

Either listen for a connection from the remote Client or initiate the connection to the remote Client.

Perform the necessary handshaking and validation on initial association with the remote Client.

Validate received definitions of datasets and transfer sets.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-2
Perform the condition monitoring specified in the transmission parameters of all the enabled transfer
sets. Transmit data when transmission conditions are true.

Service control requests from the remote Client.

For a SBO control, the Server validates the Select request and returns a checkback reply. The
remote Client then issues the Operate request. The Server then initiates a Windows SCADA control
operation for the appropriate control point specified in the dataset.

This causes other software in the master station to forward a control message sequence to the RTU
specified by the control points Windows SCADA control address (as defined via the SCADA
Explorer). Controls on the RTUs on this communication line may or may not involve a two-step
control procedure.

When the Server is also acting as a Client the additional functions are as follows:

For each Virtual RTU marked as Input Dataset, define the corresponding dataset at the remote
Server and then start the transfer set.

Process received data (information reports) from the remote Server.

7.1 Operation as Server

This section describes the behavior of the ICCP Server interacting with a remote Client.

7.1.1 Association Control
7.1.1.1 Associate

This function is mapped to the MMS Initiate service. It can be issued by the remote Client or by the
Server depending on the selection in the Server record. The default ICCP behavior is for the Server to
listen for connections and the remote Client to initiate the connection.

On reception of an MMS Initiate indication,

The Server ACKs the request (positive MMS Initiate reponse), with the following arguments:

Local Detail Called =max PDU size
Negotiated Max Serv Outstanding Calling =5
Negotiated Max Serv Outstanding Called =5
Negotiated Data Structure Nesting Level =4
Init Response Detail =see below

The negotiated maximum PDU size that the Server returns in the Local Detail Called argument is
determined as the lesser of the value that was proposed by the remote Client (via the Local Detail
Calling argument) and the value of Max PDU Size on the Server editor.


Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-3

The Init Response Detail consists of:

Negotiated MMS Version Number

=provided by the MMS provider

Negotiated Parameter CBB

=same as that proposed by the Windows SCADA ICCP Client scan task
(see section 9.2 Association)

Services Supported Called

=bitstring formed to represent the Server column of the Table in chapter 11.

The Server then sets the Link Status point to Connected.

When the remote Client sends an MMS Read service request for the variable Bilateral_Table_ID, the
Server returns the value defined in its Server record.

When the remote Client sends an MMS Read service request for the variable TASE2_Version, the
Server returns the version selected in its Server record, either 1996-8 or 2000-8.

When the remote Client sends an MMS Read service request for the variable Supported_Features,
the Server returns a 12-bit bitstring representing the ICCP conformance table of chapter 10:

Table 7-1 ICCP Conformance Table
Block Description Supported
1 Basic services Yes
2 Extended dataset condition monitoring Yes
3 Blocked transfers No
4 Operator stations No
5 Device control Yes
6 Programs No
7 Events No
8 Accounts No
9 Time series No
10 Undefined No
11 Undefined No
12 Undefined No


If the Server is initiating the connection and the Server receives a negative MMS Initiate response, the
Server performs N retries, where N is given by its Server record Connection Retry. After N retries, the
Server continues to attempt to connect, but executes a delay between each attempt. The delay time is
specified by the value by its Server record Connection Interval. If there are multiple Remote nodes, the
Server switches target AR Names after each delay. The Server continues its connection attempts until it
receives a positive MMS Initiate response and handles the response as above.


Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-4
7.1.1.2 Conclude

This function is mapped to the MMS Conclude service.

This request is issued to the remote Client by the Server when Stop Server or Start Server on the Server
editor is clicked. If the remote Client fails to respond to the Conclude, the Server will issue an immediate
Abort request.

When a Conclude indication is received from the remote Client, the Server:

ACKs the request (positive MMS Conclude response).

Deselects any SBO controls that are presently selected by the remote Client.

Stops all condition monitoring and destroys all transfer set objects.

Sets the Link Status point to Disconnected.

When the connection is re-established, the remote Client must re-issue Start Transfer Set requests to
restart the transfer sets. For each transfer set, the remote Client must use the Get Next Transfer Set
Name function to obtain a new transfer set name.

Note that the Server preserves the dataset definitions across loss of connections. See section 7.1.2.3,
Persistence of Dataset Definitions.

7.1.1.3 Abort

This function is mapped to the MMS Abort service.

This request is issued to the remote Client by the Server when the remote Client fails to respond to the
Conclude request.

In Windows SCADA, a failover from master to standby causes the equivalent of a reset.

When an Abort indication is received from the remote Client, the Server performs the same processing as
for Conclude.

7.1.2 Datasets
7.1.2.1 Create Dataset

This function is mapped to the MMS DefineNamedVariableList service.

When the Server receives an MMS DefineNamedVariableList service request containing a list of correctly
formed Data Value object identifiers,

It checks that the new proposed dataset name is unique (i.e. does not already exist). If the new
dataset name is not unique, the request is NAKed (negative MMS DefineNamedVariableList
response, error =OBJ ECT-EXISTS, error class =DEFINITION).



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-5
It then checks that the remote Client has not exhausted its allowed number of dataset definitions
(each remote Client is allowed 32N datasets, where N is the number of Virtual RTUs it has access
to). If all the allowed datasets are used up, the request is NAKed (negative MMS
DefineNamedVariableList response, error =MEMORY-UNAVAILABLE, error class =RESOURCE).

It then checks that all the Data Value objects contained in the request are in fact instantiated and
mapped to the Server for this remote Client. If any requested object does not exist, the request is
NAKed (negative MMS DefineNamedVariableList response, error = OBJ ECT-UNDEFINED, error
class =DEFINITION).

If the request is for a Domain-specific dataset, the Server checks that the Domain name is the one
assigned to the remote Client in the Server editor. If the Domain name is incorrect, the request is
NAKed (negative MMS DefineNamedVariableList response, error = OBJ ECT-ACCESS-
UNSUPPORTED, error class =ACCESS).

If there are no errors, the Server creates the requested dataset object, with scope specified by the
remote Client, and returns a positive MMS DefineNamedVariableList response.

Note that if the remote Client wants any of the special transfer set variables in the information reports, it
must include these transfer set variables in the dataset definitions. The Server allows any combination of
the following special transfer set variables to be included in dataset definitions:

Transfer_Set_Name
Transfer_Set_Time_Stamp
DSConditions_Detected

7.1.2.2 Delete Dataset

This function is mapped to the MMS DeleteNamedVariableList service.

When the Server receives an MMS DeleteNamedVariableList service request for a dataset object,

It checks that the dataset to be deleted is an existing dataset for the remote Client. If it does not
exist, the request is NAKed (negative MMS DeleteNamedVariableList response, error =OBJ ECT-
NON-EXISTENT, error class =ACCESS).

The Server then checks that there is no transfer set presently enabled for the dataset. If there is, the
request is NAKed (negative MMS DeleteNamedVariableList response, error =OBJ ECT-ACCESS-
DENIED, error class =ACCESS).

If there are no errors, the Server deletes the dataset object, and returns a positive MMS
DeleteNamedVariableList response.

7.1.2.3 Persistence of Dataset Definitions

Although transfer sets are destroyed on loss of connection, the Server does retain any dataset definitions
that it may have received from the remote Client. It is up to the remote Client to re-use these definitions
on reconnection or to delete them and re-create them.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-6
7.1.2.4 Get Dataset Element Values

This function is mapped to the MMS Read service for a Named Variable List.

When the Server receives an MMS Read service request for a Data Set object,

It locates the dataset object in its list of datasets for the remote Client. If there is no such dataset, the
request is NAKed (negative MMS Read response, error =OBJ ECT-NON-EXISTENT, error class =
ACCESS).

The Server then returns the values of all the points in the dataset.

As in the case of an individual data value, the Server transmits each data value in accordance with
the transmitted data type assigned to it via the Data Type code of the corresponding point section of
the Dataset editor in the Data Exchange section of the SCADA Explorer.

When the request contains a dataset object identifier, it must contain one and only one object
identifier. If the request contains a list of dataset object identifiers, or a mix of a dataset object
identifier and some data value object identifiers, the request is NAKed.

7.1.2.5 Set Dataset Element Values

This function is mapped to the MMS Write service for a Named Variable List.

When the Server receives an MMS Write service request for a Dataset object,

It locates the dataset in its list of datasets for the remote Client. If there is no such dataset, the
request is NAKed (negative MMS Read response, error =OBJ ECT-NON-EXISTENT, error class =
ACCESS).

For each point in the dataset, the Server checks the Modify Enable checkbox in the corresponding
point section of the Dataset editor in the Data Exchange section of the SCADA Explorer. If the
Modify Enable checkbox is not checked for every point in the dataset, the request is NAKed (negative
MMS Write response, error =OBJ ECT-ACCESS-DENIED, error class =ACCESS).

Then, for the corresponding Virtual RTU for each point in the dataset, the Server checks the Modify
Enable checkbox in the Virtual RTU editor. If the Modify Enable checkbox is not checked, the
request is NAKed (negative MMS Write response, error =OBJ ECT-ACCESS-DENIED, error class =
ACCESS).

It then checks the Windows SCADA quality code of every point in the dataset. For each one that is
manually set, the Server checks the Warn on Modify Error flag (Parameter 1 in the corresponding
point section of the Data Exchange Dataset editor). If a point that is manually set has Parameter 1
set to 1, the request is denied (negative MMS Write response, error =OBJ ECT-ACCESS-DENIED,
error class =ACCESS).

If there are no errors, the Server sets the values of the points that are not manually set to those sent
by the remote Client. The Server returns a positive MMS Write service response.

Note that only the values are used. The quality codes of the points are set to normal. The quality
codes transmitted by the remote Client are ignored.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-7
When the request contains a dataset object identifier, it must contain one and only one object
identifier. If the request contains a list of dataset object identifiers, or a mix of a dataset object
identifier and some data value object identifiers, the request is NAKed.

7.1.2.6 Get Dataset Names

This function is mapped to the MMS GetNameList service for Data Set objects.

When the Server receives an MMS GetNameList service request for Data Set objects,

It transmits the list of dataset names created by the remote Client.

7.1.2.7 Get Dataset Element Names

This function is mapped to the MMS GetNamedVariableListAttributes service.

When the Server receives an MMS GetNamedVariableListAttributes request for a Data Set object,

It locates the dataset in its list of datasets for the remote Client. If there is no such dataset, the
request is NAKed (negative MMS Read response, error =OBJ ECT-NON-EXISTENT, error class =
ACCESS).

For each point defined in the dataset, the Server sends the corresponding data value object
identifiers in alphabetical order.

The MMS Deletable flag included in the response is set to True.

7.1.3 Transfer Sets
7.1.3.1 Get Next DSTransfer Set Value

The Windows SCADA ICCP Server allocates a pool of 32N transfer set object names for its remote
Client, where N is the number of Virtual RTUs assigned to the remote Client.

The remote Client can obtain the names of the transfer set objects via the Get Next DSTransfer Set
Value function. This function is mapped to the MMS Read request for named variable
Next_DSTransferSet.

When the Server receives an MMS Read service request for named variable Next_DSTransferSet,

It identifies the first available transfer set object in its pool of transfer sets and returns the name of this
object as the value of the variable Next_DSTransferSet.

The transfer set object is immediately instantiated, with a status of disabled.

If all transfer sets are used up, the Server denies the request (negative MMS Read service response,
error =OBJ ECT-NON-EXISTENT, error class =ACCESS).



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-8
7.1.3.2 Start Transfer

This function is mapped to the MMS Write service request to a transfer set variable. The remote Client
may obtain the next available transfer set by issuing an MMS Read service request for named variable
Next_DSTransferSet (see previous section). In a Start Transfer request, the Status component of the
specified transfer set variable is Enabled.

When the Server receives an MMS Write service request for a correctly formed transfer set object name,
where the request contains a Status of Enabled,

It checks that the transfer set is not already enabled. If so, the request is denied (negative MMS
Write response, error =OBJ ECT-STATE-CONFLICT, error class =SERVICE).

The Server then checks its list of datasets for the remote Client. If there is no such dataset, the
request is denied (negative MMS Write response, error =OBJ ECT-NON-EXISTENT, error class =
ACCESS).

The Server then checks whether it can transmit the entire dataset in the form of a Named Variable
List within one maximum sized PDU, where the maximum size of a PDU is the value negotiated at
the time of association (see section 4.1.1, Associate). If the maximum PDU size is too small, the
request is denied (negative MMS Write response, error =OBJ ECT-CONSTRAINT-CONFLICT, error
class = SERVICE, additional code = 5). Note that this check is made regardless of what the
transmission parameters are.

If the transmission parameters specify Block Data reporting, the request is denied (negative MMS
Write response, error =OBJ ECT-CONSTRAINT-CONFLICT, error class =SERVICE, additional code
=0).

The Server then schedules Condition Monitoring to start immediately.

(The Start Time component of the Transmission Parameters is not supported in this implementation,
by either the Client or the Server.)

7.1.3.3 Stop Transfer

This function is mapped to the MMS Write service request to the Status component of a transfer set
variable.

When the Server receives an MMS Write service request for a correctly formed transfer set object name,
where the request contains a Status of Disabled,

It checks that the transfer set is presently enabled. If not, the request is denied (negative MMS Write
response, error =OBJ ECT-STATE-CONFLICT, error class SERVICE).

The Server then destroys the transfer set object and returns the transfer set name to the list of
available transfer set names. Condition Monitoring stops immediately. The Server returns a positive
MMS Write service response.

When the remote Client wishes to restart the transfer set, it must re-issue a Get Next DSTransfer Set
Value request to get another transfer set name. It cannot simply use the one it used before.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-9
7.1.3.4 Transfer Condition Monitoring

The Server handles the transfer conditions as follows:

IntervalTimeOut

If this condition is specified, the Server reports periodically at an interval given by the Interval
component of the Transmission Parameters.

If RBE (report by exception) is specified, only exceptions are transmitted.

ObjectChange

If this condition is specified, the Server checks all points in the dataset for changes since the last
transmission. If any value or quality code has changed, then the dataset is transmitted.

If RBE is specified, only exceptions are transmitted.

The ObjectChange transfer condition is the only one that causes the Server to make use of the
Buffer Time delay in the Transmission Parameters. If this parameter is non-zero, the Server
waits this amount of time after the condition is detected before actually reporting the data.

Note that despite the name Buffer Time, the Server does not actually capture and buffer the
data values at the time the transfer condition is first detected. It captures and sends the data
values when the Buffer Time timer actually expires.

The Server does not restart the Buffer Time timer if a second transfer condition is detected while
the Buffer Time timer is already active.

OperatorRequest

In the present implementation, there are no operator requests that cause a report.

IntegrityTimeout

If this condition is specified, the Server periodically reports all the data values of the dataset at an
interval given by the Integrity Check component of the Transmission Parameters. Note that all
values are sent, not just exceptions.

OtherExternalEvent

In the present implementation, there are no other external events that cause a report.

All Changes

This condition is only available in ICCP Version 2000-8.
If this condition is specified, the Server checks all status points in the dataset for multiple
changes that occurred during the Buffer Time and sends ALL state changes.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-10

7.1.3.5 Transfer Reporting

The Server issues transfer reports using the MMS InformationReport service.

An Information Report contains:

transfer set name

conditions that triggered the transfer

timestamp of the report

data values in dataset

The first three variables are special transfer set objects that are included in the information report only if
they are included in the dataset definition.

If Report By Exception (RBE) is enabled, some of the transfer conditions produce an exception report,
whereas some of the conditions produce an all-data report. If conditions of both kinds are true
simultaneously, then an all-data report results.

When producing an exception report, the Server:

First attempts to send the exceptions via a List of Named Variables

If this cannot be sent in one maximum-sized PDU, the Server then attempts to send all the points in
the dataset via a Named Variable List

If this still cannot be sent, the Server returns an error. (This should not happen since the Server
checks for this when the transfer set is first enabled, but you never know.)

If the Critical attribute of the Transmission Parameters is True, the Server expects an acknowledgement
from the remote Client. This acknowledgement is also an MMS Information Report. A positive
acknowledgement contains:

MMS variable Transfer_Report_ACK, containing the transfer set name

MMS variable Transfer_Set_Time_Stamp, containing the timestamp of the report that the Server sent
to the remote Client

If the Server receives a negative acknowledgement (MMS variable Transfer_Report_NACK) or does not
receive any acknowledgement at all within a time specified by Critical Response time on the Server
editor, then the Server raises an alarm on the Server system:

mm/ dd hh: mm: ss XXXXXX: NO ACK FOR CRI TI CAL DATA

where XXXXXX is the remote Client node name.

In the present implementation, the Time Limit for Execution component of the Transmission Parameters
is simply ignored by the Server.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-11
7.1.4 Data Values
7.1.4.1 Get Data Value

This function is mapped to the MMS Read service for a Named Variable.

When the Server receives an MMS Read service request for an object with a correctly formed Data Value
object name,

It checks that the object has been instantiated. If not, the request is NAKed (negative MMS Read
response, error =OBJ ECT-NON-EXISTENT, error class =ACCESS).

It then checks the corresponding Virtual RTU to verify that it is accessible for reading by the remote
Client. If it is not accessible, the request is NAKed (negative MMS Read response, error =OBJ ECT-
ACCESS-DENIED, error class =ACCESS).

If there are no errors, the Server returns the value of the specified point in accordance with the
transmitted data type assigned to it via the Data Type code in the corresponding point section of the
Dataset editor in the Data Exchange section of the SCADA Explorer.

If the request contained a list of data value object identifiers, and there is an error in any of them, the
request is NAKed.

7.1.4.2 Set Data Value

This function is mapped to the MMS Write service for a Named Variable.

When the Server receives an MMS Write service request for an object with a correctly formed Data Value
object name,

It checks that the object has been instantiated. If not, the request is NAKed (negative MMS Read
response, error =OBJ ECT-NON-EXISTENT, error class =ACCESS).

It then checks the corresponding Virtual RTU to verify that it is accessible for writing by the remote
Client. To be accessible for writing, the Virtual RTU must have its Modify Enable checkbox checked.
If it is not accessible, the request is NAKed (negative MMS Read response, error = OBJ ECT-
ACCESS-DENIED, error class =ACCESS).

It then checks the individual points Modify Enable checkbox in the corresponding point section of the
Dataset editor in the Data Exchange section of the SCADA Explorer. If the Modify Enable checkbox
is not checked, then no remote Client is allowed to modify this point, and the request is NAKed
(negative MMS Write response, error =OBJ ECT-ACCESS-DENIED, error class =ACCESS).

It then checks the quality code of the point. If it is manually set by the operator, the Server cannot
update it. If the points Warn on Modify Error flag (Parameter 1 of the corresponding point section in
the Data Exchange Dataset editor) is set to 1, then this is considered to be an error, and the request
is denied (negative MMS Write response, error = OBJ ECT-ACCESS-DENIED, error class =
ACCESS). If Parameter 1 is set 0, then this is not considered to be an error.

If there are no errors, and the point is not manually set, the Server sets the value of the point to that
sent by the remote Client.


Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-12

Only the value is used. The quality code of the point is set to normal. The quality code transmitted
by the remote Client is ignored.

The data type transmitted by the remote Client is assumed to be the one specified by the points Data
Type code in the corresponding point section of the Dataset editor in the Data Exchange section of
the SCADA Explorer.

The Server returns a positive MMS Write service response.

If the request contained a list of data value object identifiers, and there is an error in any of them, the
request is NAKed.

If the list contained a number of points that were manually set, but none of them had Warn on Modify
Error flags set, then the request will be ACKed even though some of the points were not updated.

7.1.4.3 Get Data Value Names

This function is mapped to the MMS GetNameList service for class Named Variables.

When the Server receives an MMS GetNameList service request for class Named Variables,

It obtains a list of all the Virtual RTUs accessible for reading or writing by the remote Client.

For each status, analog and accumulator point defined in these Virtual RTUs, the Server sends the
corresponding data value object identifiers in alphabetical order. Note that the control and setpoint
section of the Virtual RTU are not included in this list.

7.1.4.4 Get Data Value Type

This function is mapped to the MMS GetVariableAccessAttributes service.

When the Server receives an MMS GetVariableAccessAttributes service request for an object with a
correctly formed Data Value object name,

It checks that the object has been instantiated. If not, the request is NAKed (negative MMS Read
response, error =OBJ ECT-NON-EXISTENT, error class =ACCESS).

It then checks the corresponding Virtual RTU to verify that it is accessible for reading by the remote
Client. If it is not accessible, the request is NAKed (negative MMS Read response, error =OBJ ECT-
ACCESS-DENIED, error class =ACCESS).

If there are no errors, the Server returns the data type specification of the requested point (as defined
by the point's Data Type code in the corresponding point section of the Dataset editor in the Data
Exchange section of the SCADA Explorer). The MMS Deletable attribute, which is also returned, is
always set to False.

If the request contained a list of data value object identifiers, and there is an error in any of them, the
request is NAKed.



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-13
7.1.5 Device Control
7.1.5.1 Select

This function is mapped to the MMS Read service request directed to the device. Devices are specified
via the control section of the Virtual RTU editor.

When the Server receives an MMS Read service request for an object with a correctly formed Device
object name,

It checks that the object has been instantiated. If not, the request is NAKed (negative MMS Read
response, error =OBJ ECT-NON-EXISTENT, error class =ACCESS).

It then checks the corresponding Virtual RTU to verify that it is accessible for control by the remote
Client. To be accessible for control, the Virtual RTU must have its Control Enable checkbox checked.
If it is not accessible, the request is NAKed (negative MMS Read response, error = OBJ ECT-
ACCESS-DENIED, error class =ACCESS).

If the point is not actually a control point (i.e. does not have control addresses defined for it), the
Server will, on the subsequent Operate request, just update the point's value in the database. If this
is the case, the Server checks that the point is not manually set. If it is manually set, the request is
NAKed (negative MMS Read response, error =OTHER, error class =SERVICE).

If there are no errors, the Server returns a positive MMS Read response. The returned value, which
is treated by the remote Client as a checkback value, is Parameter 2 in the Control or Setpoint
section of the Dataset editor in the Data Exchange section of the SCADA Explorer.

The Server time-limits the selection by starting a timer. The timeout value of the timer is 100
seconds.

7.1.5.2 Operate

This function is mapped to the MMS Write service request directed to the device.

When the Server receives an MMS Write service request for an object with a correctly formed Device
object name,

It checks that the object has been instantiated. If not, the request is NAKed (negative MMS Read
response, error =OBJ ECT-NON-EXISTENT, error class =ACCESS).

It then checks the corresponding Virtual RTU to verify that it is accessible for control by the remote
Client. To be accessible for control, the Virtual RTU must have its Control Enable checkbox checked.
If it is not accessible, the request is NAKed (negative MMS Read response, error = OBJ ECT-
ACCESS-DENIED, error class =ACCESS).

If the Select before operate required checkbox is checked in the Control or Setpoint section of the
Data Exchange Dataset editor, the Server then checks for a previously received Select request for
this point from the same remote Client. If there is no such Select still outstanding, the request is
NAKed (negative MMS Write response, error =OBJ ECT-ACCESS-DENIED, error class =ACCESS).



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-14
If the point is controllable (i.e. has control addresses defined for it), the Server checks that the
command value is either a 0 (open) or 1 (close). If not, the request is NAKed (negative MMS Write
response, error =OTHER, error class =SERVICE).

If the point is not actually a control point, the Server checks that the command value is 0 or 1 for a
two-state device, or 0 - 3 for a four-state device. If not, the request is NAKed (negative MMS Write
response, error =OTHER, error class =SERVICE).

If the point is controllable, the Server forwards the control request to the Windows SCADA control
program and waits for a reply.

The control program checks that the point is not already selected for control. If it is already selected
for control, the request is NAKed to the Server, which causes the Server to NAK the remote Client
(negative MMS Write response, error =OTHER, error class =SERVICE).

The control program then checks that the point is not tagged to inhibit control. If the point is tagged to
inhibit control, the request is NAKed to the Server, which causes the Server to NAK the remote Client
(negative MMS Write response, error =OTHER, error class =SERVICE).

If there is no error so far, the control program forwards the control request to the appropriate scan
task for transmission to the RTU. The control program times both the checkback and the expected
status change.

The scan task performs the control sequence according to the rules of the RTU protocol. This may or
may not involve a Select-Operate sequence with the RTU. Checkback success or failure is
forwarded back to the control program.

If a checkback failure is reported, the control program alarms it and notifies the Server. This causes
the Server to NAK the remote Client (negative MMS Write response, error =OTHER, error class =
SERVICE).

If a checkback success is reported, the control program notifies the Server, which causes the Server
to ACK the remote Client via a positive MMS Write response.

If the point is not actually a control point, the Server just updates the points value in the database
and sets its quality code to normal. It returns a positive MMS Write response to the remote Client.

7.1.5.3 Timeout Action

When the Server times out a remote Clients device selection, it just terminates the selection. No MMS
event notification is performed.

7.1.5.4 Local Reset Action

The Server does not perform any local reset action.

7.1.5.5 Success or Failure Action



Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-15
The remote Client is responsible for determining the success or failure of a control by watching for
expected status changes. On a control failure, the Windows SCADA control program raises an alarm on
the Server system.

The Server does not perform any MMS event notification on either success or failure.

7.2 Operation as Client

This section describes the behavior of the ICCP Server when it is also acting as Client to a remote
Server.

7.2.1 Creation of Data Sets and Transfer Sets


After a successful association has been made, the Client proceeds to create datasets and start transfer
sets at the remote Server.

The Client first issues a Get Data Set Names service request to find out what datasets already exist at
the remote Server.

Then, for each Virtual RTU marked as Input Dataset, the Client:

Obtains a complete list of Data Value identifiers that correspond to the points defined for that Virtual
RTU. All the status, analog and accumulator points defined for the Virtual RTU make up the ICCP
dataset.

At the front of each dataset, the Client inserts the names of the following special transfer set
variables:

Transfer_Set_Name
DSConditions_Detected
Transfer_Set_Time_Stamp

The names of the datasets defined by the Client are:

Domai nName_DSn

where:

DomainName =Domain name from ICCP Client Parameters of Server record
n =Virtual RTU number

If the required dataset does not already exist at the remote Server, the Client issues a Create Data
Set request to create it.

If the dataset already exists at the remote Server, and the Client is just starting up and this is the first
association with the remote Server, the Client first deletes the dataset and then creates it.


If a Create Data Set request is NAKed, the Client marks all of the associated data value points
telemetry failed.


Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-16

Then, for each dataset that was successfully created, the Client attempts to create a transfer set.

The Client issues a Get Next DSTransfer Set Value request to the remote Server.

If this request is NAKed, the Client fails all of the associated data value points.

The Client then obtains the transmission parameters for each dataset from the Virtual RTU and
issues a Start Transfer request to the Server. The request contains:

the name of the dataset

transmission parameters

status =ENABLED

If the transfer set has been successfully started, then the Client issues a Get Dataset Element Values
request to make sure all of the values in the dataset are up to date.

After having performed these functions for all of the RTUs, the Client sits back and waits for things to
happen.

7.2.2 Information Reports

When the Client receives an Information Report from the remote Server, it decodes the data values
according to the transmitted data types defined in the B field of the Telemetry Address.

If the Critical flag of the transmission parameters is True, the Client acknowledges the report as described
in section 7.1.3.5, Transfer Reporting.

In general, the displayed quality (condition) code of a Client point that receives data from a remote Server
is governed by the usual rules in Windows SCADA:

Table 7-2 Windows SCADA Quality Codes
Display Quality Code Meaning
Blank NORMAL Point is being updated normally
M MANUAL SET Point is manually set at the Client
* CALCULATED FROM
MANUALLY SET DATA
Point is manually set or estimated
at the Server
F TELEMETRY FAILED The link to the remote Server is
down, or the point is telemetry
failed at the Server itself (i.e. value
is old)


Note that the quality codes at the Client do reflect manual set and telemetry failed quality codes at the
remote Server.

Specifically, the received ICCP Validity and CurrentSource attributes are mapped to Windows SCADA as
shown in the table below:


Users Guide Operation of ICCP Server
Windows SCADA ICCP
7-17

Table 7-3 ICCP Validity and CurrentSource Processing
Validity Current Source Processing
VALID TELEMETERED Point is updated,
Windows SCADA quality code is set to
NORMAL
VALID CALCULATED Point is updated,
Windows SCADA quality code is set to
CALCULATED FROM MANUALLY SET DATA
VALID ENTERED Point is updated,
Windows SCADA quality code is set to
CALCULATED FROM MANUALLY SET DATA
VALID ESTIMATED Point is updated,
Windows SCADA quality code is set to
CALCULATED FROM MANUALLY SET DATA
HELD any Point is updated,
Windows SCADA quality code is set to
TELEMETRY FAILED
SUSPECT any Point is NOT updated,
Windows SCADA quality code is set to
TELEMETRY FAILED
NOTVALID any Point is NOT updated,
Windows SCADA quality code is set to
TELEMETRY FAILED


The received ICCP NormalSource and NormalValue attributes are ignored.

For analog points, the COV counter contained in data types 7 and 8 are ignored. For status points, the
COV counter contained in data type 4, is ignored.





Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-1






8 ICCP Client Data Entry



































This chapter describes how to use the Windows SCADA Explorer to define database points for use by the
ICCP Client program.

This is not a complete description of Windows SCADA point editing. This presentation is limited to only
those point data fields that are of interest in an ICCP context. For additional information you should refer
to the series of documents described in Table 8-1, especially the Point Database Editing Guide. If you
have other scan tasks installed in your system, you should also consult the Users Guides published for
those scan tasks.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-2

Table 8-1 Windows SCADA Database Documentation
Document
Number

Document Name
DB-400 Database Editing Overview
DB-401 Point Database Editing Guide
DB-402 Alarm Database Editing Guide
DB-403 Calculation Database Editing Guide
DB-404 Historical Database Editing Guide
DB-405 Report Database Editing Guide


The ICCP Client program is modeled on the Windows SCADA scan task program, which is the lowest
level data acquisition unit.

A separate instance of the ICCP Client is activated for each remote ICCP Server member from which
data is received. In other words, each ICCP Client process communicates with only one remote Server.

The function of the Client, in general, is to retrieve point data from its designated Server and to copy the
data into corresponding points in the Clients own database. The Client obtains data by creating
datasets, defining a transfer set for each dataset and then just wait for data from the Server.

For the ICCP Client, a dataset is all the status, analog and accumulator points defined on a RTU.

8.1 Communication Line

In ICCP, each Client must have a communication line defined for it. Attributes of a communication link
are, to varying degrees depending on the protocol, specified via attributes of the links communication
line.

The SCADA Explorer is used to create or modify a communication lines definition. The dialog box that
allows you to do that has several tabs, each of which includes different data. You will normally begin on
the General tab, which is illustrated in.


After creating or changing a
communication line definition, or
editing the telemetry address of any
points on the communication line,
remember to come back to this dialog
to build the scan table.









Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-3

8.1.1 Communication Line Data Fields - General Tab

The key attributes of a Windows SCADA communication line for ICCP are as follows:

Figure 8-1 Communication Line Editor - General Tab



Protocol

This is the name that identifies the protocol to be used on this communication line. It is the name of
the scan task that will be used. For the ICCP Client, select the name ICCP.

Auto Start

Set this flag if you want the scan task to start automatically when the SCADA system starts up,
either initially, or as the result of a failover.

Associated Points

This area includes fields for the Status point (which is required) and for five other points. The
Status point is the only associated point used by the ICCP Client at this time. Please leave all other
associated point fields blank. The Status point must already exist in the database.

To create the Status point you could abandon the editing of this communication line, and go to the
desired station in the SCADA Explorer. But, you may prefer to temporarily start a second copy of


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-4
SCADA Explorer, and use it to create the Status point. Quit the second SCADA Explorer as soon
as you are done with it.

The Status point is not telemetered; its value will be written by the Client. Therefore, it will not need
a telemetry address. Since it is special in this regard, you should consider designating a separate
User Type for this kind of point.

Status Point

The first Associated Point is not optional, and must be a status point. This point will be used by the
Client to indicate the Up or Down status of the communication line.

The Client will set the point to its normal state when a connection has been established to the
Server and to the abnormal state when it is disconnected.


Polling Parameters

For RTU protocols, various timers are specified to control the rate of certain events. In ICCP,
none of these polling parameters are used. Please enter zero for all polling parameters.

Configuration Switches

This field allows you to specify certain command line switches to control the behavior of the
Client. The switches supported by the ICCP Client are described below. Specify each switch you
need by entering /name=value in this field. You do not need to add a space or other punctuation
between switches.

/Log

The Log option specifies the Client is to log communications to a file. The file will be created in the
folder specified when Windows SCADA was installed. The default folder name is C:\Program
Files\Quindar\ScadaServer. The file name is comprised of the protocol name, the communication
line ID and the current date. For example, a file name from communication line ID 1 on J uly 31,
2007 would be ICCP1-2007-07-31.log.

Care should be taken when using this option and should only be enabled for short periods of time
as the file will continue to grow and consume all the free space on the disk.

The valid values for this option are as follows:

Default Log all communication
Debug Log all communication and enable MMS logging

/DeleteDataset

The DeleteDataset option specifies how the Client handles persistence of datasets over
reconnections. If this option is set to zero or does not exist, the Client on a reconnection will re-use
the dataset. If this option is set to one, the Client on a reconnection will delete the dataset and re-
create it.




Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-5
8.1.2 Communication Line Data FieldsChannel Tab

Figure 8-2 Communication Line Editor - Channel Tab



Long Response Timeout

In ICCP, this is used to specify the time allowed, in milliseconds, for a read response. If this time
expires before a read response for data values is received, the points requested are marked
telemetry failed. Typically 10,000 milliseconds.

Network

This specifies the type of communication network to be used. ICCP relies on the TCP/IP network.
Select TCP/IP.

Mode

This is the mode of operation for the communication line. For the ICCP Client, choose Poll.

No other fields on the Channel tab are used by the ICCP Client. Please leave them blank.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-6

8.1.3 Communication Line Data FieldsICCP Tab

Figure 8-3 Communication Line Editor - ICCP Tab


Bilateral Table ID

This is a text string that represents the version of the Bilateral Agreement. Valid characters are
alphanumeric, $ and underscores, but not spaces. The maximum length is 32 characters.

Domain Name

This is the name of the Domain that Domain-specific entities will be created in. The Server creates
the Domain or working space then creates and instantiates each Domain-specific variable. The
Client can access these variables and datasets in this Domain. Valid characters are alphanumeric,
$ and underscore, but not spaces and must begin with an alphabetic character. The maximum
length is 32 characters.

Care should be taken when deciding on the Domain name, as the Domain name will be included in
information reports for EVERY Domain-specific point. Survalent recommends short Domain names
up to 6 characters in length be selected.

Typically, this takes one of two formats:

1. The acronym of your (Clients) companys name. For example, CMPA.
2. The combination of both companys acronyms with direction of dataflow. For example,
CMPB_CMPA with data flowing from Server Company B to Client Company A.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-7

Max PDU Size

This is the maximum Program Data Unit or packet size the Client will send or receive. The packet
size is negotiated with the remote Server and the lesser of this size or the Servers size is used.
Typically 8000 bytes or more.

Life Check Interval

This is the interval in seconds that the Client checks the health of the connection to the Server.
This is useful to determine when a Server may not be responding or to expedite a lost TCP/IP
socket connection.

Once an association has been established, every interval the Client will issue an Identify request to
the Server. The Server must respond to this request within the same amount of time or else the
Client will abort the association. If the interval is zero, the Client will not perform a health check.
Typical interval is 20 to 30 seconds.

Connection Interval

This specifies the time delay between re-connect attempts after the first Connection Retry
attempts. Typical interval is 5 seconds.

Connection Retry

This specifies the number of immediate re-connect attempts to perform on loss of association. If an
association is still not established after this number of attempts, the Client continues to try to
connect, but it executes the Connection Interval delay between each attempt. If the Server has
redundant nodes, the Client switches target nodes after each Connection Retry attempts. Typical
retry count is 3.

Version

This is the version of ICCP that the Client is to support. The Client and the remote Server must
agree on which ICCP version is to be used. Select the version from the drop down list.

Local Client Nodes

The Local Client Nodes are the AR Names that the Client is to use to register and identify itself to
the Remote Server. The selectable AR Names in the drop down list are those ICCP Nodes that
have been defined as local. In a single master system you only need to select an AR Name for A
(HOSTA). In a dual redundant master system you need to select AR Names for A (HOSTA) and B
(HOSTB). In a quad redundant master system you need to select AR Names for A, B, C & D. The
same AR Name can be selected for all entries. See section 6.10 ICCP Nodes.

Remote Server Nodes

The Remote Server Nodes are the AR Names that the Client will attempt to connect to. The
selectable AR Names in the drop down list are those ICCP Nodes that have been defined as
remote. At startup the Client will attempt to connect to the Server specified in A. If the Client fails to
connect to A, it will then try to connect to B. If the Client fails to connect to B, it will then try to
connect to C. If the Client fails to connect to C, it will then try to connect to D. The Client will
continue cycling through all the Servers until a connection is made. See section 6.10, ICCP Nodes.



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-8
8.2 RTU

ICCP data value points are grouped into datasets. In a Windows SCADA ICCP Client, the data value
points are addressed in terms of RTUs. All status, analog and accumulator points contained within the
RTU will make up the ICCP dataset.

8.2.1 RTU Data Fields - General

Figure 8-4 RTU Editor - General Tab



The key attributes of a Windows SCADA RTU for ICCP are as follows:

Communication Line

This is the field where you specify which of the existing ICCP communication lines is used to
communicate with this RTU.

Status Point

This is the name of a status point that exists in the database. This point will be used by the Client to
indicate the communication status of the RTU. You must define this point, it is not optional. The
Status point must already exist in the database.

To create the Status point you could abandon the editing of this communication line, and go to the
desired station in the SCADA Explorer. But, you may prefer to temporarily start a second copy of
SCADA Explorer, and use it to create the Status point. Quit the second SCADA Explorer as soon
as you are done with it.

Network

The network type on the RTU is not used in ICCP, select Use ComLine.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-9

RTU Addr.

In RTU based protocols, this is the station address of the RTU. In ICCP, even though the concept
of an RTU doesnt exist, a station address is required. Simply start with address 1 and increment
the address for each RTU added to the communication line.

No other fields on the General tab are used for ICCP. Please leave all other fields blank or set to 0.

8.2.2 ICCP: Edit Options

Clicking on the ICCP: Edit Options button displays the ICCP RTU Option editor. See Figure 8-5. This
editor allows you to specify the transmission parameters to use for this ICCP dataset (all the status,
analog and accumulator points defined on this RTU). The parameters defined here are sent to the remote
Server to indicate under what conditions and how often to send the points to the Client. You may select
all the options that apply.

Figure 8-5 ICCP RTU Options



Typical transmission parameters configured are Interval, Integrity and Report By Exception, as seen in
Figure 8-5. The Server will check for changes every 4 seconds and only send those points that have
changed, then every 60 seconds the Server will send all the points.

Interval

This is the time interval in seconds for the Remote Server to send periodic reports. Used if the
Interval checkbox is enabled. Typical interval is 4 seconds.

Integrity

This is the time interval, in seconds, that the Remote Server is to send all-data reports. Used if
the Integrity checkbox is enabled. Typical interval is 60 seconds.



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-10
Time Limit For Execution

This is the time limit within which the Remote Server must report. It is supported by the Client in
the sense that it is included in the transfer set requests made to the Remote Server, but the
Client does not check whether transfer reports are late. Not typically used, normally set to 0.

Buffer Time

This is the time, in seconds that the Remote Server is to use for buffering Object Change
conditions. If a change is detected, the Remote Server will delay this amount of time before
reporting the change. Not typically used, normally set to 0.

Event Condition Requested

This is a code describing an external event that will trigger the Remote Server to send a report.
Used if the Other External Event checkbox is enabled. Not typically used, normally set to 0.

Block Data

If this checkbox is enabled, transfer reports are to be blocked (i.e. use a mutually agreed block
data reporting format). Not supported by the Client in this implementation of Windows SCADA
ICCP, leave this checkbox disabled.

Critical

If this checkbox is enabled, the Client will send an acknowledgement to the Remote Server for
each transfer report received. Not typically used, normally unchecked.

Report By Exception

If this checkbox is enabled, the Remote Server is to send only exceptions (points that have
changed value or quality), in its transfer reports. However, in the case of integrity timeout, all-data
will be included in the transfer report. Typically enabled to reduce the data packet size.

Object Change

If this checkbox is enabled, the Remote Server is to send transfer reports when ANY object in the
dataset changes in either value or quality. Actual transmission is delayed by the Buffer Time
delay, if specified. The values transmitted are those that are available at the end of the buffer
time delay.

If Object Change is enabled, the Remote Server will constantly scan the dataset for changes.
This differs from Interval reports that only scan for changes once at the end of each time period.
This can create more overhead on the Remote Server and/or more network packets being
generated but also allows for instantaneous reporting of changes. Not typically enabled.

Operator Request

If this checkbox is enabled, the Remote Server is to send transfer reports if requested by the
operator. Not typically enabled.



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-11
Other External Event

If this checkbox is enabled, the Remote Server is to send transfer reports whenever some external
event occurs. Not typically enabled.

All Changes

The All Changes option is available for selection when ICCP version 2000-8 is selected on the
Communication Line. If this checkbox is enabled, the Remote Server is to send ALL state changes
for status points not just the current state. When this option is enabled, Report By Exception,
Object Change and Buffer Time must also be enabled and Interval must be disabled. Integrity is
optional but recommended. See Figure 8-6 for an example.

Figure 8-6 All Changes Settings




Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-12

8.3 Analog Point

The key attributes of a Windows SCADA analog data value point that receives its values from an ICCP
Server are as follows:

Figure 8-7 Analog Point Editor - General Tab


Device Class

Select Analog to indicate this is an input point.

Telemetry Address

The telemetry address specifies the type and location of the point within the RTU. It is made up of
the fields labeled A, B, C, D, External Name and Type.

A For RTU based protocols, this is usually the point number of the point within the analog
or accumulator section of the RTU. ICCP requires a unique point number for each analog
or accumulator point. Simply start at 1 or 0 for the first point and increment the point
number for each point added.

B This must be set to the sum of two components:

An Analog Base value, which specifies whether the value comes from the Analog
section or the Accumulator section of the RTU, plus

A Data Type Code, which specifies the transmitted data type.



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-13
Allowed Base and Code values are listed in Table 8-2 Analog Base Codes and Table
8-3 Analog Data Value Types

For example, B =103 specifies an analog point of data type Data_RealQ (floating point
with quality flags). The most common data type is Data_RealQ.

C This is not used by ICCP, set to zero.

D This is not used by ICCP, set to zero.

Table 8-2 Analog Base Codes
Base Point Type
100 Analog
200 Accumulator

Table 8-3 Analog Data Value Types
Data Type Code ICCP Data Type Comment
1 Data_Real
2 Data_Discrete
3 Data_RealQ
4 Data_DiscreteQ
5 Data_RealQTimeTag
6 Data_DiscreteQTimeTag
7 Data_RealExtended
8 Data_DiscreteExtended
9 Data_RealQTimeTagExtended ICCP Version 2000-8 only
10 Data_DiscreteQTimeTagExtended ICCP Version 2000-8 only


External Name

This is the ICCP object name of the analog or accumulator point on the Server system. Valid
characters are alphanumeric, $ and underscore, but not spaces and must begin with an alphabetic
character. The maximum length is 32 characters.

(External Name) Type

This is the scope of the analog or accumulator point on the Server system. The most common
scope is VMD or 1.

Table 8-4 ICCP Scope
Type Scope
0 Domain
1 VMD



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-14
Format Code

This field specifies how the Client should process the input data from the Server. You have a
choice of two format codes. They specify whether received values are to be scaled or not. See
Scale Factor and Offset below.

Below, the formats are referred to by code (ID) number, but you will choose them from a list of
user-defined names. If you are in doubt about which format code is which, look at their definitions
using SCADA Explorer. If you have only one scan task on your system, the format can be given
names that describe their function. But if multiple scan tasks are being used, they may use the
same format number for different purposes, so you may not be able to come up with a better name.

Table 8-5 Analog Format Codes
Format Code Meaning
1 Scale by applying scale factor and offset
2 Dont scale


Scale Factor and Offset

The value transmitted from the Server is already scaled in the Servers engineering units. Further
scaling may be defined at the Client, if desired, by entering these fields. The re-scaling, if defined,
would consist of multiplying the received value by the Scale Factor and adding the Offset.

If you specify a format code of 2, the Client does not apply any scaling on the received value. In
this case, the scale factor and offset, if they are defined, are ignored.

One reason for defining a scale factor and offset on a point coming in from a remote ICCP Server
but specifying format code 2 is if the points value is to be forwarded on to another Client using an
RTU protocol (such as DNP). In this case, the scale factor can be used by your RTU protocol
server to unscale the points engineering value into an integer value that will fit into the message
format of the RTU protocol.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-15

8.4 Status Point

The key attributes of a Windows SCADA status data value point that receives its values from an ICCP
Server are as follows:

Figure 8-8 Status Point Editor - Telemetry Tab



Telemetry Address

The telemetry address specifies the type and location of the point within the RTU. It is made up of
the fields labeled A, B, C, D, External Name and Type.

A For RTU based protocols, this is usually the point number of the point within the status
section of the RTU. ICCP requires a unique point number for each status point. Simply
start at 1 for the first point and increment the point number for each point added.

B This must be set to the sum of two components:

a Base value, which must be set to 300, plus

a Code, which specifies the transmitted data type

Allowed Base and Code values are listed in Table 8-6 Status Base Codes and Table
8-7 Status Data Value Types.



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-16
For example, B =302 specifies a status point of data type Data_StateQ (state with quality
flags). The most common data type is Data_StateQ.

C This is not used by ICCP, set to zero.

D This is not used by ICCP, set to zero.

Table 8-6 Status Base Codes
Base Point Type
300 Status

Table 8-7 Status Data Value Types
Data Type Code ICCP Data Type Comment
1 Data_State
2 Data_StateQ
3 Data_StateQTimeTag
4 Data_StateExtended
5 Data_StateQTimeTagExtended ICCP Version 2000-8 only


External Name

This is the Data Value object name of the status point on the Server system. Valid characters are
alphanumeric, $ and underscore, but not spaces and must begin with an alphabetic character. The
maximum length is 32 characters.

(External Name) Type

This is the scope of the point on the Server system. The most common scope is VMD or 1.

Table 8-8 ICCP Scope
Type Scope
0 Domain
1 VMD

Format Code

The formats are referred to by code (ID) number, but you will choose them from a list of user
defined names. If you are in doubt about which format code is which, look at their definitions using
SCADA Explorer. If you have only one scan task on your system, the format can be given names
that describe their function. But if multiple scan tasks are being used, they may use the same
format number for different purposes, so you may not be able to come up with a better name.

This must be set to the value 1.

A Windows SCADA status point also has two control addresses, one for open and one for close.
Entering valid control addresses, turns the point into a combined status indication and control point.
Definition of the control addresses is described in the next paragraph.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-17

8.5 Control Point - Command

An ICCP Command in Windows SCADA is a status point that has valid control addresses defined.

Figure 8-9 Status Point Editor - Telemetry Tab (Control Section)



Control Address

The control address specifies the type and location of the point within the RTU. It is made up of the
fields labeled A, B, C, D, External Name and Type.

Two control addresses may be defined, one for an open command and one for a close command.
You must tick the checkbox next to any control address you intend to use.

A This is the expected checkback value the Server will return if using Select Before
Operate commands. See the C field.

B This must be set to the value 400.

C This is the Select Before Operate flag as required by the Server:

0 =Issue Operate command without issuing Select command
1 =Issue Select command, validate checkback value (A field), issue Operate command

D This is the command value (0-255). Typically 0 for trip and 1 for close.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-18

(Control) External Name

This is the ICCP object name of the control point on the Server system. Valid characters are
alphanumeric, $ and underscore, but not spaces and must begin with an alphabetic character. The
maximum length is 32 characters. The same name will be used for both the open and close
commands.

(Control External Name) Type

This is the scope of the control point on the Server system. The most common scope is VMD or 1.

Table 8-9 ICCP Scope
Type Scope
0 Domain
1 VMD


The Control Interval is not used by the ICCP Client. If a control interval is defined at the Server, that
value will be used at the Server.


Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-19

8.6 Control Point - Setpoints

An ICCP Setpoint in Windows SCADA is an analog point with a Device Class of Setpoint.

Figure 8-10 Analog Point Editor - General Tab (Setpoint)


Telemetry Address

For a setpoint the telemetry address is used as a control address. The telemetry address specifies
the type and location of the point within the RTU. It is made up of the fields labeled A, B, C, D,
External Name and Type.

A For RTU based protocols, this is usually the point number of the point within the setpoint
section of the RTU. ICCP requires a unique point number for each setpoint. Simply start
at 0 or 1 for the first point and increment the point number for each point added.

B This must be set to the sum of two components:

a Base value, which must be set to 400, plus

a Code, which specifies the transmitted data type



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-20
Allowed Base and Code values are listed in the tables below:

Table 8-10 Control Base Codes
Base Point Type
400 Control

Table 8-11 Setpoint Data Value Types
Code Setpoint Type
1 Real
2 Discrete

For example, B =401 specifies a setpoint of data type Real (floating poibnt). The most
common data type is Real.

C This is the Select Before Operate flag as required by the Server:

0 =Issue Operate command without issuing Select command
1 =Issue Select command, validate checkback value (D field), issue Operate command

D This is the expected checkback value the Server returns if using Select Before Operate
commands. See the C field.

External Name

This is the ICCP object name of the setpoint on the Server system. Valid characters are
alphanumeric, $ and underscore, but not spaces and must begin with an alphabetic character. The
maximum length is 32 characters.

(External Name) Type

This is the scope of the setpoint on the Server system. The most common scope is VMD or 1.

Table 8-12 ICCP Scope
Type Scope
0 Domain
1 VMD

Format Code

The formats are referred to by code (ID) number, but you will choose them from a list of user
defined names. If you are in doubt about which format code is which, look at their definitions using
SCADA Explorer. If you have only one scan task on your system, the format can be given names
that describe their function. But if multiple scan tasks are being used, they may use the same
format number for different purposes, so you may not be able to come up with a better name.

This must be set to the value 1.



Users Guide ICCP Client Data Entry
Windows SCADA ICCP
8-21
Scale Factor and Offset

If these are defined, the Client unscales the setpoint value before sending it to the Server. The
unscaling consists of subtracting the Offset and then dividing by the Scale Factor.





Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-1




9 Operation of ICCP Client Scan Task
















The function of the ICCP Client scan task is summarized as follows:

Create an association with a Server on the target node.

For each RTU, define the corresponding dataset at the Server, and then start the transfer set

Process received data (information reports) from the Server.

Forward operator control requests to the Server.

9.1 Initialization

At startup, the Client:

Reads the Scan Table for the communication line to obtain a list of the RTUs and all the points on
each RTU.

Obtains the local AR Name and the target Server AR Name(s) and the assigned Domain name from
the communication line.

9.2 Association

After initialization, the Client issues an MMS Initiate service to the target Server system.

The initiate request contains the following parameters:



Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-2
Table 9-1 Initiate Request Parameters
Initiate Request Parameter Value
Local Detail Calling Max PDU Size
Proposed Max Serv Outstanding Calling 5
Proposed Max Serv Outstanding Called 5
Proposed Data Structure Nexting Level 4
Init Request Detail see below


The Client obtains the proposed maximum PDU size from Max PDU Size of the Communication Line.

The Init Request Detail parameter consists of three structures:

Proposed MMS Version Number

=supplied by the MMS provider

Proposed Parameter CBB

=bitstring representing the table below:

Table 9-2 Proposed Parameter CBB
Parameter Supported
Data of type Array Yes
Data of type Structure Yes
Named Variables Yes
Alternate access No
Address of variables No
Scattered access No
Third party operations No
Variable lists Yes
Floating point Yes
Ack event condition No
Evaluation interval No


Services Supported Calling

=bitstring formed to represent the Client column of the MMS Services Supported Table in
chapter 11 MMS Services Supported.

If the Client receives a negative MMS Initiate response, the Client performs N retries, where N is given by
its communication lines Connection Retry (see section 8.1.3, Communication Line Data FieldsICCP).
After N retries, the Client continues to attempt to connect, but executes a delay between each attempt.
The delay time is specified by the value of the communication line Connection Interval. If there are
multiple Server nodes, the Client switches target AR Names after each delay. The Client continues its
connection attempts indefinitely.



Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-3
When the Client receives a positive MMS Initiate response from the Server, it handles the returned
parameters as follows:

Local Detail Called

This is the negotiated maximum PDU size returned by the Server. The Client will use the lesser of
the value returned by the Server and the one it had proposed.

Negotiated Max Serv Outstanding Calling

The Client will use the lesser of the value returned by the Server and the one it had proposed.

Negotiated Max Serv Outstanding Called

The Client will use the lesser of the value returned by the Server and the one it had proposed.

Negotiated Data Structure Nesting Level

The Client will use the lesser of the value returned by the Server and the one it had proposed.

Init Response Detail

In the present implementation, this is ignored by the Client.

The Client then uses an MMS Read service to read the following variables from the Server:

Bilateral_Table_ID

TASE2_Version

Supported_Features

The Client gets the Bilateral Table ID from the communication line (see section 8.1.3, Communication
Line Data FieldsICCP). If the Bilateral Table ID from the Server does not match, the Client issues an
MMS Abort service request and exits.

In the present implementation, the Clients TASE2_Version can be configured to be:

Major version number =1996
Minor version number =8
or
Major version number =2000
Minor version number =8

If the Client receives from the Server an ICCP version that does not exactly match its own, the Client
issues an MMS Abort service request and exits.

The Supported_Features variable returned by the Server (see section 7.1.1.1, Associate) is only used to
determine if Block 5, Device control operations is supported by the Server. The Client does not forward
requests to a Server that does not support them.


Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-4

9.3 Creation of Data Sets and Transfer Sets

After a successful association has been made, the Client proceeds to create datasets and start transfer
sets at the Server.

The Client first issues a Get Data Set Names service request to find out what datasets already exist at
the Server.

Then, for each RTU defined for this communication line, the Client:

Obtains a complete list of Data Value identifiers that correspond to the points defined in the Scan
Table for that RTU. All the status, analog and accumulator points defined for the RTU make up the
ICCP dataset.

At the front of each dataset, the Client inserts the names of the following special transfer set
variables:

Transfer_Set_Name
DSConditions_Detected
Transfer_Set_Time_Stamp

The names of the datasets defined by the Client are:

Domai nName_DSn

where:

DomainName =Name of the Domain-specific work space
n =RTU number

If the required dataset does not already exist at the Server, the Client issues a Create Data Set
request to create it.

If the dataset already exists at the Server, and the Client is just starting up and this is the first
association with the Server, the Client first deletes the dataset and then creates it.

If the /DeleteDataset option is set 0 or does not exist and the dataset already exists at the Server,
and this is not the first association with the Server, the Client will just use the existing dataset
definitions at the Server.

If the /DeleteDataset option is set to 1 and the dataset already exists at the Server regardless if this is
the first association with the Server, the Client always deletes the dataset and then creates it.

If a Create Data Set request is NAKed, the Client marks all of the associated data value points
telemetry failed.

Then, for each dataset that was successfully created, and for which the RTU point is not manually set
to DOWN, the Client attempts to create a transfer set.

The Client issues a Get Next DSTransfer Set Value request to the Server.



Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-5
If this request is NAKed, the Client fails all of the associated data value points.

The Client then obtains the transmission parameters for each dataset from the ICCP Options editor
on the RTU and issues a Start Transfer request to the Server. The request contains:

the name of the dataset

transmission parameters

status =ENABLED

If the RTU is manually shut down, the Client does not issue a Start Transfer request. It just marks all
of the datasets points to telemetry failed.

If the transfer set has been successfully started, then the Client issues a Get Dataset Element Values
request to make sure all of the values in the dataset are up to date.

After having performed these functions for all of the RTUs, the Client sits back and waits for things to
happen.

Processing of Information Reports from the Server is described in section 9.4, Information Reports.

Processing of control requests is described in section 9.5, Device Control.

Processing of deactivations and reactivations of points, RTUs and communication links by the operators
is described in sections 9.6 to 9.8.

If the Client receives a Kill request from the SCADA Explorer, the Client issues a Conclude request to
the Server and then exits.

9.4 Information Reports

When the Client receives an Information Report from the Server, it decodes the data values according to
the transmitted data types defined in the B field of the Telemetry Address.

If the Critical flag of the transmission parameters is True, the Client acknowledges the report as described
in section 7.1.3.5, Transfer Reporting.

In general, the displayed quality (condition) code of a Client point that receives data from a Server is
governed by the usual rules in Windows SCADA:

Table 9-3 Windows SCADA Quality Codes
Display Quality Code Meaning
Blank NORMAL Point is being updated normally
M MANUAL SET Point is manually set at the Client
* CALCULATED FROM
MANUALLY SET DATA
Point is manually set or estimated
at the Server
F TELEMETRY FAILED The link to the Server is down, or
the point is telemetry failed at the
Server itself (i.e. value is old)


Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-6


Note that the quality codes at the Client do reflect manual set and telemetry failed quality codes at the
Server.

Specifically, the received ICCP Validity and CurrentSource attributes are mapped to Windows SCADA as
shown in the table below:

Table 9-4 ICCP Validity and CurrentSource Processing
Validity Current Source Processing
VALID TELEMETERED Point is updated,
Windows SCADA quality code is set to
NORMAL
VALID CALCULATED Point is updated,
Windows SCADA quality code is set to
CALCULATED FROM MANUALLY SET DATA
VALID ENTERED Point is updated,
Windows SCADA quality code is set to
CALCULATED FROM MANUALLY SET DATA
VALID ESTIMATED Point is updated,
Windows SCADA quality code is set to
CALCULATED FROM MANUALLY SET DATA
HELD any Point is updated,
Windows SCADA quality code is set to
TELEMETRY FAILED
SUSPECT any Point is NOT updated,
Windows SCADA quality code is set to
TELEMETRY FAILED
NOTVALID any Point is NOT updated,
Windows SCADA quality code is set to
TELEMETRY FAILED


The received ICCP NormalSource and NormalValue attributes are ignored.

For analog points, the COV counter contained in data types 7 and 8 are ignored. For status points, the
COV counter contained in data type 4, is ignored.

9.5 Device Control

On a Windows SCADA Client system, when an operator or an application program issues a control, the
request first goes to a control program. This program performs a number of checks on the request,
including a check for control inhibiting tags local to the Client. If all checks pass, the request is forwarded
to the appropriate ICCP Client.



Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-7
On a digital Open/Close-Execute control, a digital output request is sent to the Client. On a setpoint
control, the Client receives an analog output request.

On reception of either of these requests, the Windows SCADA ICCP Client performs the following:

Obtains the Data Value object name from the Control External Name field of the status point.

If Select before operate is required (C part of the point's control address =1), then the Client issues
a Select request to the Server. This consists of an MMS Read request directed to the Device object
whose name was obtained above.

This is where the Server verifies the existence and accessibility of the specified device by this Client.

If the Server returns a negative MMS Read response, the Client in turn returns a checkback failure
message to the control program, and as far as the Client is concerned, the operation is terminated.

If the Server returns a positive MMS Read response, the returned value is supposed to be a
checkback value. The Client expects the returned checkback value to be an integer value equal to
the A part of the points control address.

If the returned checkback value does not match, the Client returns a checkback failure message to
the control program, and the operation is terminated.

If the returned checkback value does match, the Client issues an Operate request to the Server. This
consists of an MMS Write service request directed to the device object.

This is where:

the Server again verifies the existence and accessibility of the specified device by this Client,
and if interlocked, checks that the point was first Selected, and then forwards the request to
the control program (at the Server)

the control program at the Server checks for control inhibiting tags, and forwards the control
request to the Client handling the physical RTU at the Server

the Client handling the physical RTU at the Server executes the control, and returns the
execute checkback result to the control program at the Server

the control program at the Server forwards the execute checkback result to the Server
program

depending on the checkback result, the Server sends either a positive or negative MMS Write
response back to the Client.

If a negative MMS Write response is received, the Client returns a checkback failure
message to the control program, and the operation is terminated.

If a positive MMS Write response is received, the Client returns a checkback success
message to the control program, and as far as the Client is concerned, the operation is
terminated. If it was a digital control, the control program at the Client now starts a timer to
check for the expected status change.



Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-8
If Select before operate is not required (C part of the points control address =0), then the Client
skips the Select request and just issues an Operate request. The reply to the Operate is handled in
the same way as for Select before operate controls.


Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-9

9.6 Deactivation and Reactivation of Points

Deactivate Point

The operator at a Client can deactivate an individual data value point that receives its values from a
Server by manually setting the point. The point will have its quality code changed to Manually Set and
will have an M displayed beside its value. Its value will no longer be updated because the Client will
discard any new values it receives from the Server for this point.

Reactivate Point

You can reactivate the point by performing an Activate function on the point. If the RTU status point is
UP, the Client issues a Get Data Value request to the Server and processes the received data as for an
information report.

If you reactivate a point that was not deactivated, the Client issues a Get Data Value request anyway.
This provides a mechanism for the operator to request a point update at any time.

If you reactivate a point for which the RTU is DOWN, the Client will not send any request to the Server.

9.7 Deactivation and Reactivation of RTUs

Deactivate RTU

The operator at a Client can deactivate reception of an entire RTU by manually setting the RTU status
point to DOWN. This causes the Client to issue a Stop Transfer request to the Server for the dataset. All
the points on the RTU will be marked Telemetry Failed and have an F displayed beside them.

Reactivate RTU

You can reactivate the RTU by performing an Activate function on the RTU status point. The Client
issues a Get Next DSTransfer Set Value request to the Server, followed by a Start Transfer request. The
Client then sets the RTU status point's value to UP. When the data values are received, the Telemetry
Failed quality codes of the data value points will revert to NORMAL (if they are not HELD or SUSPECT at
the Server).

If you reactivate a RTU status point that is already UP, the Client does not restart the transfer sets. It just
issues a Get Data Set Element Values request to the Server and processes the received data as for
information reports. This provides a mechanism for the operator to request a complete RTU update at
any time.

9.8 Deactivation and Reactivation of Communication Lines

Deactivate Communication Line

The operator at a Client can deactivate the link to the Server by manually setting the communication line
status point to DOWN. This causes the Client to issue a Conclude request to the Server. All RTUs will


Users Guide Operation of ICCP Client Scan Task
Windows SCADA ICCP
9-10
be set to DOWN and all data value points will be marked Telemetry Failed and have an F displayed
beside them.

The Client will not attempt to reconnect to the Server until the operator reactivates the link (see next
paragraph).

Reactivate Communication Line

You can reactivate the link by performing an Activate function on the communication line status point.
The Client re-establishes the link by:

Reconnect i ng t o t he Ser ver
For each RTU t hat i s not manual l y set t o DOWN:
Rest ar t t r ansf er set
Set RTU t o UP
End

If you activate a communication line status point that is already UP, the Client does not do anything.





Users Guide ICCP Conformance Summary
Windows SCADA ICCP
10-1




10 ICCP Conformance Summary




























In the following tables, an X means the function is implemented, a - means the function is not
implemented.

The function implementations in the tables below are specified in terms of both Request and Indication:

If there is an X in the Request column of a function, it means that the program issues MMS requests
to cause the function to be executed by the other program

If there is an X in the Indication column of a function, it means that the program is capable of
receiving and honoring requests to execute the function

Not surprisingly, on the Client side, most (but not all) of the Xs are in the Request column, while on the
Server side, most of the Xs are in the Indication column.



Users Guide ICCP Conformance Summary
Windows SCADA ICCP
10-2
10.1 BLOCK 1 - Basic Services

Table 10-1 Association Control
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
X - X X Initiate
X X X X Conclude
X X X X Abort


Table 10-2 Data Value Objects
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
X - X X Get Data Value
- - - X Set Data Value
- - - X Get Data Value
Names
- - - X Get Data Value Type



Table 10-3 Data Set Objects
Client
Request
Client
Indication
Server
Request
SERVER
Ind
Function
X - X X Create Data Set
X - X X Delete Data Set
X - X X Get Data Set Element Values
- - - X Set Data Set Element Values
X - X X Get Data Set Names
- - - X Get Data Set Element Names



Table 10-4 Transfer Set Objects
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
X - X X Start Transfer
X - X X Stop Transfer
- X X X Transfer Condition Monitoring
- IntervalTimeout
- X X X Transfer Condition Monitoring
- OperatorRequest




Users Guide ICCP Conformance Summary
Windows SCADA ICCP
10-3

Table 10-5 Next Transfer Set Object
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
X - X X Get Next DSTransfer Set Value


10.2 BLOCK 2 - Extended Data Set Condition Monitoring


Table 10-6 Extended Data Set Condition Monitoring
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- X X X Transfer Condition Monitoring
- ObjectChange
- X X X Transfer Condition Monitoring
- IntegrityTimeout


10.3 BLOCK 3 - Blocked Transfers


Table 10-7 Blocked Transfers
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Transfer Reporting with blockdata


10.4 BLOCK 4 - Operator Stations


Table 10-8 Operator Stations
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Output




Users Guide ICCP Conformance Summary
Windows SCADA ICCP
10-4
10.5 BLOCK 5 - Device Control


Table 10-9 Device Objects
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
X - X X Select
X - X X Operate
- - - X Timeout
- - - - Local
Reset
- - - - Failure


10.6 BLOCK 6 - Programs


Table 10-10 Program Objects
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Start
- - - - Stop
- - - - Resume
- - - - Reset
- - - - Kill
- - - - GetProgramAttributes


10.7 BLOCK 7 - Events


Table 10-11 Device Objects
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Success
- - - - Failure



Table 10-12 Event Condition Objects
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Event Notification


Users Guide ICCP Conformance Summary
Windows SCADA ICCP
10-5

Table 10-13 Event Enrollment Objects
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Create Event Enrollment
- - - - Delete Event Enrollment
- - - - Get Event Enrollment Attributes


10.8 BLOCK 8 - Accounts


Table 10-14 Accounts
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Interchange Schedule objects
- - - - Accounting Information objects
- - - - Transfer Account objects


10.9 BLOCK 9 - Time Series


Table 10-15 Time Series
Client
Request
Client
Indication
Server
Request
Server
Indication
Function
- - - - Transfer Reporting of Time Series




Users Guide MMS Services Supported
Windows SCADA ICCP
11-1






11 MMS Services Supported
































The table given below indicates the MMS services that are supported by the Windows SCADA ICCP
Client (column C) and Server (column S).

The MMS-provider used in the Windows SCADA ICCP supports all of the MMS services listed below.
What the table represents is the intersection of the support by the MMS-provider and that of the MMS-
user (i.e. the Client and Server programs).

As described in paragraph 8.2.4.3 of ISO/IEC 9506-1: 1990(E), support for a confirmed service is defined
as the ability to receive an indication primitive and properly execute the service procedure defined for the
responder role. Support for an unconfirmed service is defined as the ability to accept an indication
primitive and to pass the parameters to the service interface.




Users Guide MMS Services Supported
Windows SCADA ICCP
11-2
In the tables below, an X means that the service is supported, a - means that it is not supported.


Client Server Code MMS Service
- - 0 Status
- X 1 GetNameList
X X 2 Identify
- - 3 Rename
- X 4 Read
- X 5 Write
- - 6 GetVariableAccessAttributes
- - 7 DefineNamedVariable
- - 8 DefineScatteredAccess
- - 9 GetScatteredAccessAttributes



Client Server Code MMS Service
- - 10 DeleteVariableAccess
- X 11 DefineNamedVariableList
- X 12 GetNamedVariableListAttributes
- X 13 DeleteNamedVariableList
- - 14 DefineNamedType
- - 15 GetNamedTypeAttributes
- - 16 DeleteNamedType
- - 17 Input
- X 18 Output
- - 19 TakeControl



Client Server Code MMS Service
- - 20 RelinquishControl
- - 21 DefineSemaphore
- - 22 DeleteSemaphore
- - 23 ReportSemaphoreStatus
- - 24 ReportPoolSemaphoreStatus
- - 25 ReportSemaphoreEntryStatus
- - 26 InitiateDownloadSequence
- - 27 DownloadSegment
- - 28 TerminateDownloadSequence
- - 29 InitiateUploadSequence



Users Guide MMS Services Supported
Windows SCADA ICCP
11-3

Client Server Code MMS Service
- - 30 UploadSegment
- - 31 TerminateUploadSequence
- - 32 RequestDomainDownload
- - 33 RequestDomainUpload
- - 34 LoadDomainContent
- - 35 StoreDomainContent
- - 36 DeleteDomain
- - 37 GetDomainAttributes
- - 38 CreateProgramInvocation
- - 39 DeleteProgramInvocation



Client Server Code MMS Service
- - 40 Start
- - 41 Stop
- - 42 Resume
- - 43 Reset
- - 44 Kill
- - 45 GetProgramInvocationAttributes
- - 46 ObtainFile
- - 47 DefineEventCondition
- - 48 DeleteEventCondition
- - 49 GetEventConditionAttributes



Client Server Code MMS Service
- - 50 ReportEventConditionStatus
- - 51 AlterEventConditionMonitoring
- - 52 TriggerEvent
- - 53 DefineEventAction
- - 54 DeleteEventAction
- - 55 GetEventActionAttributes
- - 56 ReportEventActionStatus
- - 57 DefineEventEnrollment
- - 58 DeleteEventEnrollment
- - 59 AlterEventEnrollment




Users Guide MMS Services Supported
Windows SCADA ICCP
11-4

Client Server Code MMS Service
- - 60 ReportEventEnrollmentStatus
- - 61 GetEventEnrollmentAttributes
- - 62 AcknowledgeEventNotification
- - 63 GetAlarmSummary
- - 64 GetAlarmEnrollmentSummary
- - 65 ReadJ ournal
- - 66 WriteJ ournal
- - 67 InitializeJ ournal
- - 68 ReportJ ournalStatus
- - 69 CreateJ ournal



Client Server Code MMS Service
- - 70 DeleteJ ournal
- - 71 GetCapabilityList
- - 72 FileOpen
- - 73 FileRead
- - 74 FileClose
- - 75 FileRename
- - 76 FileDelete
- - 77 FileDirectory
- - 78 Unsolicited
X X 79 InformationReport



Client Server Code MMS Service
- - 80 EventNotification
- - 81 AttachToEventCondition
- - 82 AttachToSemaphore
X X 83 Conclude
- - 84 Cancel

Potrebbero piacerti anche